Created
December 25, 2019 04:51
-
-
Save redglasses67/5d09e31916ce3d6ee11b361db07d6eb7 to your computer and use it in GitHub Desktop.
TRSの値を取得、変更する
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import maya.api.OpenMaya as om2 | |
selList = om2.MGlobal.getActiveSelectionList() | |
mDagPath = selList.getDagPath(0) | |
transform = om2.MFnTransform(mDagPath) | |
trs = transform.translation(om2.MSpace.kTransform) | |
print("translation = %s" %trs) | |
trsW = transform.translation(om2.MSpace.kWorld) | |
print("translation World = %s" %trsW) | |
transform.setTranslation(om2.MVector(1, 2, 3), om2.MSpace.kTransform) | |
# 絶対値の移動ではなく、現在値から加算移動したい場合は translateBy を使用する | |
# rotateBy や scaleBy もあります。 | |
transform.translateBy(om2.MVector(1, 2, 3), om2.MSpace.kTransform) | |
rot = transform.rotation() | |
print("rot = %s" %rot) | |
# WorldSpaceでのrotationは第2引数のasQuaternionをTrueにしないとエラーがでる | |
rotW = transform.rotation(om2.MSpace.kWorld, True) | |
print("rot World = %s" %rotW) | |
transform.setRotation(om2.MEulerRotation(30, 45, 60), om2.MSpace.kTransform) | |
# Scale は Translate と同じ3つの数値が取得できるのですが、MVectorではなくfloatのlistが返ってきます | |
scl = transform.scale() | |
print("scale = %s - type = %s" %(scl, type(scl))) | |
# 取得時と同じで、セットする場合もfloatのリストでセットします | |
transform.setScale([1.5, 2.5, 3.5]) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment