Re: Programmer un archer à cheval

Posté par Redstar le 13/11/2019 19:34:48
Je pense avoir compris:

D'abord, j'ai compris que je devais dépendre d'une variable pour faire mes modifications.

rot_eul[2] = rot_eul[2] + math.radians(-rotcam3['rot_arcX'])


Donc, pour modifier un seul axe, je dois y mettre la variable qui corresponds et l'incrémenter avec delta. Je pensais que cette variable ne servait à rien. J'avais tord.

Pour répondre à ta question:

- On convertis la matrice XYZ de l'objet "rotcam" en euler.
- On modifie les coordonnées de l'axe souhaité (qui sont du même type, du coup).
- On applique les changements mais on reconvertis en matrice avant.

Je l'interprète comme ça avec mes mots.

Là, ce que j'ai fais (bout de code au début), c'est dire: "Tu prends les coordonées Z actuelles et tu rajoutes la valeur que je te demande, puis tu applique tout".

Donc, en résumer, si je veux modifier les 3 axes séparément, je dois donc créer une variable associée à chacun des axes.

Et, comme le cube joueur se réfère à un empty qui, lui-même, suit la rotation de "rotcam" (par parentage), c'est comme si on appliquait les nouvelles coordonnées à ce même cube mais indirectement (on pourrai le faire s'il n'y avait pas de "track to").

Je retenterai une dernière fois sur la monture pour l'axe Z...

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