[DirectX] L'eternel probleme de collision

Le côté programmation du développement d'un jeu vidéo.

L'eternel probleme de collision

Messagepar Thanos » 29 Avr 2006, 02:47

Salut les gars,

Tout est un peu pres révélé dans le titre.
Apres avoir modeliser un batiment (avec 3ds),j'ai charger le mesh du Rez de chausser. Et je dois avec la camera me promener dans ce decor.

Tout ce passe bien, mais le problème c'est que la caméra traverse les murs (ce qui est pas top)

Sauriez vous comment faire pour arranger cela.

Précision :
Je developpe (ce qui étonneras certain lol) en C# avec DirectX.
Avatar de l’utilisateur
Thanos
Hello World, I'm new !
 
Messages: 187
Inscription: 11 Avr 2005, 10:22

Messagepar Loulou » 29 Avr 2006, 06:04

Rien de magique, il te faut avant tout lire quelques bons tutoriels de gestion de collision. C'est comme si tu nous disais "je viens de modéliser mon niveau sous 3DSMax, comment l'afficher à l'écran ?".
Loulou
Hello World, I'm new !
 
Messages: 702
Inscription: 10 Avr 2005, 12:00

Messagepar CodyX » 29 Avr 2006, 12:15

Sauf si tu veux pas te fouler tu peux aussi utiliser un moteur physique.
:00000023:
Avatar de l’utilisateur
CodyX
Hello World, I'm new !
 
Messages: 526
Inscription: 10 Avr 2005, 02:52

Messagepar Skurcey » 29 Avr 2006, 15:43

COmme je suis nul en math, il suffirait de te trouver la forumle:
teste de bounding box puis teste si la ligne de deplacement de la camera traverse un polygone
Avatar de l’utilisateur
Skurcey
Hello World, I'm new !
 
Messages: 123
Inscription: 14 Avr 2005, 19:31

Messagepar Thanos » 29 Avr 2006, 23:15

Oui Loulou, je le fait en parallele, d'ailleurs j'en ai trouver un qui semble bien, mais faut que je finisse de le lire.

CodyX a écrit:Sauf si tu veux pas te fouler tu peux aussi utiliser un moteur physique.
:00000023:


lol merci du conseil. Mais je ne dois le faire que sous Dx, mais si ta des moteur physique interagissant avec dx et dotnet a proposer je veux bien.


sinon pour l'instant j'utilise la mé]
IntersectInformation I;
bool b = monMesh.Intersect(MaCameraPosition, new Vector(maCameraPosition.X,0,0), out I);
if(b)
Console.WriteLine(I.Dist.Tostring());

[/code]
Alors le probleme que j'ai c'est que la distance avec le Mesh semble erroné (exemple j'arrive a 0 bien avant de rencontrer le mur).
De plus il fonctionne pas en continu, je veux dire par la qu' étant toujours entre les 4 murs b = false.

Sauriez vous si je me trompe du tout au tout, si je suis un gros benet, ou si j'ai fait une erreur.

en vous remerKiant
Avatar de l’utilisateur
Thanos
Hello World, I'm new !
 
Messages: 187
Inscription: 11 Avr 2005, 10:22

Messagepar Loulou » 30 Avr 2006, 06:26

new Vector(maCameraPosition.X,0,0)

Ici ça devrait être un vecteur normalisé représentant la direction de déplacement de la caméra. Ca ne semble pas le cas.
Loulou
Hello World, I'm new !
 
Messages: 702
Inscription: 10 Avr 2005, 12:00


Retourner vers Programmation

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 10 invités

cron