TransformableNode手势不适用于SceneView中的对象。
我正在SceneView上显示3D对象。当我将TransformableNode作为SceneView场景的第一个孩子提供时,则没有任何手势起作用。但是,当用ArFragment做同样的事情时,一切都会起作用。
private fun createNode() {
val transformationSystem = makeTransformationSystem()
val transformableNode = TransformableNode(transformationSystem).apply {
rotationController.isEnabled = true
scaleController.isEnabled = true
translationController.isEnabled = false // not support
setParent(sceneView.scene)
this.renderable = myRenderable // Build using CompletableFuture
}
sceneView.scene.addOnPeekTouchListener { hitTestResult, motionEvent ->
transformationSystem.onTouch(hitTestResult, motionEvent)
}
}
private fun makeTransformationSystem(): TransformationSystem {
val selectionVisualizer = FootprintSelectionVisualizer()
return TransformationSystem(resources.displayMetrics, selectionVisualizer)
}
我希望SceneView中的3D对象能够使用TransformabelNode中使用的手势进行旋转和缩放。
答案 0 :(得分:1)
在创建节点后尝试调用transformableNode.select()
(或在apply块中简单调用select()
)。