我可以在不使用 ARFragment 的情况下在 ARCore 中旋转 3D 对象吗?

Can I rotate a 3D object in ARCore without using ARFragment?

我正在使用 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 度。