如何在 SceneView 中使用所有手势的 TransformableNode?

How to use TransformableNode in SceneView with all gestures?

TransformableNode 手势不适用于 SceneView 中的 object。

我正在 SceneView 上显示 3D object。当我将 TransformableNode 作为第一个 child 提供给 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 object 能够使用 TransformabelNode 中使用的手势进行旋转和缩放。

尝试在创建节点后调用 transformableNode.select()(或者只需在应用块中调用 select())。