후디니 (소프트웨어)

**후디니**(Houdini)는 토론토에 본사를 둔 SideFX가 개발한 3D 애니메이션 응용 소프트웨어으로, 절차적 생성 소프트웨어 도구인 PRISMS 제품군을 적용했다.

절차적 도구는 복잡한 반사, 애니메이션, 입자 시스템과 같은 다양한 효과를 생성하는 데 사용된다. 그 절차적 특징 중 일부는 1987년부터 존재해 왔다.

후디니는 영화와 TV에서 시각 효과를 만드는 데 가장 일반적으로 사용된다. 월트 디즈니 애니메이션 스튜디오, 픽사, 드림웍스 애니메이션, DNEG, 인더스트리얼 라이트 & 매직, 무빙 픽처 컴퍼니, 프레임스토어, 소니 픽처스 이미지워크스, 메소드 스튜디오, 더 밀과 같은 주요 VFX 회사에서 사용된다.

디즈니의 장편 영화 환타지아 2000, 겨울왕국, 주토피아, 라야와 마지막 드래곤, 위시, 블루 스카이 스튜디오, 리오, DNA 프로덕션의 앤트 불리를 포함한 많은 장편 애니메이션 작품에 사용되어 왔다.

SideFX는 또한 비상업적 용도로 무료로 제공되는 제한된 버전의 소프트웨어인 후디니 어펜티스(Houdini Apprentice)를 게시한다.

## 출시 역사

## 기능

섬네일|SideFX 후디니 21 사용자 인터페이스

후디니는 다음을 포함하여 3D 제작의 모든 주요 분야를 다룬다.

* 모델링 – 폴리곤, (계층적) NURBS/베지에 곡선/패치 및 트림, 메타볼을 포함한 모든 표준 기하체
* 애니메이션 – 키프레임 애니메이션 및 원시 채널 조작 (CHOPs), 모션 캡처 지원
* 리깅 – 독자적인 KineFX 및 APEX 시스템
* 파티클
* 동역학 – 강체 역학, 유체동역학, 와이어 역학, 천 시뮬레이션, 군중 시뮬레이션
* 라이팅 – 노드 기반 셰이더 저작, IPR 뷰어에서의 라이팅 및 리라이팅
* 렌더링 – 후디니는 SideFX의 렌더링 엔진인 Mantra와 Karma를 탑재하고 있다. 후디니 인디 라이선스 이상부터는 Renderman, Octane, Arnold, Redshift, V-ray, Maxwell(예정)과 같은 제3자 렌더링 엔진을 지원한다.
* 볼륨 – 자체 CloudFx 및 PyroFx 툴셋을 통해 구름, 연기 및 화염 시뮬레이션을 생성할 수 있다.
* 합성 – 부동 소수점 딥(레이어드) 이미지의 완전한 합성기
* 플러그인 개발 – 사용자 확장을 위한 개발 라이브러리

후디니는 개방형 환경이며 다양한 스크립팅 API를 지원한다. 파이썬은 이 패키지에서 점점 더 많이 선택되는 스크립트 언어이며, 원래의 C 셸과 유사한 스크립트 언어인 HScript를 대체하기 위한 목적을 가지고 있다. 그러나 소켓 통신을 지원하는 모든 주요 스크립트 언어는 후디니와 인터페이스할 수 있다.

## 도구
### 연산자 (Operators)
후디니의 절차적 특성은 연산자에서 찾을 수 있다. 디지털 자산은 일반적으로 연산자(또는 **OPs**)의 시퀀스를 연결하여 구성된다. 이러한 절차주의는 여러 장점을 가진다. 사용자가 비교적 매우 적은 단계로 매우 상세한 기하학적 또는 유기적 객체를 구성할 수 있게 하며, 비선형 개발을 가능하게 하고 권장한다. 또한 기존 연산자를 기반으로 새로운 연산자를 생성할 수 있는데, 이는 다른 패키지에서 커스터마이징을 위해 자주 의존하는 비절차적 스크립팅에 대한 유연한 대안이 된다. 후디니는 텍스처 매핑, 셰이더, 입자 시스템, "채널 데이터"(애니메이션을 구동하는 데 사용되는 데이터), 렌더링, 영상합성 제작에 이러한 절차적 생성을 사용한다.

후디니의 연산자 기반 구조는 여러 주요 그룹으로 나뉜다.
* OBJs – 트랜스폼 정보를 전달하는 노드 (전통적으로 SOPs를 포함한다.)
* SOPs – 표면 연산자 (Surface Operators) – 절차적 모델링용.
* POPs – 파티클 연산자 (Particle Operators) – 입자 시스템 조작용.
* CHOPs – 채널 연산자 (Channel Operators) – 절차적 애니메이션 및 오디오 조작용.
* COPs – 합성 연산자 (Composite Operators) – 푸티지 합성을 수행하는 데 사용.
* DOPs – 동적 연산자 (Dynamic Operators) – 유체, 천, 강체 상호작용 등의 동적 시뮬레이션용.
* SHOPs – 셰이딩 연산자 (Shading Operator) – 여러 렌더러를 위한 수십 가지 이상의 다양한 셰이딩 유형을 나타냄.
* ROPs – 렌더 연산자 (Render Operators) – 다양한 렌더 패스 및 렌더 의존성을 나타내는 네트워크 구축용.
* VOPs – VEX 연산자 – 고도로 최적화된 SIMD 아키텍처를 사용하여 위 유형 중 임의의 노드를 구축용.
* TOPs - 작업 연산자 (Task Operators)
* LOPs - 라이팅 연산자 (Lighting Operators) - 캐릭터, 소품, 라이팅 및 렌더링을 설명하는 USD 생성을 위해 사용.

