#1 

12-08-2010 15:44:40

khenissi
Membres
Date d'inscription:
Messages: 8
IP: 41.227.25.176
Courriel

bonjour
moteur irrlicht
langage c++
comment fixé la camera toujours derrière le mesh
par exemple je conduit une voiture et la camera toujours suit la voiture
si vous avez des lien vers de exemples ou tuto.

merciii


Hors ligne


#2 

12-08-2010 19:59:25

thoced
Membres
Date d'inscription:
Messages: 65
IP: 91.179.42.134
Courriel

Pour cela, tu récupères la position de l'objet que tu veux suivre.

ex: OBJET->getPosition();

ensuite tu utilises cette position pour la caméra à laquellle tu ajoutes un offset (généralement tu augmentes légèrement la hauteur (axe y)) afin que la caméra soit juste un peu au dessus de l'objet que tu suis. Ensuite il faut trouver le moyen de reculer la caméra derrière l'objet que tu suis même si celui-ci tourne sur son axe. Pour cela, récupère le vecteur direction (vecteur target) de l'objet en question. Le vecteur direction c'est la direction dans laquelle l'objet regarde. Soustrais ensuite l'offset avec ce vecteur que tu multiplieras par une valeur que tu choisiras (afin que la caméra soit plus ou moins reculée)

ex: OBJECT\\\\_position + core::vector3df(0,0.5f,0) - OBJECT\\\\_target * val;

ensuite il faut que la caméra regarde dans la direction de l'objet donc tu modifies la variable target de la caméra et tu lui assignes la position de l'objet à suivre.

Voilà j'espère être clair.

a+


Hors ligne


#3 

13-08-2010 05:25:28

nabouill
Membres
Avatar de nabouill
Date d'inscription:
Messages: 242
IP: 79.92.236.47
Courriel

moi j'aurais plutôt dit,
à l'initialisation: tu mets ta camera fils de ta voiture, ensuite tu repositionnes un peu la camera en arrière/hauteur.
Puis: à chaque frame un petit "camera->setTarget(voiture->getposition());" devrait suffire.

A+

Hors ligne


#4 

13-08-2010 08:07:17

thoced
Membres
Date d'inscription:
Messages: 65
IP: 91.179.10.249
Courriel

oui tu as raison nabouill mais quand tu dis que tu repositionnes la caméra en "Arrière" qu'est ce que l'arrière en 3d ?? c'est tout relatif


Quand tu dis camera fils, tu veux donc dire que toutes les transformations que l'objet va subir seront répercutées sur la caméra ?


Hors ligne


#5 

14-08-2010 00:45:11

mr.xyz
Membres
Date d'inscription:
Messages: 15
IP: 86.196.202.213
Courriel

En effet tout est relatif à un repère, et la technique de nabouill sert justement a changer le repère de ton mesh. Si le mesh (la caméra en l'occurrence) devient fils d'un autre, les transformations (rotation ici) seront répercutées sur la caméra.


Hors ligne


#6 

14-08-2010 03:04:04

Magun
Administrateurs
Avatar de Magun
Date d'inscription:
Messages: 910
IP: 188.93.45.30
Courriel  Site web

moi en tout cas tout ce que je dis c'est que vous n'avez pas beaucoup cherché, le même "problème" a été posé il n'y a pas une semaine et encore d'autre fois avant

http://irrlicht-fr.org/viewtopic.php?id=1403
http://irrlicht-fr.org/viewtopic.php?id=742
http://irrlicht-fr.org/viewtopic.php?id=416 ... etc

Hors ligne


Options Liens officiels Caractéristiques Statistiques Communauté
Préférences cookies
Corrections
irrlicht
irrklang
irredit
irrxml
Propulsé par Django
xhtml 1.0
css 2.1
884 membres
1440 sujets
11337 messages
Dernier membre inscrit: Saidov17
165 invités en ligne
membre en ligne: -
RSS Feed