Message #11585
Sujet: Gestion du ragdoll [sous bullet] avec l'animation
| Type | Date | Auteur | Contenu |
|---|---|---|---|
| Création du message | 09-04-2015 22:15:03 | Magun |
uhm bon, ça manque d'info !
déjà perso j'oublirais directement l'animation du personnage par la physique, c'est un troue sans fin tu va réinventer la roue ça va être une merde pas possible très peut d'api sont disponible pour faire ceci c'est par pour rien smartbody est le seul disponible en opensource il te suffi de regarder les vidéos ou sont concurrent (oublier le nom basé sur physx) maniére réaliste par exemple le saut. bon normalement ta du commencer a faire les base de ton applications je ne rentre pas dedans (ou demande) actuelement je suppose que ton personnage est géré par btPairCachingGhostObject / btKinematicCharacterController pour l'animation donc il ne te suffi que de custommisé btKinematicCharacterController tu regarderas particulierement du coter de btKinematicCharacterController::PostStep normalement a ce moment un raycast est opéré. donc quand tu jump, tu déclenche ton animation de saut quand la distance avec le sol commence a dimminuer tu fait ton animation de chute et tu te trouve une distance minimal pour déclencher ta 3ème animation d'atérissage ou mort et puis quand ton perso tombe étant donner que c'est ton raycast qui détermine l'animation ça te feras l'effect escompter en même temps subir des chocs je pensse que j'opterais pour un skellette basé sur des btGhostObjects pour la détection "d'intrusion physique" un peut comme des teste d'intersection aabbox en mieux le plus dure va être de faire du binding d'animation, une classe permetant de jouer l'animation de ton personnage tout en permettant d'animer "manuelement" partielement ou non le skellette en fonction du choc et de ça direction et je te renvoie encore une fois sur l'inverse kinematics ou d'activer partielement le ragdoll pour le membre avec les contraintes sur le reste (utiliser btOverlapFilterCallback pour forcer la collision avec les btCollisionShape des btGhostObject du ragdoll) en admetant que le choc tue le personnage a ce moment, la oui tu auras bien ton ragdoll se cacher dérriére des murs en "général", ont va plutot dire dans les dernier jeux commerciaux à grand titre comme le budget est souvent négliger et qu'il sont contraint a des délais cette fonction, c'est plus ou moin une finte comme souvent en prog ... tu remarquera d'ailleur que le gameplay t'oblige a intéragir pour te cacher donc ce sont des zones prédeterminées, donc au final ce n'est qu'un jeux d'animation différent en ajoutant un test d'intersection avec la surface en question pour le point n°2 (btOverlapFilterCallback) voila voila, bon si malgré tout ça ne te convien pas et que tu souhaite faire de l'animation par la physique dans ce cas tu peut te diriger vers l'exemple <<Dynamic Control>> de bullet tu regarde et nous en reparleron j'ai beusoin de faire plus d'approfondissement, mais y a moyen que ce soit pas mal enfin bon, je ne suis peut-être pas le mieux placer pour ce sujet ps: utilise bullet 3.x grande différence de performance avec la 2.x et meilleur gestion du thread-safe |
| Options | Liens officiels | Caractéristiques | Statistiques | Communauté |
|---|---|---|---|---|
|
Préférences cookies Corrections |
![]() ![]() ![]() ![]() |
Propulsé par Django xhtml 1.0 css 2.1 |
884 membres 1440 sujets 11337 messages |
Dernier membre inscrit: Saidov17 115 invités en ligne membre en ligne: - RSS Feed |