Blender:Appliquer une rotation et appliquer une orientation

Ce wiki a été archivé en 2018.

Le nouveau wiki se trouve à: ressources.labomedia.org

Les fonctionnalités sont désactivées: vous pouvez faire une recherche sur Google site:https://wiki.labomedia.org et découvrir La Labomedia.

De Centre de Ressources Numériques - Labomedia
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