Posted: January 5, 2017
Version: Houdini 15
변수(Variable) 란 무엇인가?
컴퓨터 프로그래밍 용어로서, 변수란 특정 값 또는 데이터를 저장하는 공간을 말한다.
다음은 변수 A 가 3 이라는 값을 가지고 있음을 보여준다.
수학에서 XY 방정식에 수를 대입하는 것과 비슷하다.
그렇다면 다음은 각각 어떤 결과값들을 나타낼까?
변수 A 가 3이라는 값을 가지므로 위 결과는 각각 5 와 1.5 가 된다.
위와 같이, 변수들은 언제든지 어떤 수학식에 불러와져 반복적으로 사용되어질 수 있다.
후디니 변수
후디니에서 변수는 다음과 같은 (달러표시 + 대문자영어) 형태를 가진다.
$F, $PT, $NPT, $NX, $NY, $NZ, $LIFE
그 중, 변수 $F 에는 어떤 데이터가 저장되어 있을까?
현재의 프레임 번호(Frame Number) 를 그 데이터 값으로 가진다.
즉, 프레임 1에서 $F 는 1 값을, 프레임 9에서 $F 는 9 값을 가진다.
위처럼 변수 $F 는 현재 프레임에 따라 데이터 값이 변하지만, 시간에 관계없이 고정된 값을 가지는 변수들도 있다.
후디니 변수의 사용예
우선 '/obj' 에 박스 지오메트리를 한 개 만들자.
네트워크뷰에서 TAB 메뉴를 이용하여 Box 지오메트리를 생성한다.
'box' 이름을 가진 박스 오브젝트가 나타난다
'box' 노드의 파라미터 창에서 Rotate 두번째 속성에 '$F'을 입력한다.
이러한 변수들은 후디니 노드들 안의 파라미터 값 입력시 반복 사용될 수 있다.
Rotate 파라미터는 오브젝트를 각 축(X,Y,Z) 으로 시키는 역할을 한다.
현재 우리는 Scene 레벨에서 작업하고 있다. 박스노드 안쪽으로 들어가지 않도록 주의한다.
후디니 인터페이스 밑 쪽에 있는 플레이 버튼을 클릭한다.
다음과 같이 박스 오브젝트가 Y축을 중심으로 천천히 회전하게 된다.
그 원리는 다음과 같다.
프레임 1에서 Rotate Y 값 = 1도
프레임 2에서 Rotate Y 값 = 2도
프레임 90에서 Rotate Y 값 = 90도
프레임 180에서 Rotate Y 값 = 180도
여기서 여러분들 중 대다수가 플레이를 하면 박스가 아주 빨리 돌고 있는 것을 볼 것이다.
그것은 박스가 실제로 빨리 도는 것이 아니라 리얼타임으로 플레이가 되지 않은 것이다.
후디니 화면 우측 밑 Playbar 에 있는 Real Time Toggle 버튼을 눌러서 리얼타임으로 플레이 한다.
리얼타임이란 1초에 24프레임의 속도로 플레이 하는 것을 말한다.
후디니 변수의 종류
후디니 변수는 크게 글로벌 변수 와 로컬변수 로 나눌 수 있다.
사용자가 직접 데이터를 저장하며 사용할 수 있는 커스텀 변수도 있다. 이후 강좌들을 보면 자연스럽게 알 수 있으므로 여기서는 가볍게 이해하고 넘어간다.
글로벌 변수는 노드에 관계없이 후디니 전반적인 영역에서 사용되는 변수이다.
위에서 배웠던 변수 $F 가 이 글로벌 변수의 대표적인 예이다.
로컬 변수는 각각의 노드 안에서만 사용할 수 있는 변수이다.
즉, A 노드에서 쓰이는 로컬변수는 B 노드에서는 사용될 수 없다.