독학.NET

SOP 변수

컴퓨터 프로그래밍 용어인 변수의 개념을 이해하고 후디니에서 어떻게 사용되는지 알아보자.

Posted: January 5, 2017

Version: Houdini 15


변수(Variable) 란 무엇인가?

컴퓨터 프로그래밍 용어로서, 변수란 특정 값 또는 데이터를 저장하는 공간을 말한다.

다음은 변수 A 가 3 이라는 값을 가지고 있음을 보여준다.

수학에서 XY 방정식에 수를 대입하는 것과 비슷하다.

수학에서 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' 이름을 가진 박스 오브젝트가 나타난다

 

'box' 노드의 파라미터 창에서 Rotate 두번째 속성에 '$F'을 입력한다.

이러한 변수들은 후디니 노드들 안의 파라미터 값 입력시 반복 사용될 수 있다.

Rotate 파라미터는 오브젝트를 각 축(X,Y,Z) 으로 시키는 역할을 한다.

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프레임의 속도로 플레이 하는 것을 말한다.

리얼타임이란 1초에 24프레임의 속도로 플레이 하는 것을 말한다.


후디니 변수의 종류

후디니 변수는 크게 글로벌 변수 와 로컬변수 로 나눌 수 있다.

사용자가 직접 데이터를 저장하며 사용할 수 있는 커스텀 변수도 있다. 이후 강좌들을 보면 자연스럽게 알 수 있으므로 여기서는 가볍게 이해하고 넘어간다.

사용자가 직접 데이터를 저장하며 사용할 수 있는 커스텀 변수도 있다. 이후 강좌들을 보면 자연스럽게 알 수 있으므로 여기서는 가볍게 이해하고 넘어간다.

 

글로벌 변수는 노드에 관계없이 후디니 전반적인 영역에서 사용되는 변수이다.

위에서 배웠던 변수 $F 가 이 글로벌 변수의 대표적인 예이다.

 

로컬 변수는 각각의 노드 안에서만 사용할 수 있는 변수이다.

즉, A 노드에서 쓰이는 로컬변수는 B 노드에서는 사용될 수 없다.