맥스스크립트 기본

Controller Key Functions(1)

스크립팅하는애님 2019. 10. 31. 16:37
728x90
반응형

안녕하세요.

애니메이터가 들려주는 맥스 스크립트의 스크립팅하는 애님입니다.

저의 본업이 본업인지라 오늘은 오브젝트의 키를 조작하는 방법에 대해서 알아보겠습니다. ㅎㅎ

 

우선 맥스 뷰포트에서 박스를 하나 만들고 시작하겠습니다.

 

 

맥스를 열고 별다른 작업을 하지 않았다면 현재 프레임은 0프레임 일 겁니다.

 

기본적으로 0프레임에 타임슬라이더가 위치 합니다.

 

addNewKey <controller> <time> [#select]

오브젝트에 키를 추가하는 기능입니다.

우선 0 프레임에 키를 생성하겠습니다.

 

1
addNewKey $'Box001'.controller 0
cs

 

 

0프레임에 키가 생겼습니다.

그런데 키를 보니까 Position, Rotation, Scale의 키가 모두 생성됐습니다.

필요에 따라 각각의 키를 따로 생성할 수 있습니다.

10 프레임에는 Position, 20 프레임에는 Rotation, 30 프레임에는 Scale키를 생성하겠습니다.

다음과 같이 MAXScript Editer에 입력해보세요.

 

1
2
3
addNewKey $'Box001'.pos.controller 10
addNewKey $'Box001'.rotation.controller 20
addNewKey $'Box001'.scale.controller 30
cs

 

예쁘게 생성됐습니다. ㅎㅎ

 

뒤에 #select를 추가하면 키를 생성함과 동시에 선택을 합니다.

50 프레임에 키를 하나 만들고 선택을 해보겠습니다.

 

1
addNewKey $'Box001'.controller 50 #select
 
cs

 

 

 

deleteKey <controller> <index>

바로 아실 수 있는 키를 삭제하는 명령입니다.

index값을 입력하여 해당 키를 삭제합니다.

30 프레임에 있는 키를 삭제해 보겠습니다.

30 프레임은 4번째 키입니다.

다음과 같이 입력하고 실행하 봅니다.

 

1
deleteKey $'Box001'.controller 4
cs

 

아쉽게도 에러가 납니다. ㅎㅎ

deleteKey에서는 바로 controller를 쓸 수 없고 각각 pos, rotation, scale을 맞게 입력해야 합니다.

30 프레임은 scale입니다.

스케일 키로 따지면 두 번째 키이기 때문에 다음과 같이 입력하고 실행해 봅시다.

 

1
deleteKey $'Box001'.scale.controller 2
cs

 

키가 삭제 되었습니다.

 

이런 방식으로 일일이 키를 삭제 하기 너무 번거롭습니다.

다음 명령어를 보시죠.

 

 

deleteKeys <controller> [#allKeys | #selection]

여러 개의 키를 모두 지우거나 선택하여 지울 수 있는 명령어입니다.

#allKeys : 모든 키를 삭제합니다.

#selection : 선택한 키를 삭제합니다.

위 두 옵션을 생략한다면 #allKeys로 인식을 합니다.

 

#selection을 먼저 테스트하겠습니다.

우선 10 프레임과 20 프레임의 키를 선택해줍니다.(키를 선택하는 명령은 다음에 알아보도록 하겠습니다.)

 

 

이 상태에서 다음과 같이 입력하고 실행해 보겠습니다.

 

1
deleteKeys $'Box001'.controller #selection
cs

 

잘 삭제 됐습니다. ㅎㅎ

 

다음으로는 모든 키를 삭제하겠습니다.

다음과 같이 입력하고 실행해 보겠습니다.

 

1
deleteKeys $'Box001'.controller #allKeys
cs

 

다시 원래 상태로 됐습니다.

 

 

오늘은 여기까지 이야기하겠습니다.

Key를 조작하는 명령어들이 많이 있기 때문에 한동안은 이것에 대해서 이야기하겠습니다.

728x90
반응형