#flutter #dart #arcore
#flutter #dart #arcore
Вопрос:
Я использую Flutter для AR-приложения. Это часть кода, которая создает сферу:
void _addSphere(ArCoreController controller) {
final material = ArCoreMaterial(
color: Color.fromARGB(255, 66, 134, 244),
);
final sphere = ArCoreSphere(
materials: [material],
radius: 0.1,
);
final node = ArCoreNode(
shape: sphere,
position: plane.pose.translation vector.Vector3(0, 0, -1.5),
);
controller.addArCoreNodeWithAnchor(node);
}
Из того, что я видел в нескольких других примерах, эта часть, похоже, работает. Но я получаю сообщение об ошибке plane
is not defined, которое, как я понял, нигде не определено в коде.
Имеет смысл, что это часть некоторого пакета, который необходимо импортировать, например, векторный пакет:
import 'package:vector_math/vector_math_64.dart' as vector;
Но я не могу найти plane
его эквивалент.
Что я делаю не так?
Ответ №1:
Да, вы не определили, что такое плоскость. Вам нужно сделать что-то вроде этого.
void _handleOnPlaneTap(List<ArCoreHitTestResult> hits) {
final hit = hits.first;
_addSphere(arCoreController, hit);
}
void _addSphere(ArCoreController controller, ArCoreHitTestResult plane) {
final material = ArCoreMaterial(
color: Color.fromARGB(255, 66, 134, 244),);
final sphere = ArCoreSphere(
materials: [material],
radius: 0.1,);
final node = ArCoreNode(
shape: sphere,
position: plane.pose.translation vector.Vector3(0, 0, -1.5),
);
controller.addArCoreNodeWithAnchor(node);
}