私はqt3dが新しく、複数のモデルでシーンのユーザー入力を処理する必要があります。 特に、私はユーザーがクリックしたモデルを見つける必要があります。 mouseHandlerとObjectPickerを試してみましたが、うまくいかないようです。誰かが例を持っていますか?例についてはQt3d qmlユーザー入力
は私が持っている場合:
Entity {
Camera { id:camera ... }
FirstPersonCameraController {
camera:camera
}
components: [
RenderSetting{
activeFrameGraph:ForwardRenderer {
camera:camera
clearColor:"transparent"
},
InputSetting{}
]
MouseDevice {
id:mouse1
sensitivity:0.1
}
SphereMesh {
id:sphereMesh
radius: 3
}
PhongMaterial{
id:material
}
Entity {
id:sphere1
components: [sphereMesh,material]
MouseHandler {
sourceDevice:mouse1
onClicked: console.log("[sphere 1] clicked"
}
}
Entity {
id:sphere2
components: [sphereMesh,material]
MouseHandler {
sourceDevice:mouse1
onClicked: console.log("[sphere 2] clicked"
}
}
}
は私が球をクリックした場合sphere1やsphere2上のユーザーのクリックが、私はすべてのログを見ることができないかどうかを区別する必要があります!
いくつかのコードを提供できますか?あなたは何をモデルと呼んでいますか?たぶん[MouseArea](http://doc.qt.io/qt-5/qml-qtquick-mousearea.html)はあなたを助けることができます – user2436719
私の投稿を編集! –
私はこれも初めてですが、あなたはあなたのエンティティのコンポーネントとして 'ObjectPicker'を置く必要があると思います。 – Matt