插件设置平面

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);
     }