【问题标题】:Image Processing place 3D model on image by using ArFragment using ARCore and Android Studio图像处理通过使用 ARCore 和 Android Studio 的 ArFragment 在图像上放置 3D 模型
【发布时间】:2020-01-01 12:05:51
【问题描述】:

我已经通过检测图像成功实现了 3D 模型,但问题是我必须旋转并放大和缩小该模型。我也通过使用 transformabel 方法实现了它,但问题是每当我触摸该模型时,它都会翻倍。

          AnchorNode anchorNode = new AnchorNode(anchor);
          arFragment.getArSceneView().getScene().addChild(anchorNode);
          TransformableNode transformableNode = new TransformableNode(arFragment.getTransformationSystem());
          transformableNode.setParent(anchorNode);
          transformableNode.setRenderable(modelRenderable);
          transformableNode.select();

]1

【问题讨论】:

    标签: java android-studio arcore android-augmented-reality


    【解决方案1】:

    移动可渲染对象的一种常用方法(可能是撰写本文时的主要方法)是实际删除它,然后在新位置或姿势中创建它 - 例如:

    1. 删除现有的可渲染对象并从场景中移除
    2. 创建一个新锚并将其放置在您想要的姿势/位置
    3. 将可渲染对象添加到您刚刚创建的新锚点

    在代码中:

    private AnchorNode moveRenderable(AnchorNode markAnchorNodeToMove, Pose newPoseToMoveTo) {
            //Move a renderable to a new pose
            if (markAnchorNodeToMove != null) {
                arFragment.getArSceneView().getScene().removeChild(markAnchorNodeToMove);
            } else {
                Log.d(TAG,"moveRenderable - markAnchorNode was null");
                return null;
            }
            Frame frame = arFragment.getArSceneView().getArFrame();
            Session session = arFragment.getArSceneView().getSession();
            Anchor markAnchor = session.createAnchor(newPoseToMoveTo.extractTranslation());
            AnchorNode newMarkAnchorNode = new AnchorNode(markAnchor);
            newMarkAnchorNode.setRenderable(andyRenderable);
            newMarkAnchorNode.setParent(arFragment.getArSceneView().getScene());
    
            return newMarkAnchorNode;
        }
    

    以上是一个示例应用程序的编辑摘录 - 您可以在此处找到完整的源代码并对其进行修改等:https://github.com/mickod/LineView

    另一个注意事项 - 在 AR 环境中放大和缩小可渲染对象可能会有些混乱。可渲染对象就像现实世界中的一个对象,因此您可以谈论放大和缩小整个相机视图,或者让可渲染对象本身变大或变小。

    【讨论】:

    • 我说的是让可渲染对象本身变大或变小。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-03-23
    • 2021-12-27
    • 1970-01-01
    • 1970-01-01
    • 2012-09-18
    • 2015-06-09
    • 1970-01-01
    相关资源
    最近更新 更多