[英]How to recognize rotation gesture with ARcore scene (non AR)?
我想在非 AR 場景中旋轉渲染對象。 TransformableNode 只允許我水平旋轉節點,但我想在 Y 和 Z 軸上旋轉它們。
我的布局中有一個 SceneView,我在他的場景上設置了一個 onTouchListener 來管理手勢。
我該如何管理這些手勢?
private fun addNode(model: ModelRenderable?){
val ts = TransformationSystem(resources.displayMetrics, FootprintSelectionVisualizer())
model.let {
node = TransformableNode(ts)
node.setParent(scene)
node.localPosition = Vector3(0f, -2f, -7f)
node.localScale = Vector3(3f, 3f, 3f)
node.worldScale = Vector3(5f, 5f, 5f)
node.renderable=it
node.rotationController.isEnabled = true
node.scaleController.maxScale = 2f
node.scaleController.minScale = 0.1f
node.translationController.isEnabled = true
scene.addChild(node)
scene.setOnTouchListener { hitTestResult, motionEvent ->
Log.d("ontouchScene", motionEvent.toString())
ts.onTouch(hitTestResult, motionEvent )
true
}
}
}
想象一下旋轉手勢。 您將兩根手指放在屏幕上並以相反的方式移動它們。 因此,要制作類似的功能,您需要獲取兩個觸點並檢查它們的運動是否為圓形且方向相反。
你會在這里找到如何做到這一點的好例子Android 兩指旋轉
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.