MEL 에서 헷갈리기 쉬운 것이 move 명령의 플래그 -wd 와 -os 등이다. -a 와 -r, -wd, -os 등을 정리해보자.
move 명령은 주로 다음과 같이 쓴다.
물체를 절대좌표 원점으로 옮기기
- move -a 0 0 0 $obj; // -a 는 -absolute 의 약자.
물체를 vector로 나타낸 절대좌표 $pos 로 옮기기
- move -a ($pos.x) ($pos.y) ($pos.z) $obj;
물체를 현재위치에서 relative하게 object space 기준으로 z축 -3 만큼 이동
- move -relative -objectSpace -worldSpaceDistance 0 0 -3 $obj;
- move -r -os -wd 0 0 -3 $obj; // (위와 동일)
-worldSpaceDistance 라는 플래그는 object space 에서 scale 등이 적용되었을 때 world space 내의 distance 와 object space 내의 distance 가 다르기 때문에 사용된다.
Object space 단위의 distance 로 움직이려면 -wd 를 빼고 다음과 같이 하면 된다. Scale 하고 rotate 한 오브젝트로 시험해보면 쉽게 알 수 있다.
- move -r -os 0 0 -3 $obj;
주의할점은 물체를 월드 상의 특정 위치에 위치시키려할때
- setAttr ($obj + ".translateX") ($pos.x); setAttr ($obj + ".translateY") ($pos.y); setAttr ($obj + ".translateZ") ($pos.z);
와 같이 하지 말고 move 명령을 -a 플래그와 함께 써야 쓰라는 것이다. 또는 MMM 의
- GeomUtil_SetPos();
를 쓰면 편하다.
No comments:
Post a Comment