首页 > 解决方案 > 插件设置飞机

问题描述

我正在将 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它的等价物。

我究竟做错了什么?

标签: flutterdartarcore

解决方案


是的,你还没有定义飞机是什么。你需要做这样的事情。

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

推荐阅读