'2017/06/16'에 해당되는 글 2건

  1. 2017.06.16 CentOS 에서 Maya 바탕화면 icon 바꾸기
  2. 2017.06.16 Maya Python Script - Undo chunk 사용하기
posted by cimple 2017. 6. 16. 17:08

Maya 뿐만 아니라 많은 아이콘들을 마음에 드는 이미지들로 바꿀 수 있다.

일단 아이콘을 선택해서 우클릭 > 속성(p) 에 들어가면 다음과 같은 화면을 볼수 있는데

여기에서 나는 이미 아이콘 이미지를 바꾸어 놓았는데, 왼쪽 위의 마야 아이콘 이미지가 있는 곳을 클릭하면 사용자 아이콘을 선택할 수 있는 창이 뜨게 된다.

인터넷에서 Maya 아이콘을 다운로드 받아서 여기에 연결시켜서 쓰면 된다. 다른 아이콘들도 이쁘게 해서 쓰도록 하자.



posted by cimple 2017. 6. 16. 11:17

참고링크 :

http://discourse.techart.online/t/undo-in-maya-mel-python-execution/2431/7


Maya 의 Undo 는 Queue 에 순차적으로 작업을 쌓는다. 그런데 Undo 를 수행했을 때 Undo 를 여러번 누르는 것이 아니라 Ctrl+Z 한번에 Undo 되기를 원하는 작업이 있을 수 있다. 예를 들어 오브젝트를 한 백개쯤 복사했다던가.... 이럴 때 Undo 를 100번을 눌러야 한다면 그닥 유쾌한 일이 아닐 것이다.


Maya command 의 undoInfo() 가 해당 기능을 가지고 있다.

import maya.cmds as mc
mc.undoinfo(openChunk=True)
#Code Code Code
mc.undoinfo(closeChunk=True)

위 #Code Code Code 에 해당하는 부분을 한방에 Undo 시켜 주는 것이다.

그런데 openChunk 기능은 maya 의 UndoQueue 를 직접 건드리는 상당히 위험한 기능이기 때문에 안전하게 사용할 필요가 있다. 그래서 열고 닫기가 확실하게 진행될 수 있도록


mc.undoInfo(openChunk=True)
try:
    #CODE CODE CODE
finally:
    mc.undoInfo(closeChunk=True)

위와 같은 방식으로 작성하는 것이 안전하다.

또는 다음과 같이 context class 를 만들어서


class UndoContext(object):
    def __enter__(self):
        mc.undoInfo(openChunk=True)
    def __exit__(self, *exc_info):
        mc.undoInfo(closeChunk=True)

with UndoContext():
    ... your code here....

UndoChunk 가 안전하게 열고 닫히도록 할 수도 있다.