Houdini

 


'''Houdini'''
[image]
'''개발'''
SideFX
'''라이센스'''
상업 소프트웨어
'''용도'''
모델링, 애니메이션, 렌더링
'''운영체제'''
Windows, macOS, Linux
공식 홈페이지
[image]
[clearfix]
1. 개요
2. 특징
3. 난이도


1. 개요


SideFX사에서 개발한 3D 프로그램. 현대의 헐리웃 영화에서 나오는 폭발, 화염, 연기, 모래, 유체 등의 특수효과는 거의 모두가 이 툴에서 만들어진 것이라고 해도 과언이 아니다. 2000년대 초반만 해도 존재감이 지금처럼 크지 않았으나, 2010년대에 접어들면서 컴퓨터의 성능이 비약적으로 발전하면서 업계에서 가장 선호되는 소프트웨어 중의 하나로 자리잡았다.
전신은 같은 SideFX사에서 개발한 Prisms. 이 Prisms 역시 후디니의 기본적인 procedural 워크플로우를 그대로 갖고있지만 지금과 같이 넓은 화면 공간에서 아이콘화된 노드를 선으로 연결해 작업하는 방식이 아니라 규격화된 노드를 하나씩 층별 리스트로 추가해나가는 방식이었다. 하지만 기본적인 접근 방식은 동일했고 내장된 자체 이미지 합성 소프트웨어인 ICE의 노드/라인 방식의 인터페이스가 호평을 받자 아예 소프트웨어를 첫 라인부터 다시 작성하는 대대적인 작업 끝에 1996년 후디니를 발표하게 된다. 물론 기존 Prisms도 수년간 지원 및 업그레이드를 유지하다가 결국 단종시킨다.

2. 특징


모델링, 애니메이션, 라이팅, 렌더링, 이펙트등 Maya나 3ds max처럼 애니메이션 프로세스의 모든 작업을 수행할 수 있다. 하지만 이 프로그램의 가장 강력한 점은 바로 procedural 한 방식의 도구라는 점인데, 사람이 손으로 만드는 것을 전제로 하는 다른 3D 소프트웨어와는 달리 알고리즘으로 모든 것을 생성하는 것을 지향한다.
기본적으로는 특수효과를 만드는데 최적화되어 있지만 모델링 작업에도 사용 가능하다. Procedural 한 방식이므로 작업을 어떻게 하였는지 한 눈에 확인할 수 있는 장점도 있다. 예를 들어 건물 모델링의 경우, 하나하나를 모델링하는 것이 아니라 알고리즘을 이용해 기본 구조를 디자인한 후 파라미터를 조절하여 전체 도시를 아예 한번에 생성시키는 방식으로 작업하는 것이 가능하다.
기본적으로 마야와 같이 노드 기반으로 작동하는 툴이다. 사용하다보면 노드의 연결 방식이 마야보다 진일보되었다는 느낌을 받는데, 그것은 Houdini 에서는 철저히 노드의 연결 방향을 따라서 최종 결과가 생성되는 방식이기 때문이다. 마야에서도 노드간의 연결에 의해 결과물을 낸다는 점은 같지만, 그러한 노드간의 연결이 Houdini 처럼 작업순서를 그대로 보여준다는 느낌이 들지는 않는다. 또한, 각각의 Operator 노드들로 인해 네트워크 간에 레벨이 존재한다는 특징이 있다. 이러한 점 때문에 노드 네트워크가 디렉터리 개념으로 분리돼 기존의 Maya나 Nuke의 2차원적인 네트워크와는 달리, 3차원의 유기적인 네트워크 구성을 이루고 있다.
이런 점을 종합해보면, 후디니가 더 직관적이고 체계화된 워크플로우 구성을 가진다고 볼 수 있다.
또한 각 노드의 파라미터를 조절하여 이용해 모델의 외형을 바꾼다거나 하는 것은 마야와 별 다를바 없지만, Houdini 의 강점은 지오메트리의 attribute class(점,선,면...)에 관계없이 사용자가 attribute 를 지정하고 그것을 컨트롤할 수 있다는 점에서 드러난다. 이는 특수효과를 다룰때 혹은 Procedural 한 방식으로 모델을 생성할때 엄청난 장점으로, 다른 3D 소프트웨어에서는 찾아보기 힘든 기능이다.
다시 말해 Houdini 에서는 파티클 하나하나를, 모델의 버텍스 하나하나를 프로그램으로 컨트롤 할 수 있다. VFX 계열에서는 가히 끝판왕급 소프트웨어. 스택 합쳐버려서 고생할 필요도 없고, 다른 툴에서는 따로 플러그인을 사야 하는 기능들을 사용자가 Houdini Digital Assets 형태로 커스텀 제작하거나 불러올 수 있는 것과 같은 장점이 꽤 많으나...

3. 난이도


[image]
'''배우는 난이도가 다른 툴에 비해 독보적으로 어렵다.''' 단순히 모델링 하는것도 노드 방식이라 타 툴에 비해 힘든데, 추가적으로 VEX[1]와 Hscript라는 자체 내장 프로그래밍 언어를 사용해 각종 기능을 만든다거나, 셰이더를 직접 짜는 등, 배워야 할게 매우 많다. 물론 VOP라고 하는 VEX Builder 레벨이 존재하여 GUI형식으로 노드를 연결해 시각적인 프로그래밍이 가능하지만, 아무래도 언어에 대한 이해가 전제되다 보니 난이도가 높은 편이다. 배우다 보면 모델링 툴이라기 보다도 그래픽스 비주얼 프로그래밍 툴이라는 생각이 들 지도 모른다.
사실 위의 그래프는 좀 과장된 면과 틀린 부분이 없지 않은데, 후디니는 첫 접근성이 쉽지않지만 기본적인 개념만 습득하면 그 다음은 일사천리로 발전이 가능하다. 일단 그래프에서도 특정지점 이후의 난이도는 평행선, 즉 그 시점 이후는 증가하지 않는다. 그러니 그래프가 완전 헛소리는 아니다(...) 다른 소프트웨어처럼 기능이 필요할 때마다 완전히 새로운 모듈을 플러그인 방식으로 끼워넣는게 아니라 기본 구조 자체가 워낙 탄탄하고 확장 유연성이 극도로 높기에 새로운 기능을 추가하는 것이 쉽고 그 새로운 기능 자체도 기존 기능의 논리적 구조에서 크게 벗어나지 않기에 눈썰미가 좋으면 외부의 도움이나 매뉴얼 없이 직관적인 시도만으로도 쉽게 적응이 가능하기 때문이다. 쉽게 비유하자면 후디니는 물리 과목으로 빗댈 수 있는데 기본 개념과 공식만 익히면 나머지는 자동으로 따라오기 때문이다.
다만 감안해야 할 것은, 이펙트를 마야나 맥스 등의 다른 프로그램에서 제작한다고 해도 어차피 같은 알고리즘을 다루어야 하는 이상 '다른 툴을 쓰면 더 쉽다'라는 말은 성립하지 않는다는 점이다. 오히려 같은 이펙트를 만든다고 하면 후디니에서 작업하는 것이 훨씬 간단해질 것이다. 후디니가 어렵다는 말보다는, 알고리즘을 이용해 이펙트를 만드는것 자체가 어려운 것이라고 생각하는 것이 맞을 것이다.
Orbolt라는 자체적 에셋스토어도 있으며, 다른 사용자 혹은 회사에서 만든 노드, 모델 등을 판매한다.
결론적으로, 이 소프트웨어는 프로그래밍과 밀접한 관계를 맺고 있는 툴이다. 때문에 언어의 로직이 어떻게 흘러가는지, 어떻게 내가 원하는 바를 코딩의 형태로 구현해야 하는지에 대한 방법을 많이 연구하는 것이 좋다. 또한 영어가 안된다면 이 소프트웨어를 배우는 데 어려울 수 있다. 인터넷상에 유용한 강좌가 많지만 한국어로 된 좋은 강좌는 해외에 비해 상대적으로 찾아보기 힘들기 때문. 일본어 사용자는 그나마 사정이 나은 편이다. 개발사 차원에서 일본어로 된 다양한 자료를 제공하고 있기 때문.

[1] Vector Expression Language. C와 C++의 특징이 섞인 언어이다.