这是我可以用来放置模型的代码段。
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();
}
但是一旦放置了模型,我就可以移动模型。
放置模型后,有什么方法可以禁止用户移动模型?
最佳答案
用Node替换您的TransformableNode。
TransformableNode transformableNode = new TransformableNode(fragment.getTransformationSystem());
变成
Node myNode = new Node();
您将无法再移动它
与TransformableNodes->构造函数为空相反,Nodes的某些工作方式有所不同。