#1 

05-12-2009 18:26:38

Ma77hTheG33k
Membres
Date d'inscription:
Messages: 13
IP: 90.61.104.71
Courriel

Bonjour
Je suis entrain de développer un FPS et je me pose une question : Comment peut-on faire des impacts de balles sur les murs ?
J'avais penser a coller un billboard sur un mur en passant par le systeme de picking : la line3df renvoierait un vector3df qui est le point sur le scene node déctécté, mais une telle fonction n'existe pas sad
Merci beaucoup pour votre aide.
Ma77hTheG33k


Hors ligne


#2 

05-12-2009 18:32:17

TUpac
Membres
Avatar de TUpac
Date d'inscription:
Messages: 387
IP: 88.168.3.38
Courriel

est tu sur que ça n'existe pas ?

Code c++ :

const core::line3d<f32> line= smgr->getSceneCollisionManager()->getRayFromScreenCoordinates( device->getCursorControl()->getPosition(), camera);
smgr->getSceneCollisionManager()->getCollisionPoint(line, node->getTriangleSelector(), posimpact, triangle, nodetouch);


"Si vous ne partagez pas votre stabilité avec les pauvres, les pauvres partageront leur instabilité avec vous."

Hors ligne


#3 

05-12-2009 19:43:47

Ma77hTheG33k
Membres
Date d'inscription:
Messages: 13
IP: 90.61.104.71
Courriel

Ah ouais, effectivement, merci ! Mais est-ce qu'un billboard c'est le mieux pour faire ca ?


Hors ligne


#4 

07-12-2009 18:09:49

Ma77hTheG33k
Membres
Date d'inscription:
Messages: 13
IP: 83.199.207.225
Courriel

Personne ne connait un meilleur moyen d'afficher une image dans un espace en 3d sauf billboard ? (sinon elle sera tourné tout le temps vers ma camFPS)


Hors ligne


#5 

07-12-2009 18:14:30

X3liF
Membres
Date d'inscription:
Messages: 19
IP: 84.101.239.119
Courriel

je me trompe peut etre mais le billboard permet de faire qu'une face soit devant quelqque chose... après si tu l'orientes pas devant la caméra mais juste devant le mur ca devrait pouvoir le faire...

je débute avec irrlicht donc je ne pas si c'est possible malheuresment avec irrlicht mais la réponse m'intéresse le cas échéant ^^


Hors ligne


#6 

07-12-2009 18:39:26

Ma77hTheG33k
Membres
Date d'inscription:
Messages: 13
IP: 83.199.207.225
Courriel

Je crois pas, quand je place un Billboard, il est tjrs en face de la caméra....
Ptetre qu'on pourrais ruser avec setPosition, mais ca marche pas (chez moi en tout cas). Ca doit être ma méthode ^^


Hors ligne


#7 

07-12-2009 21:16:14

firnafin
Membres
Avatar de firnafin
Date d'inscription:
Messages: 150
IP: 93.9.158.7
Courriel

récupère la normale a la collision avec getCollisionPoint . cree un quad texturé ac l'image d'impact . oriente le selon la normale et place le a la position de la collision.
un quad c'est un petit carré : 4 vertex 2 triangles ( 2D donc ) vivant dans un espace 3D , implemente toi une custom scene node ou utilise un moteur de particule qui les gerent .


Hors ligne


#8 

08-12-2009 09:05:32

TUpac
Membres
Avatar de TUpac
Date d'inscription:
Messages: 387
IP: 80.13.52.19
Courriel

Tu peux créer un mesh mono-polygone que tu oriente selon la normale du mesh sur lequel tu le pose. (comme les decals d'half-life). Ou y'a les shaders .... plus dur wink


"Si vous ne partagez pas votre stabilité avec les pauvres, les pauvres partageront leur instabilité avec vous."

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
153 invités en ligne
membre en ligne: -
RSS Feed