我试图将一个大型 3D 对象(从 .obj 文件生成)放在相机前,但无法做到。将命中结果作为中心点来放置模型。有什么方法可以完成吗?
最佳答案
以下代码将在相机前方 1M 处放置一个 anchor - 您可以根据需要调整深度:
// Place the anchor 1m in front of the camera.
Log.d(TAG,"adding Andy in fornt of camera");
Frame frame = arFragment.getArSceneView().getArFrame();
Session session = arFragment.getArSceneView().getSession();
Anchor newMarkAnchor = session.createAnchor(
frame.getCamera().getPose()
.compose(Pose.makeTranslation(0, 0, -1f))
.extractTranslation());
AnchorNode addedAnchorNode = new AnchorNode(newMarkAnchor);
addedAnchorNode.setRenderable(andyRenderable);
addedAnchorNode.setParent(arFragment.getArSceneView().getScene());
你可以在这里看到一个完整的工作示例——它使用一个按钮来添加节点而不是使用命中结果,这也可能对你有用:https://github.com/mickod/LineView
关于android - 在 ARCore Android 中将对象放置在相机前面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56679208/