2014년 6월 23일 월요일

matrix값을 변환해보자.

import pymel.core as pm
import pymel.api as pa
import pymel.util as ut

# get Matrix

getList = pm.selected()[0]
getMatrix = getList.wm.get()
matrixV = pa.MTransformationMatrix(getMatrix.asMatrix())

# transform
transV = matrixV.translation(pa.MSpace.kWorld)

# rotate

rotateV = matrixV.eulerRotation()

# scale

sctUt = pa.MScriptUtil()
sctUt.createFromList([0, 0, 0], 3)
scaleV = sctUt.asDoublePtr()
matrixV.getScale(scaleV, pa.MSpace.kWorld)

# list

worldTanslate = [transV.x, transV.y, transV.z]
wolrdRotate = [ut.degrees(rotateV.x), ut.degrees(rotateV.y), ut.degrees(rotateV.z)]
worldScale = [pa.MScriptUtil.getDoubleArrayItem(scaleV, i) for i in range(0,3)]

print worldTanslate
print wolrdRotate
print worldScale

xform이 있는데 굳이 왜 써야 할까 하는 생각이 드네.

라벨: ,

0개의 덧글:

댓글 쓰기

에 가입 댓글 [Atom]

<< 홈