#0 

05-12-2009 19:26:38

Ma77hTheG33k
Membre
Date d'inscription: 31-08-2009
Messages: 13

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


#1 

05-12-2009 19:32:17

TUpac
Habitué
Date d'inscription: 08-09-2009
Messages: 387
Corrections: 1

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);

Dernière modification par TUpac (05-12-2009 19:36:24)


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

Hors ligne


#2 

05-12-2009 20:43:47

Ma77hTheG33k
Membre
Date d'inscription: 31-08-2009
Messages: 13

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

Hors ligne


#3 

07-12-2009 19:09:49

Ma77hTheG33k
Membre
Date d'inscription: 31-08-2009
Messages: 13

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


#4 

07-12-2009 19:14:30

X3liF
Membre
Date d'inscription: 27-10-2009
Messages: 19

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


#5 

07-12-2009 19:39:26

Ma77hTheG33k
Membre
Date d'inscription: 31-08-2009
Messages: 13

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 ^^

Dernière modification par Ma77hTheG33k (07-12-2009 19:40:52)

Hors ligne


#6 

07-12-2009 22:16:14

firnafin
Abonné
Date d'inscription: 31-03-2007
Messages: 150

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


#7 

08-12-2009 10:05:32

TUpac
Habitué
Date d'inscription: 08-09-2009
Messages: 387
Corrections: 1

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 ;)


"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é
Corrections
irrlicht
irrklang
irredit
irrxml
xhtml 1.0
css 2.1
Propulsé par FluxBB
Traduit par FluxBB.fr
881 membres
1426 sujets
11116 messages
Dernier membre inscrit: Bidule
12 invités en ligne
Aucun membre connecté
RSS Feed