[DirectX] Collisions avec skinned mesh

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

Collisions avec skinned mesh

Messagepar Ruffi » 16 Oct 2005, 01:12

Hi guys !

Je suis en train de travailler sur les skinned mesh, en utilisant le tutorial de Luna ( http://www.moon-labs.com/resources/d3dx_skinnedmesh.pdf ) et le livre "The Cg tutorial".

Je suis plus particulierement en pleine reflection sur comment je vais gerrer tout ça, specialement pour les collisions. :00000002:
Jusqu'a present, je faisait que des collisions a base d'AABB non optimisé avec des meshs statics, ce qui etait simple à implementer, mais loin d'etre satisfaisant.
Dans l'ideal, j'aimerai utiliser des OBB pour chaque bones de mon mesh, afin de le faire bouger les boites en meme temps que le skelette. Par contre, j'ai rien trouvé dans la doc des mesh au format .x qui permet de recuperer ces infos.

Du coup, j'ai eu l'idée de passer par une autre methode. Je fait un premier test avec la bounding sphere ou la bounding box du mesh, puis j'utilise une version du mesh en low-poly pour tester la collision grace a un algo de collision par facette (en suposant que j'arrive a faire un algo assez rapide, ou en utilisant une lib specialisé comme ColDet).

Le probleme : c'est que pour cela je doit manipuler le vertex buffer, ne serait-ce que pour calculer la nouvelle BoundingBox ( D3DXComputeBoundingBox() ). Pour les perfs, c'est pas le mieux. :(
Et meme si je le fait, ça ne me donera pas la version skinned, vu que tout est calculé dans le vertex shader. Ca serai domage de devoir calculer le skinned mesh via le CPU rien que pour pouvoir recuperer une version du VB skinned. Et ça m'etonerai que les lib de collisions tiennent comptent des modifications des vertices par un shader.

Eclairez moi, je m'arrache les cheveux rien qu'en reflechissant à comment je vais gerrer ça. :00000032:
Avatar de l’utilisateur
Ruffi
Hello World, I'm new !
 
Messages: 114
Inscription: 10 Avr 2005, 12:56
Localisation: Loin...

Messagepar ShadowTzu » 25 Oct 2005, 21:04

je ne peu pas vraiment t'aider mais essaye de regarder du coté des moteurs physique (ragdoll), sur ce dont ils ont besoin pour simuler les corps, et regarder du coté de leur forum il doit surement y avoir des réponse intéressante :p

Perso j'en suis pas encore la, je ne pense pas en être la avant bien longtemps :D
Déja du OBB ça sera déjà pas mal :p
Avatar de l’utilisateur
ShadowTzu
Hello World, I'm new !
 
Messages: 144
Inscription: 12 Juil 2005, 20:40
Localisation: 70

Messagepar Squall.c » 13 Mar 2007, 20:48

Salut,

J'avais le même problème que toi et j'ai du laisser de coté le projet à cause des études mais j'espère pouvoir m'y remettre un tout petit peu.

Alors j'aimerai savoir si tu as trouvé une solution.
Squall.c
Hello World, I'm new !
 
Messages: 21
Inscription: 04 Aoû 2005, 03:14


Retourner vers Programmation

Qui est en ligne

Utilisateurs parcourant ce forum: Yahoo [Bot] et 15 invités

cron