#------------------------------
# Track2ipo script V1
# (c) jmsoler 23/11/2006
#
# Ce script cree des courbes ipo a partir
# des mouvements de rotation effectue par
# l'objet du link quand il traque un autre
# objet uniquement sur un constrain de type
# trackto . Le old Trackto donnera des resultats
# chaotiques
#------------------------------
import Blender
from Blender import Object, Ipo, BezTriple, Mathutils
time= Blender.Get('curtime')
OBJ=Blender.link
if OBJ and not OBJ.getScriptLinks('Redraw'):
if OBJ.getIpo() :
IPO=OBJ.getIpo()
else:
IPO=Ipo.New('Object', 'ObIpo')
IPO.addCurve('RotX')
IPO.addCurve('RotY')
IPO.addCurve('RotZ')
OBJ.setIpo(IPO)
MATRIX=OBJ.getMatrix()
EULER=MATRIX.toEuler()
ipoX = IPO[Ipo.OB_ROTX]
point=BezTriple.New()
point.pt=(time, EULER[0]/10.0)
point.handleTypes=[1,1]
ipoX.append(point)
ipoY = IPO[Ipo.OB_ROTY]
point=BezTriple.New()
point.pt=(time, EULER[1]/10.0)
point.handleTypes=[1,1]
ipoY.append(point)
ipoZ = IPO[Ipo.OB_ROTZ]
point=BezTriple.New()
point.pt=(time, EULER[2]/10.0)
point.handleTypes=[1,1]
ipoZ.append(point)
|