我正在使用Sceneform
开发一个简单的Android应用,其中,当用户点击3D对象时,我必须旋转它。我知道我可以在ArFragment
中做到这一点,但我不想为此目的使用增强现实。我只是将Sceneform
用作3D查看器,并且用户唯一需要的交互是点击显示以旋转模型。不使用ARCore
的增强现实的恶作剧就可以吗?
是的!您应仅在布局中使用SceneView
组件,而不要使用<fragment...
块,从这一点来看,一切与ArFragment相同。关于旋转:如果需要,您仍然可以使用TransformableNode
(https://developers.google.com/ar/reference/java/sceneform/reference/com/google/ar/sceneform/ux/TransformableNode),它不与ArFragment绑定,也可以在水龙头上实现基本旋转:
node.setOnTapListener { hitTestResult, motionEvent ->
node.localRotation = Quaternion.multiply(node.localRotation, Quaternion(Vector3.up(), 180f))
}
这会将您的节点旋转180度。