3.3. Déplacement de la caméra
Qt 3D propose un contrôleur qui implémente toute une série d'interactions avec la
souris et le clavier : OrbitCameraController. Son principe est de faire tourner la
caméra autour d'un objet à visualiser (la caméra est "en orbite", d'où le nom). Son
utilisation est extrêmement simple : il suffit d'ajouter ce composant Qt Quick au niveau
de l'entité racine et de faire référence à la caméra à contrôler de la sorte. En déplaçant
la souris avec l'un ou l'autre bouton enfoncé, on contrôlera la vue autour de l'objet.
Entity {
id: root
components: [
RenderSettings { … },
InputSettings { … }
]
OrbitCameraController {
camera: camera
}
// …
}
D'autres contrôleurs sont déjà définis. Par exemple, dans un jeu, on préférera faire
avancer le personnage dans un monde (plutôt que le faire tourner autour d'un objet).
Dans ce cas, on peut utiliser FirstPersonCameraController, qui fonctionne selon le
même principe qu'OrbitCameraController pour l'implémentation. En déplaçant la souris
avec le bouton gauche enfoncé, on déplacera la caméra sur un plan vertical.
Entity {
id: root
components: [
RenderSettings { … },
InputSettings { … }
]
FirstPersonCameraController {
camera: camera
}
// …
468
Qt 3D propose un contrôleur qui implémente toute une série d'interactions avec la
souris et le clavier : OrbitCameraController. Son principe est de faire tourner la
caméra autour d'un objet à visualiser (la caméra est "en orbite", d'où le nom). Son
utilisation est extrêmement simple : il suffit d'ajouter ce composant Qt Quick au niveau
de l'entité racine et de faire référence à la caméra à contrôler de la sorte. En déplaçant
la souris avec l'un ou l'autre bouton enfoncé, on contrôlera la vue autour de l'objet.
Entity {
id: root
components: [
RenderSettings { … },
InputSettings { … }
]
OrbitCameraController {
camera: camera
}
// …
}
D'autres contrôleurs sont déjà définis. Par exemple, dans un jeu, on préférera faire
avancer le personnage dans un monde (plutôt que le faire tourner autour d'un objet).
Dans ce cas, on peut utiliser FirstPersonCameraController, qui fonctionne selon le
même principe qu'OrbitCameraController pour l'implémentation. En déplaçant la souris
avec le bouton gauche enfoncé, on déplacera la caméra sur un plan vertical.
Entity {
id: root
components: [
RenderSettings { … },
InputSettings { … }
]
FirstPersonCameraController {
camera: camera
}
// …
468
