Houdini의 노드 기반 절차적 processing의 장점을 극대화하는 데 있어서 hda가 핵심이 된다고 생각한다.
parameter 조절 등으로 변화를 주며 다양한 것들을 만들어 낼 수 있기 때문에 도움이 많이 된다.
개인적으로 Environment 관련 모델링 작업할 때 많이 쓰게 되는 것 같다.


먼저 hda로 변환할 Geometry 노드를 선택한 후 Subnet을 만든다. ( 단축키는 Shift + C)

subnet을 우클릭한 후 Create Digital Asset을 클릭한다.


Label에 원하는 이름을 넣어주고 Create를 눌러서 생성한다.
나같은 경우에는 그 안에서 object merge로 다른 node를 참조하는 것들이 있어서 경고가 떴는데, 추후 해결할 거기 때문에 OK 눌러서 넘어갔다.
hda는 기본적으로
C:\Users\사용자명\Documents\후디니버전\otls\
폴더에 저장된다.

다른 node를 참조하고 있어서 경고가 계속 뜨는데, 계속 뜨는 것이 성가시기 때문에 체크를 해제해 주었다.


Parameters 탭에서 기본 생성된 Transform 과 Subnet 폴더는 Invisible 로 깔끔하게 숨겨줬다.

object merge로 다른 노드를 참조하는 부분을 parameter로 빼주기 위해 Object 입력한 부분을 Paremeter 탭의 root 로 드래그해서 넣어준다.


Parameter Description의 Parameter 탭에서 Name 과 Label을 설정해 준다.
그리고 Channels 탭에서 Default 값을 지워준다.
작업 후 Accept 를 눌러 주면 해당 변경사항이 저장된다.

이제 hda 노드를 누르면 parameter에 내가 설정한 입력을 받을 수 있다.

hda에 python scripting이 필요하다면 Scripts 탭에서 Python Module 을 선택하여 python 코드를 직접 입력할 수 있다.

scripts를 특정 parameter 와 연결하기 위해서는 먼저 Callback Script 의 우측 버튼을 눌러 Python을 선택해 준다.
그 다음에 아래 코드를 작성한다.
hou.pwd().hdaModule().함수명()
hou.pwd().hdaModule().test()
그러면 Tags 에 script가 추가된다.

나는 버튼을 누르면 console에 출력을 하게 만들어 뒀는데, 성공적으로 작동한다!
코드가 복잡해지면 IDE에서 작업하는 게 훨씬 편하다.
그렇게 작업한 py 파일을 불러와서 script로 등록할 수도 있다!

먼저 작업한 파일을 원하는 위치에, 원하는 이름으로 저장해 준다.

Scripts 탭에서 Event Handler를 Python Module 로 선택해 두고 Filename 우측 버튼을 눌러 저장한 파일을 선택해 준다.


그러면 Filename과 Section Name이 채워진다.
* 이때 꼭 Section Name을 PythonModule로 변경해 주어야 한다.
PythonModule
그 상태로 Add File을 눌러준다.

작성한 파일이 잘 읽힌 것을 확인할 수 있다.
'Technical Artists > Houdini' 카테고리의 다른 글
| [Houdini] VS Code에서 Houdini Python Scripting 하기 (0) | 2026.07.19 |
|---|---|
| [Houdini] 특정 point를 중심으로 Geometry 180도 회전시키기 (0) | 2026.07.19 |
| [Houdini] VEXpression를 VSCode로 연결하기 (0) | 2026.07.13 |
| [Houdini] 방향 정리하기 (normal, up, axis 등) (0) | 2026.07.12 |
| [Houdini] Python scripting - hou.node() (0) | 2026.07.03 |