这是我可以用来放置模型的代码段。
private void addNodeToScene(ArFragment fragment, Anchor createAnchor, ModelRenderable renderable) {
AnchorNode anchorNode = new AnchorNode(createAnchor);
TransformableNode transformableNode = new TransformableNode(fragment.getTransformationSystem());
transformableNode.setName("box");
transformableNode.setRenderable(renderable);
transformableNode.setParent(anchorNode);
fragment.getArSceneView().getScene().addChild(anchorNode);
transformableNode.setOnTapListener((hitTestResult, motionEvent) -> {
if(callback != null) {
callback.onGiftClick(hitTestResult.getNode());
}
});
transformableNode.select();
}
但是一旦放置了模型,我就可以移动模型。
放置模型后,有什么方法可以禁止用户移动模型?
答案 0 :(得分:0)
用一个节点替换您的TransformableNode。
TransformableNode transformableNode = new TransformableNode(fragment.getTransformationSystem());
成为
Node myNode = new Node();
您将无法再移动它
有些节点与TransformableNodes的工作方式不同->构造函数为空。
答案 1 :(得分:0)
如果你想保留 TransforableNode,你可以使用以下标志
transformableNode.getTranslationController().setEnabled(false);