插件设置平面
Plugin setting a plane
我正在将 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
未定义,我认为这是因为它未在代码中的任何位置定义。
它是需要导入的某些包的一部分是有道理的,例如矢量包:
import 'package:vector_math/vector_math_64.dart' as vector;
但我找不到 plane
等价物。
我做错了什么?
是的,你还没有定义飞机是什么。
你需要做这样的事情。
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);
}
我正在将 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
未定义,我认为这是因为它未在代码中的任何位置定义。
它是需要导入的某些包的一部分是有道理的,例如矢量包:
import 'package:vector_math/vector_math_64.dart' as vector;
但我找不到 plane
等价物。
我做错了什么?
是的,你还没有定义飞机是什么。 你需要做这样的事情。
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);
}