pymaxwell - rotation d'un objet

Pour vous simplifier la vie
Avatar de l’utilisateur
Rodman
SL17
Messages : 1055

Re: pymaxwell - rotation d'un objet

Message 20 mars 2013, 20:52

Cela parait clair du coup; la fonction isPosRotScaleInitialized sert à savoir si on a touché aux fonctions situé au dessus dans la doc. Mais ça reste tordu car on ne peut pas vérifier facilement l'angle de l'objet. :?

Quand tu dis au rendu, ça marche aussi dans le Fire j'imagine, non ?

Avatar de l’utilisateur
Roch
Messages : 7578
Localisation : Marseille - France
Contact :

Re: pymaxwell - rotation d'un objet

Message 20 mars 2013, 22:49

j'ai pas testé dans le fire. je regarderai avec mon exemple.

Tout ça va être nettoyé pour les prochaines versions parce que là c'est quand même un peu le zouk.

Normalement si tu mets le pivot à jour c'est correct dans Studio mais j'ai eu des variations d'échelle

Code : Tout sélectionner

# Rotate base around Y axis.
      angle_s = sin(radians(angle));
      angle_c = cos(radians(angle));

      newAxis = Cvector()
      x = base.xAxis.x()*angle_c + base.zAxis.x()*angle_s;
      y = base.xAxis.y()*angle_c + base.zAxis.y()*angle_s;
      z = base.xAxis.z()*angle_c + base.zAxis.z()*angle_s;
      newAxis.assign(x,y,z);
      base.xAxis = newAxis;
      pivot.xAxis = newAxis;

      x = base.zAxis.x()*angle_c - base.xAxis.x()*angle_s;
      y = base.zAxis.y()*angle_c - base.xAxis.y()*angle_s;
      z = base.zAxis.z()*angle_c - base.xAxis.z()*angle_s;
      newAxis.assign(x,y,z);
      base.zAxis = newAxis;
      pivot.zAxis = newAxis;

      base.xAxis.normalize();
      base.zAxis.normalize();
      pivot.xAxis.normalize();
      pivot.zAxis.normalize();

      # Set new camera position, target and up vector
      object.setBaseAndPivot(base,pivot);

Avatar de l’utilisateur
Rodman
SL17
Messages : 1055

Re: pymaxwell - rotation d'un objet

Message 21 mars 2013, 03:10

Je n'ai pas bien compris la différence entre la "base" et "le pivot", s'il y avait un schéma cela serait plus simple à comprendre. En mathématiques "une base" c'est l'équivalent d'un "référentiel" en physique, pourquoi faut-il faire pivoter la base et le pivot en même temps ?

Oui c'est un peu le zouk, mais j'espère bien que cela sera mieux documenté dans une prochaine version et que le Studio se verra doter d'un module d'animation. :wink:
Je dis cela car animer avec un code Python cela reste complexe pour la majorité des utilisateurs d'une part car il faut savoir un peu programmer et qu'il faut aussi faire des mathématiques. :mrgreen:

Répondre