Projet

Général

Profil

Gestion caméras » Historique » Version 6

Anonyme, 23/03/2015 19:03

1 1 Anonyme
h1. Gestion caméras
2 2 Anonyme
3 5 Anonyme
La gestion des caméras a été difficile. En effet, nous avons souvent buté sur une erreur de nombre de caméras : nous devions en créer plusieurs, afin d'avoir différents points de vue, malheureusement, nous ne pouvions pas.
4
C'est d'abord ce que nous nous sommes dits. Cependant, en réalité, nous ne créons pas les caméras, nous changeons seulement la vue (direction et position) de la caméra. Il était donc impossible de créer une vue de caméra sans la séparer des autres par un switch, par exemple, sinon la probabilité de tomber sur le cas où l'on se retrouverai avec deux vues de caméras à deux endroits différents pourrait arriver. Et évidemment, pour une caméra donnée, on ne peut pas regarder à deux endroits différents à la fois.
5
Nous avons donc eu le choix entre simplement séparer les vues, et créer des viewports, afin de contenir les vues de chaque caméra. Cela nous permettait, par exemple, de voir différentes vues de caméras, en une seule et même fois.
6 6 Anonyme
Exemple de viewports sur une autre application Raydium :
7
8 1 Anonyme
!viewportsPetit.png!
9
10 6 Anonyme
Cela aurait donc pu se faire en faisant simplement plusieurs viewports secondaires qui prendraient toute la taille de la fenêtre, et, en cliquant sur les boutons, nous aurions pu choisir le viewport que l'on souhaiterait regarder.
11 1 Anonyme
Etant donné que notre but était de changer complètement la vue, nous avons décidé de simplement utiliser une seule et unique caméra, dans la vue principale (que l'on pourrait logiquement appeler viewport principal).
12 5 Anonyme
Ainsi, lorsque l'on clique sur les touches pour changer de vue, la caméra principale change de position et de direction de vue (l'endroit qu'elle regarde), mais reste la même, cela étant possible grâce à un simple switch qui, en fonction de la touche sur laquelle on clique, qui concerne le choix des caméras, on peut changer la valeur vérifiée, et ainsi appliquer une vue différente.
13
Voici les vues possibles de la caméra :
14 1 Anonyme
Vue avant (la caméra est positionnée à l'endroit où le potentiel pilote devrait se trouver : dans la nacelle du support) :
15 5 Anonyme
!Camera1HeliPetit.Png!
16 1 Anonyme
17 6 Anonyme
Vue côté droit :
18 5 Anonyme
!Camera2HeliPetit.Png!
19 3 Anonyme
20 5 Anonyme
Vue côté gauche :
21
!Camera3HeliPetit.Png!
22 2 Anonyme
23 5 Anonyme
Vue à la 3ème personne (la caméra est placée derrière l'hélicostat, légèrement en hauteur, tout en gardant une vue d'ensemble de devant) :
24
!Camera4HeliPetit.Png!
25 2 Anonyme
26 5 Anonyme
Caméra en "freemove" : La caméra est déplaçable comme on le souhaite (avec les touches aux flèches directionnelles du clavier) et on peut regarder dans la direction que l'on veut (grâce à la souris) :
27
!Camera5HeliPetit.Png!
28 2 Anonyme
29
30 5 Anonyme
Pour cela, nous avons utilisé plusieurs façon de faire : 
31 2 Anonyme
32 5 Anonyme
La fonction raydium_camera_look_at() qui permet de simplement placer une caméra à une position, et de lui attribuer une direction de vue. Elle ne peut pas se déplacer et reste bloquer sur la direction qu'on lui a donné.
33
34
La fonction raydium_camera_freemove(), qui va permettre, grâce aux touches directionnelles du clavier, de se déplacer dans l'espace de la simulation, et de regarder dans la direction donnée par la position du pointeur de la souris.
35
36
Enfin, la fonction raydium_ode_element_camera_inboard_name(), qui va permettre à la caméra, en donnant le nom d'un objet, de se déplacer en fonction de la position de ce dernier. La seule chose à ajouter, sera la poisition même de la caméra par rapport à l'objet (en arrière par exemple), et la direction dans laquelle la caméra devra regarder (derrière l'objet, par exemple).