brunch

You can make anything
by writing

C.S.Lewis

마야 Mel 스크립트 활용하기.

왕초보도 할 수 있는 마야 Mel Scripting

가끔 원통형 모양의 모델을 만들 때 (크리스털 꽃병, 가로등, 술통) 여러 번 반복해서 Extrude (면 돌출)를 해야할 때가 있습니다. 이 때 Extrude를 실행하면 GUI가 뜨게 되는데요, 여기서 하나하나 Offset값이랑 Thickness 등등을 설정하면 귀찮을 때가 많습니다. 예를 들어서 24개의 폴리곤 Face(면)에 반복해야하는 작업이라고 생각해보세요.


이럴 때는 Mel Script를 쓰면 시간단축을 할 수 있습니다. GUI를 통해서 하는 게 아니라 한 번 스크립트로 명령만 잘 짜놓으면 그 다음부터는 버튼 하나만 누르면 GUI로 Attribute 하나하나 조작했던 것과 똑같은 작업이 적용되는 것입니다.


예시 1) 선택한 면을 Extrude 한 뒤 Offset과 local TranslateZ 값을 각각 0.05, 0.04로 주는 작업을 할 때.


polyExtrudeFacet -constructionHistory 0 -offset 0,05 -localtranslateZ 0.04;


라고 Script Editor 창에 입력한 뒤 그 라인만 왼쪽 마우스 버튼 드래그 선택 해주고 미들 마우스 버튼으로 선택한 뒤 그대로 끌어서 Shelf Bar에 가져다 놓으면 끝입니다. 


Syntax (문법/구문) 설명

polyExtrudeFacet은 polyExtrude를 뜻하는 function입니다. 즉 y = f(x)에서 f(x)를 뜻하는 것입니다.

그 뒤로 대시가 붙고 파라미터라고 볼 수 있는 Attribute들인 constructionHistory, offset, localtranslateZ가 나옵니다.

-어트리뷰트이름 어트리뷰트의값문법으로 읽을 있습니다. -offset 0.05는 offset 값을 0.05로 해서 적용하겠다는 뜻입니다. 각 어트리뷰트는 띄어쓰기를 통해서 구분짓습니다. 

-constructionHistory는 불리언 타입으로 true 또는 false 값을 가집니다. true면 1, false면 0입니다. 0일 경우에는 History에 Extrude 기록이 남지 않는다는 뜻입니다.

-offset은 offset, -localtranslateZ는 페이스노멀의 방향과 같은 Z축에서의 이동 값을 의미합니다.


나중에 똑같은 작업을 처리할 때 원하는 효과 적용할 Face들 선택하고 Shelf 바에 만들어 둔 버튼 한 번만 누르면 되는 것이죠.


또 다른 예시들을 남깁니다!

브릿지 오프셋 값을 6으로한 브릿지 효과를 주고싶을 경우

polyBridgeEdge -constructionHistory 0 -ch 1 -divisions 0 -twist 0 -taper 1 -curveType 0 -smoothingAngle 30 -direction 1 -sourceDirection 0 -targetDirection 0 -bridgeOffset 6.0;


프리즈 트랜스포메이션 이후 선택 오브젝트 히스토리 삭제를 동시에 하고 싶을 때

makeIdentity -apply true -t 1 -r 1 -s 1 -n 1 -pn 1;

DeleteHistory;


긴 글 읽어주셔서 감사합니다. 즐거운 작업시간 되세요!


작가의 이전글 2024년 2월 13일의 물결.
작품 선택
키워드 선택 0 / 3 0
댓글여부
afliean
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari