繁体   English   中英

如何使用 Flutter 和 ARKit 构建自定义 object?

[英]How can I build with Flutter and ARKit a custom object?

我使用版本为 1.0.5 https://pub.dev/packages/arkit_plugin 的插件 arkit_plugin

我的Flutter版本是2.5.3

该插件在其自定义对象的文档中有一个示例。 因此我复制粘贴了这个例子来测试它。 在我的情况下, object 根本没有显示。 它是 a.dae 文件,我也尝试使用 a.obj 文件,但它也不起作用。

class ArkitSceneView extends StatefulWidget {
  const ArkitSceneView({Key? key}) : super(key: key);

  @override
  State<ArkitSceneView> createState() => _ArkitSceneViewState();
}

class _ArkitSceneViewState extends State<ArkitSceneView> {
  late ARKitController arkitController;
  ARKitReferenceNode? node;

  @override
  void dispose() {
    arkitController.dispose();
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return ARKitSceneView(
        onARKitViewCreated: onARKitViewCreated
    );
  }

  void onARKitViewCreated(ARKitController arkitController) {
    this.arkitController = arkitController;
    arkitController.addCoachingOverlay(CoachingOverlayGoal.horizontalPlane);
    arkitController.onAddNodeForAnchor = _handleAddAnchor;
  }

  void _handleAddAnchor(ARKitAnchor anchor) {
    if (anchor is ARKitPlaneAnchor) {
      _addPlane(arkitController, anchor);
    }
  }

  void _addPlane(ARKitController controller, ARKitPlaneAnchor anchor) {
    if (node != null) {
      controller.remove(node!.name);
    }
    node = ARKitReferenceNode(
      url: 'models.scnassets/dash.dae',
      scale: vector.Vector3.all(0.3),
    );
    controller.add(node!, parentNodeName: anchor.nodeName);
  }
}

您是否尝试将 model 放在 Xcode 中? 像这样- 在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM