#0 

12-08-2010 17:44:40

khenissi
Petit nouveau
Date d'inscription: 11-08-2010
Messages: 8

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


#1 

12-08-2010 21:59:25

thoced
Membre
Date d'inscription: 02-08-2010
Messages: 65

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+

Dernière modification par thoced (12-08-2010 22:01:47)

Hors ligne


#2 

13-08-2010 07:25:28

nabouill
Abonné
Date d'inscription: 17-09-2009
Messages: 242
Corrections: 1

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+


mes sites: www.manga-vf.fr et www.series-vf.fr

Hors ligne


#3 

13-08-2010 10:07:17

thoced
Membre
Date d'inscription: 02-08-2010
Messages: 65

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 ?

Dernière modification par thoced (13-08-2010 10:29:28)

Hors ligne


#4 

14-08-2010 02:45:11

mr.xyz
Membre
Date d'inscription: 01-07-2010
Messages: 15

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


#5 

14-08-2010 05:04:04

Magun
SleekThink Producer
Lieu: Punakha
Date d'inscription: 18-11-2007
Messages: 904
Corrections: 2
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é
Corrections
irrlicht
irrklang
irredit
irrxml
xhtml 1.0
css 2.1
Propulsé par FluxBB
Traduit par FluxBB.fr
Analysé par
880 membres
1424 sujets
11113 messages
Dernier membre inscrit: mandrifidy
34 invités en ligne
Aucun membre connecté
RSS Feed