|
Sujet : [3D]moteur |
| youdontcare |
kick >> pour ta question sur l'animation, ça se regroupe en deux grandes catégories (et non pas 3) :
* sauvegarder toutes les positions intermédiaires et interpoler entre : c'est ce que font quake 1/2/3. comme tu peux voir, ça marche plutôt bien, mais vu que c'est compressé (une coordonnée xyz = 3 bytes), ça se déforme à fond lors de l'anim. ça reste très fluide car lorsque tu rejoues, tu peux interpoler linéairement (ou mieux si tu veux te prendre la tête) entre la keyframe précédente et la suivante.
* utiliser un squelette et animer ce squelette pour déformer l'objet : c'est ce que fait half life, la dernière version de quake 3, vampire, etc. c'est plus petit en mem, plus précis pour l'anim, ça bouffe plus de cpu. l'avantage est que tu peux animer des bones à la main pour un perso : lui faire tourner la tête, bouger la bouche, etc.
le plus simple est de prendre un format existant et de le relire histoire d'avoir une idée de comment ça marche. pour le premier type, tu as de la doc + des sources sur les formats quake 1/2/3, tu peux les relire sans problèmes. pour le second type, c'est pareil. je n'ai pas tâté du côté d'half life, par contre j'ai relu les persos de vampire (the masquerade redemption blah blah), et c'est très instructif - un fichier avec un squelette + des informations de LOD, plus un fichier par animation. tu peux trouver la doc dans la sdk de vampire. et si tu n'as aucun des jeux, tu peux chopper leurs démos ou les persos créés par les fans. |
| youdontcare |
kick >> pour ta question sur l'animation, ça se regroupe en deux grandes catégories (et non pas 3) :
* sauvegarder toutes les positions intermédiaires et interpoler entre : c'est ce que font quake 1/2/3. comme tu peux voir, ça marche plutôt bien, mais vu que c'est compressé (une coordonnée xyz = 3 bytes), ça se déforme à fond lors de l'anim. ça reste très fluide car lorsque tu rejoues, tu peux interpoler linéairement (ou mieux si tu veux te prendre la tête) entre la keyframe précédente et la suivante.
* utiliser un squelette et animer ce squelette pour déformer l'objet : c'est ce que fait half life, la dernière version de quake 3, vampire, etc. c'est plus petit en mem, plus précis pour l'anim, ça bouffe plus de cpu. l'avantage est que tu peux animer des bones à la main pour un perso : lui faire tourner la tête, bouger la bouche, etc.
le plus simple est de prendre un format existant et de le relire histoire d'avoir une idée de comment ça marche. pour le premier type, tu as de la doc + des sources sur les formats quake 1/2/3, tu peux les relire sans problèmes. pour le second type, c'est pareil. je n'ai pas tâté du côté d'half life, par contre j'ai relu les persos de vampire (the masquerade redemption blah blah), et c'est très instructif - un fichier avec un squelette + des informations de LOD, plus un fichier par animation. tu peux trouver la doc dans la sdk de vampire. et si tu n'as aucun des jeux, tu peux chopper leurs démos ou les persos créés par les fans. |