【发布时间】:2020-05-14 12:33:27
【问题描述】:
我想知道如何在按钮单击时重置节点的缩放比例, 我添加了一个 TransformableNode,它具有根据用户手势旋转和缩放的功能
我需要的是在所有事务之后,如果用户单击一个按钮,我需要将模型重置为其初始大小和旋转,
旋转正常,但缩放没有任何效果,我们该怎么做? 以下是我用来重置节点的方法
private fun resetModel(){
modelDragTransformableNode.localRotation = Quaternion.axisAngle(Vector3(0f, 0f, 0f), 00f)
modelDragTransformableNode.localScale = Vector3(1f, 1f, 1f)
}
将节点添加到场景视图的方法
private fun addNodeToScene(model: ModelRenderable) {
if (sceneView != null) {
val transformationSystem = makeTransformationSystem()
modelDragTransformableNode = NewDragTransformableNode(transformationSystem)
modelDragTransformableNode.localPosition = Vector3(0f, -0.3f, -2.0f)
modelDragTransformableNode?.renderable = model
val collisionShape: Box = modelDragTransformableNode.collisionShape as Box
sceneView.getScene().addChild(modelDragTransformableNode)
val collisionShape2: Box = modelDragTransformableNode.collisionShape as Box
modelDragTransformableNode.select()
sceneView.getScene()
.addOnPeekTouchListener { hitTestResult: HitTestResult?, motionEvent: MotionEvent? ->
transformationSystem.onTouch(
hitTestResult,
motionEvent
)
}
}
}
【问题讨论】:
标签: android transformation arcore sceneview