Blender:Appliquer une rotation et appliquer une orientation

De Centre de Ressources Numériques - Labomedia
Révision de 17 octobre 2017 à 06:02 par Serge (discussion | contributions) (Appliquer une rotation)

(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à : navigation, rechercher


  • Appliquer une rotation: c'est faire tourner un object d'une valeur d'angle en degré ou en radians.
  • Appliquer une orientation: c'est définir les valeurs d'orientation de l'objet, soit définir la matrice 3x3 d'orientation de cet objet.

Appliquer une rotation

C'est ce que fait l'actuator Motion: on tourne d'une certainer valeur sur x, y, z en radians. Orientation 01.png

applyRotation sur www.tutorialsforblender3d.com


import GameLogic
# Get controller owner
owner = GameLogic.getCurrentController().owner
alpha = 0.0 
beta = 45.0
gamma = 0.0
# k = pi/180
k = 0.0174
# set amount to rotate
rotation = [alpha*k, beta*k, gamma*k]
# use world axis
local = False
# move game object
owner.applyRotation( rotation, local)

L'objet tourne ici de 45° sur l'axe du world y

Appliquer une Orientation

J'aime bien Euler

Python 2.6

Proposé par wiki.gameblender.org.


# for a realistic angle
alpha = 50.0
beta = 10.0
gamma = 100.0
# Thanks to Siegel May 29th, 2009
from Blender import Mathutils
#set objects orientation with x, y, z in degrees
euler = Mathutils.Euler(alpha, beta, gamma)
#apply to objects world orientation
owner.worldOrientation = euler.toMatrix()

Python 3

import mathutils
#set objects orientation with alpha, beta, gamma in radians
rot_en_euler = mathutils.Euler([alpha, beta, gamma])
#apply to objects world orientation if ok
owner.worldOrientation = rot_en_euler.to_matrix()

ou

import mathutils
#set objects orientation with alpha, beta, gamma in radians
rot_en_euler = mathutils.Euler([alpha, beta, gamma])
#apply to objects world orientation if ok
owner.localOrientation = rot_en_euler.to_matrix()

Ressources