연산자들은 네트워크에서 서로 연결된다. 데이터는 각 연산자에 의해 차례로 조작되며 흐른다. 이 데이터는 3D 기하학, 비트맵 이미지, 파티클, 동역학, 셰이더 알고리즘, 애니메이션, 오디오 또는 이들의 조합을 나타낼 수 있다. 이 노드 그래프 아키텍처는 Shake 또는 Nuke와 같은 노드 기반 합성 소프트웨어에서 사용되는 방식과 유사하다.

복잡한 네트워크는 클래스 정의처럼 작동하는 단일 메타 연산자 노드로 그룹화될 수 있으며, 컴파일된 노드처럼 다른 네트워크에서 인스턴스화될 수 있다. 이런 방식으로 사용자는 프로그래밍 없이도 자신만의 정교한 도구를 만들 수 있다. 이러한 점에서 후디니는 프로그래밍을 아티스트가 더 쉽게 접할 수 있게 만드는 고도의 상호작용형 비주얼 프로그래밍 툴킷으로 간주될 수 있다.

후디니의 도구 세트는 대부분 연산자로 구현되어 있다. 이로 인해 다른 유사 도구보다 학습 곡선이 높다. 모든 노드가 무엇을 하는지 아는 것도 중요하지만, 후디니에서 성공의 열쇠는 원하는 창의적 결과물을 노드 네트워크로 표현하는 방법을 이해하는 것이다. 성공적인 사용자들은 대개 표준적인 창의적 결과물을 얻기 위한 방대한 네트워크(알고리즘) 레퍼토리에 익숙하다. 이러한 알고리즘 레퍼토리를 습득하는 데 드는 비용은 샷 요소 생성 루틴을 구성하기 위한 하위 수준 빌딩 블록에 접근함으로써 얻어지는 예술적 및 알고리즘적 유연성으로 상쇄된다. 대규모 제작에서 특정 요소 생성 과제를 해결하기 위한 절차적 네트워크 개발은 자동화를 사소하게 만든다. 대형 특수 효과 및 장편 애니메이션 프로젝트에서 후디니를 사용하는 많은 스튜디오는 아티스트의 상호작용이 거의 없이 영화의 많은 요소를 자동으로 생성하는 데 사용할 수 있는 절차 라이브러리를 개발한다.

또한 후디니만의 독특한 점은 I/O **OPs**가 애니메이터에게 제공된다는 것인데, 여기에는 MIDI 장치, 원시 파일 또는 TCP 연결, 오디오 장치(내장된 음소 및 음높이 감지 포함), 마우스 커서 위치 등이 포함된다. 특히 주목할 만한 것은 사운드 및 음악 합성, 공간 3D 사운드 처리 도구를 포함하여 오디오와 작업할 수 있는 후디니의 능력이다. 이러한 연산자들은 "CHOPs"라고 불리는 컨텍스트에 존재하며, 이로 인해 Side Effects는 2002년에 아카데미 기술 공로상을 수상했다.

VEX(Vector Expression)는 후디니의 내부 언어 중 하나이다. 이는 Renderman Shading Language와 유사하다. VEX를 사용하여 사용자는 맞춤형 SOPs, POPs, 셰이더 등을 개발할 수 있다. 현재의 VEX 구현은 SIMD 방식의 처리를 활용한다.

## 렌더링
후디니에는 프로덕션급 렌더러인 Mantra가 포함되어 있는데, 이는 초기 형태에서 범위와 응용 면에서 RenderMan과 많은 유사점을 가졌다. Micropolygon 렌더링이 지원되어 고품질 디스플레이스먼트 작업과 전통적인 스캔라인 및 레이트레이싱 모드가 가능하다. 셰이더는 스크립트 작성이 가능하며 VEX 언어 또는 VEX 프로그래밍을 위한 노드 기반 인터페이스인 VOPs를 사용하여 구성된다. Mantra(후디니 자체와 마찬가지로)는 포인트 클라우드도 지원하는데, 이는 Renderman의 brickmaps와 응용 방식이 유사할 수 있다. 이를 통해 하부 표면 산란(sub-surface scattering) 및 앰비언트 오클루전(ambient occlusion)과 같은 더 복잡한 빛의 상호작용을 더 적은 계산 비용으로 생성할 수 있다. Mantra는 매우 빠른 볼륨 렌더링을 수행할 수 있으며, 물리 기반 경로 추적 기능도 제공한다. 이는 빛과 재질의 물리적 상호작용을 더 정확하게 모델링하려는 기술이다.

## TouchDesigner
Derivative Inc.는 Side Effects Software에서 분사된 기업으로, 후디니의 파생 소프트웨어인 TouchDesigner를 마케팅한다. 실시간 OpenGL 생성 애니메이션에 맞춰 조정된 이 소프트웨어는 록 그룹 러시의 30주년 기념 투어에서 음악가들에 의해 직접 구동되는 동적 그래픽을 제작하는 데 사용되었다. TouchDesigner는 Xite Labs(전 V Squared Labs)가 에이먼 토빈의 ISAM 설치 투어를 위한 라이브 비주얼을 제작하는 데에도 사용되었다.

## 제작
후디니가 사용된 주요 작품으로는 1997년 영화 콘택트와 최근 2016년 작품인 주토피아 등이 있다.

## 같이 보기
* 오토데스크 마야
* 블렌더 (소프트웨어)
* 시네마 4D
* IRIX OS
* 실리콘 그래픽스

## 각주

## 외부 링크
* SideFX Software, Makers of Houdini

분류:3차원 그래픽 소프트웨어
분류:1996년 소프트웨어
분류:3차원 애니메이션 소프트웨어