la position de la caméra indique où se situe la caméra dans la scène ;
la direction de la caméra est donnée par le point vers lequel elle est dirigée
dans la scène ;
le champ de vue s'exprime en degrés et indique à quel point la vue est
large : à position égale, plus le champ de vue est large, plus la caméra voit une
grande partie de la scène.
Au sens strict, une caméra est une entité qui possède un composant CameraLens,
mais il n'y a pas besoin de ce niveau de complexité ici : Camera fournit une
abstraction largement suffisante à un certain nombre de besoins, y compris pour des
mouvements du champ de vision.
2.1. Entités et composants de la scène
Ensuite, on peut s'occuper d'un des deux éléments de la scène — le tore, par exemple.
Celui-ci doit avoir une géométrie fixée (le tore), un matériau (sa couleur, sa manière de
réagir à l'éclairage) et une position (indiquée par une transformation). Ainsi, l'entité
représentant le tore devra avoir trois composants.
Entity { // Racine
components: [ … ]
Entity { // Tore
components: [
TorusMesh {
radius: 5.5 rings: 100 slices: 20 }, PhongMaterial { ambient: Qt.darker("maroon",
1.5) }, Transform { scale3D: Qt.vector3d(1.5, 1.5, 0.5) rotation:
fromAxisAndAngle(Qt.vector3d(1, 0, 0), 45) } ] } // … }
Le tore est défini par une géométrie, qui correspond au composant TorusMesh. Le
paramètre principal est radius, qui définit le rayon du tore. Ensuite, les paramètres
rings et slices définissent le nombre de polygones composant le tore : si ce
nombre est trop faible, l'apparence ne sera pas satisfaisante (le tore ne sera pas
rond, mais anguleux) ; s'il est trop élevé, la scène prendra beaucoup de temps de
calcul.
456
Précédent

- 457/494

Suivant