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

时间:2018-05-16 06:46:33

标签: android augmented-reality arcore sceneform

我正在使用Transformable节点并能够设置最小和最大比例值。但我使用的是默认尺寸更大的模型,因此我必须使用手势来缩小尺寸。

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

4 个答案:

答案 0 :(得分:6)

我认为你可以在设置实际的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();

我使用0.1f表示x,y,z值,然后看起来更好

答案 1 :(得分:0)

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

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

TransformableNode node = new TransformableNode(arTS);
node.setRenderable(modelRenderable);
node.getScaleController().setMinScale(0.2f);
node.getScaleController().setMaxScale(0.2f);
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();

答案 2 :(得分:0)

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

答案 3 :(得分:0)

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