안녕하세요.
애니메이터가 들려주는 맥스 스크립트의 스크립팅하는 애님입니다.
지난 시간에 이어서 오늘도 오브젝트의 키를 조작하는 방법을 이야기하겠습니다.
지난번처럼 박스를 만들어 주고 적당히 키를 넣겠습니다.
스크립트 작업을 하다 보면 가끔 해당 키가 선택되었는지 확인해야 할 필요가 있습니다.
다음 명령어를 사용하면 확인 할 수 있습니다.
isKeySelected <controller> <index_integer>
Index의 값의 키가 선택이 되었는지 아닌지를 확인할 수 있으며 블린형 값을 사용합니다.
선택이 되었다면 true를 아니면 false를 출력합니다.
타임라인의 두번째 키인 10F의 키를 선택하고 다음과 같이 입력하여 실행해 봅시다.
1
2
|
isKeySelected $'Box001'.pos.controller 1
isKeySelected $'Box001'.pos.controller 2
|
cs |
1번 라인의 결과는 1번째 키를 선택하지 않았기 때문에 false가 나옵니다.
2번 라인의 결과는 2번째 키를 선택했기 때문에 true가 나옵니다.
다음으로 알아 볼것은 키의 이동입니다.
moveKeys <controller> <time> [#selection]
time에서 지정한 만큼 키를 이동합니다.
selection을 사용하면 선택한 키만 time에서 지정한 만큼 이동을 합니다.
사용하지 않으면 모든 키가 이동합니다.
현재 생성된 키는 0F ~ 50F까지 인데, 다음과 같이 입력하고 확인해 보겠습니다.
1
|
moveKeys $'Box001'.controller 10
|
cs |
selection을 사용하지 않았기 때문에 모든 키가 이동을 했습니다.
그럼 20F의 키(두번째 키)를 선택하고 -20을 넣어 0F에 이동하도록 해보겠습니다.
다음과 같이 입력을 하고 확인해 봅시다.
1
|
moveKeys $'Box001'.controller -20 #selection
|
cs |
20F의 키가 0F으로 이동했습니다.
moveKey <controller> <index_integer> <time>
위의 moveKeys가 복수개의 키를 이동시켰다면 이 명령은 하나의 키를 이동시킵니다.
60F의 키를 20F으로 이동시키겠습니다.
6번째 키 이므로 Index는 6이 됩니다.
다음과 같이 입력하고 결과를 확인해 보겠습니다.
1
|
moveKey $'Box001'.pos.controller 6 -40
|
cs |
이상하게도 결과가 다음과 같이 나오며 정상적으로 동작하지 않습니다.
-- Error occurred in anonymous codeblock; filename: ; position: 34; line: 1
-- Runtime error: Cannot move keys for this kind of controller: Controller:Position_XYZ
대충 읽어 보면 Position_XYZ형태의 controller에서는 동작하지 않는다는군요.
pos.controller를 TCB로 바꿔 보겠습니다.
이 상태에서 다시 실행해 보겠습니다.
정상적으로 이동하였습니다.
60F의 pos키가 20F으로 이동했습니다.(그래서 60F에는 빨간색 키가 없습니다.)
만약 60F의 나머지 키들도 옮기고 싶다면 TCB로 변경하여 옮기실 수 있습니다.
오늘은 키의 이동에 관해서 알아보았습니다.
다음 시간에도 Controller Key Functions에 대해서 계속 진행하겠습니다.
'맥스스크립트 기본' 카테고리의 다른 글
Constraints - Look At(1) (0) | 2019.11.08 |
---|---|
Controller Key Functions 추가 (0) | 2019.11.07 |
Controller Key Functions(5) (0) | 2019.11.06 |
Controller Key Functions(4) (0) | 2019.11.05 |
Controller Key Functions(2) (2) | 2019.11.01 |
Controller Key Functions(1) (0) | 2019.10.31 |
파일 열기와 저장(8) FileStream(2) (2) | 2019.08.30 |
파일 열기와 저장(7) FileStream(1) (0) | 2019.08.29 |