Historique des modifications - Message

Message #11585

Sujet: Gestion du ragdoll [sous bullet] avec l'animation


TypeDateAuteurContenu
Création du message09-04-2015 22:15:03Magun
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 mieuxsmile

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 malwink

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

Retour

OptionsLiens officielsCaractéristiquesStatistiquesCommunauté
Préférences cookies
Corrections
irrlicht
irrklang
irredit
irrxml
Propulsé par Django
xhtml 1.0
css 2.1
884 membres
1441 sujets
11339 messages
Dernier membre inscrit: Saidov17
91 invités en ligne
membre en ligne: -
RSS Feed