我已经使用 setLocalRotation 以编程方式成功地将对象旋转 90 度。
// Create the Anchor.
Anchor anchor = hitResult.createAnchor();
AnchorNode anchorNode = new AnchorNode(anchor);
anchorNode.setParent(arFragment.getArSceneView().getScene());
// Create the transformable andy and add it to the anchor.
TransformableNode node = new TransformableNode(arFragment.getTransformationSystem());
//set rotation in direction (x,y,z) in degrees 90
node.setLocalRotation(Quaternion.axisAngle(new Vector3(1f, 0, 0), 90f));
node.setParent(anchorNode);
node.setRenderable(renderable);
node.select();
如果您对有关四元数的更多信息感兴趣,我推荐:https ://proandroiddev.com/arcore-cupcakes-4-understanding-quaternion-rotations-f90703f3966e 。
但基本上最后一个参数是以度为单位的角度。在这种情况下 90deg -> 90f。通过矢量,您可以指定旋转方向。在示例中,我沿 x 方向 (x,y,z) -> (1f, 0, 0) 旋转。希望能帮助到你。