ARCore – 如何为 Transformable 节点设置默认比例?

ARCore – How to set default scale for a Transformable node?

我正在使用 Transformable 节点并且能够设置最小和最大比例值。但是我使用的模型的默认大小要大得多,所以我必须使用手势将其变小。

如何设置模型/可变形节点的默认比例值?

我认为您可以在设置实际的 Renderable 之前使用 TransformableNode 的 setLocalScale 方法。喜欢下面的代码

TransformableNode andy = new TransformableNode(arFragment.getTransformationSystem());
      andy.setLocalScale(new Vector3(0.1f, 0.1f, 0.1f));
      andy.setParent(anchorNode);
      andy.setRenderable(andyRenderable);
      andy.select();

x,y,z值我用了0.1f,这样看起来更好

您可以轻松地使用此代码为可变形节点设置默认比例:

TransformationSystem arTS;
arTS = MainActivity.getArFragment().getTransformationSystem();

TransformableNode node = new TransformableNode(arTS);
node.setRenderable(modelRenderable);
node.getScaleController().setMinScale(0.1999f);
node.getScaleController().setMaxScale(0.2000f);
node.setLocalScale(exhibit.getModelScale());
node.setLocalPosition(exhibit.getModelPosition());
//node.setParent(anchorNode);
node.setParent(sceneView.getScene());

node.getRotationController().setEnabled(true);
node.getScaleController().setEnabled(true);

sceneView.getScene().addChild(node);
node.select();

恕我直言 为节点设置默认比例的最简单方法是在 sfa 文件中定义 3d 模型的比例属性

在您的 .sfa 文件中,更改比例的默认值,然后加载模型并重新构建应用程序