애니메이터

3dsmax 스프링 콘트롤러 전체 on/off 본문

Graphics/3ds Max

3dsmax 스프링 콘트롤러 전체 on/off

욤마핫 2014. 5. 19. 13:53

핑속님의 글 링크 : http://cafe.naver.com/pinksox/2171

 

혹시나 없어질지 모를 상황을 위해서 내용 편집 및 첨부 합니다.

 

요즘 리깅을 기초부터 다시 살펴보고 있는데요,

CG Academy Intermediate Rigging 3편에서 유용한 내용이 나와서 공유를 합니다.

 

http://cafe.naver.com/pinksox/2111 이쪽 게시물에서 스프링전체적으로 On/Off 하는 리깅을 이미 소개 했었습니다만

이번에 소개하려는 스크립트 방식보다 상당히 복잡한 방법이였습니다.

(물론 스크립트 방식과 위의 리깅 방식에는 서로 조금씩 장단점이 있긴 합니다)

 

씬 내에 모든 스프링을 꺼주는 스크립트는 이렇습니다.

 

for o in objects do
(
 try(
  o.pos.controller[#spring].steps=0
 )catch()
 try(
  o.pos.controller.steps=0
 )catch()
)

 

그리고 씬 내에 모든 스프링을 다시 켜주는 스크립트는 이렇습니다

 

for o in objects do
(
 try(
  o.pos.controller[#spring].steps=2
 )catch()
 try(
  o.pos.controller.steps=2
 )catch()
)

 

똑같은 내용인데 steps 숫자만 2 에서 0 으로 변하는 스크립트입니다.

 

steps 숫자는 맥스가 스프링 연산을 할 때 몇프레임마다 스프링 연산을 할건지 정하는 숫자인데요

컨트롤러에서는 접근할 수 없는 숫자였는데 스크립트로는 접근이 가능하네요.

 

 

MAXScript 메뉴에서 새 스크립트 창을 열어줍니다.

 

그리고 스크립트를 붙여넣구요..

 

 

이 상태에서 Ctri + E 를 눌러서 스크립트를 실행해도 되긴 합니다.

steps 숫자가 2 이기 때문에 스프링On 해주는 기능이 될 것입니다.

(전체 선택 후 Shift + Enter 를 해도 됩니다)

 

 

 이렇게 스크립트로 접근하는 스프링 스위치는

스크립트를 알거나 툴바를 설치할 줄 알아야 한다는 단점이 있지만

가볍고 어떤 경우에도 적용할 수 있다는 장점이 있습니다.

 

리깅으로 스프링 스위치를 달아줄 경우에는

리거가 따로 있고 애니메이터에게 '이게 스위치입니다' 라고 알려주기만 하면 되지만

리깅 자체가 좀 복잡해지는 경향이 있습니다.

 

어떤 방식으로 할지는 작업자의 선택이겠죠.