maya python commands hint

1. 특정 object 의 절대적 위치 얻기

특정 object 의 공간상에서 절대적 위치를 얻고 싶은데, attribute 에서 얻는 것은 한계가 있습니다.
xform 명령을 사용하면 공간 상에서 절대적 위치 정보를 얻어낼 수 있습니다.

ex) mc.xform('joint18',q=True, translation=True, worldSpace=True)




2. Point 의 절대적 위치 얻기

마야에서 사용되는 포인트들 (Vertex, CV...) 등의 위치 정보는 따로 얻어낼 수 있는 커맨드가 있습니다.
pointPosition 명령을 사용하면 됩니다.

ex) mc.pointPosition('vertexName')




3. 특정 object 의 parents, child 얻기

특정 object 에 hierarchical 하게 연결된 object 의 parents 와 child 를 얻고 싶을 때에는
mc.listRelatives 를 사용하면 된다.

ex) mc.listRelatives('object', c=True)   //  child 를 얻어올 수 있다.




4. Nurbs curve 의 CV 개수 알아내기

nurbs curve 의 cv 개수는 curve 의 degree + spans 와 같다.
즉 ,

num_cv = mc.getAttr('curve1.degree') + mc.getAttr('curve1.spans')

이렇게 구할 수 있다.


5. Blendshape Node 만 있을 때 Target Shape 들의 노드 이름 알아내기
(이 커맨드들은 설영호(seolyeongho@kaist.ac.kr), 서재우(goongsang@kaist.ac.kr) 학생에 의해 작성되었음을 알립니다)

방법 1. 
listAttr -sn blendShape13.weight[0]; 

방법 2. 
string $blendShapes = "blendShape13"; 
string $names[] = `listAttr -m ($blendShapes + ".w")`; 

방법 3. 
string $temp[] = `aliasAttr -q blendShape13`; 
print $temp

방법 4. 
blendShape -q -t



6. 현재 선택한 object 의 list  받아오기

mc.ls(sl=True)


7. Pivot 옮기기

move 명령어로 옮겨줄 수 있다. 그런데 scalePivot 과 rotatePivot 을 옮겨주어야 한다. translatePivot 은 없고, rotatePivot 을 따라가는 것으로 보인다.

mc.move(0, 0, 0, 'object.rotatePivot', 'object.scalePivot')



8. 파일 Import

mc.file("D:/maya/projects/default/scenes/Woman_Rigging_Template_07.mb", i=True)

'공부 > Python' 카테고리의 다른 글

[python] Python 101 - 파이썬의 자료형  (1) 2011.01.22