Re: Programmer un archer à cheval

Posté par Bibi09 le 13/11/2019 18:25:35
Je comprends mieux pour les axes.

Par contre, j'ai beau le tourner dans tous les sens, je ne comprends pas pourquoi Z serait "bloqué" à cause de la réaffectation de "rotcam3".

D'après ce que tu as dit, et en suivant la logique suivante (peut-être fondée sur des hypothèses fausses) :

1. On récupère "rotcam3" sous forme d'Euler. Donc si Z a été modifié avant (ie. rotation du personnage), on a bien sa nouvelle valeur dans "rot_eul".
rotcam3 = scene.objects['rot_cam3']
rot_eul = rotcam3.worldOrientation.to_euler()


2. Tu changes la valeur pour l'axe Y.
rot_eul[1] = rotcam3['startRotation'][1] + math.radians(rotcam3['rot_arcY'] - 80) # definis coordonee z via radian


3. Les axes X et Z n'ont pas changé depuis (1), ils conservent donc leurs valeurs qui étaient en (1). Y a été mis à jour. On applique la matrice de rotation à "rotcam3" qui a donc changé uniquement pour l'axe Y.
rotcam3.worldOrientation = rot_eul.to_matrix() # applique le changement et converti en matrice



En tout cas, j'ai du mal à comprendre car il me manque probablement quelques infos.
Par exemple, est-ce que c'est toi qui calcules la valeur du Z ou c'est Blender qui te la fournit par le jeu des liens/contraintes ?

Pour faire plus simple peut-être, est-ce que les blends pour le cheval s'appliquent ici ? J'ai retesté ta dernière solution (post #25) et je peux bouger latéralement et de haut en bas en visant. Donc je ne suis pas sûr d'être bien au point.

Ou bien peux-tu faire un blend minimaliste avec le problème ? J'ai besoin de "tester" pour voir et surtout comprendre les bugs en fait, j'ai beaucoup de mal avec de l'abstrait (que ce soit là, dans mon taf, etc).

Cette contribution était de : http://blenderclan.tuxfamily.org/html/newbb/viewtopic.php?forum=3&topic_id=49371&post_id=579770