3. [Houdini] 후디니 많이 쓰이는 SOP

2024. 11. 3. 22:28·3. 후디니(Houdini) 공부/Houdini [이론]
SOP은 surface operator의 약자로, 물체의 표면을 만들거나 움직이는 공간

1. 수정 및 캐쉬저장(Blast, Delete, Edit, Rob Geometry&File, FileCache)

Blast vs Delete
  • Blast : 단순 삭제 기능만 있음
  • Delete : Range, Boundary 등 더 많은 기능이 있음
Edit
  • 특정 Geometry의 Point, prmitive를 직접 수정, 움직일 수 있는 노드
  • Scene View에서 point, primitve 등을 선택하고, T/R/E를 누르면 자동으로 Edit 노드가 생성
  • 다른 점들을 잡고 움직여도 노드가 추가되지 않으며, 하나의 Edit 노드에 모든 움직임이 누적되어 적용
  • Key를 줄 수 없음
Rop Geometry & File / FileCache
  • Rop Geometry 노드는 후디니의 캐쉬를 저장하는 노드
  • File 노드는 후디니의 캐쉬를 읽어오는 노드

 

Rop Geometry & File

  • Output File의 경로를 설정 후 Save to Disk
  • 경로에 대해서는 뒤에 자세히 설명

 

 

  • File 노드로 구운 Save to Disk 불러오기
  • Copy Parameter로 Color_transfer의 패스를 복사
  • File의 Output path에 Paste Relative Reference
  • 속도가 더 빨라짐

 

 

File Cache

  • Base Name에서 이름 변경하기 
  • Version으로 버전업 기능을 사용하거나, 노드들의 이름 뒤에 v2... 와 같이 기입하도록 함
  • Load from Disk를 누르면 디스크 아이콘이 뜨며 cache를 읽어와 빨라지게 됨. 해제하면 아이콘이 사라지며 느려짐

 


 

2. Houdini Cache/Alembic

1) Cook(노드 정보 읽어 오기)

  • 후디니의 hip 파일에는 일반적으로 Geometry Data가 저장되지 않음
  • 후디니를 새로 켜거나 파라미터 등이 수정되면 노드들을 다시 계산하는데 이를 Cook이라고 함
  • 노드 계산이 무거워 매번 cook이 일어나는 것을 막고 싶을 때, 후디니 우측 아래에 있는 Auto Update를 Manual로 바꿔 저장하게 되면, hip파일을 열 때 cook 과정을 하지 않아 빠르게 열림

 

2) Cache

  • Cook 과정이 너무 무거운 경우에 Cache를 뽑아서 관리할 수 있음
  • 후디니에서는 bgeo.sc 라는 캐쉬포맷을 사용. 프레임 단위로 정보가 저장되며, 후디니 SOP에서 사용되는 모든 데이터를 담을 수 있음
Rop Geometry / File
  • Prodecure이 끊어졌다는 정보가 잘 읽힘
  • 만들어야 할 노드가 2개
FileCache
  • Prodecure이 끊어졌다는 정보가 잘 안 읽힘
  • 만들어야 할 노드가 1개

 

3) Alembic(.abc) 

  • rop alembic, alembic, unpack 노드 사용
  • 현재 가장 많이 쓰이는 세계 공유 포맷
  • Geometry 데이터를 담으며, 하나의 파일에 프레임 전체 Geometry 정보를 저장
  • fbx 보다 무겁지만 프레임 하나하나에 저장하기 때문에 안정적임
  • 가져올 때는 rop_alembic 경로를 Copy Parameter로 alembic 노드에 Paste Relative Reference
  • unpack 노드로 파일 열기

 


3. Attribute

  • Geometry 구성요소(점, 선, 면) 들이 갖고 있는 속성값
  • point, vertex, primitive는 각각 Attribute라고 하는 데이터를 담을 수 있음
  • Attribute에는 type이 있으며, 정수(int) / 실수(float) / 문자열(string) / 벡터(vector) 등이 있음
  • Attribute는 약속된 것이 있고, 임의로 제작도 가능
  • 약속된 Attribute는 후디니에서 특정한 역할을 수행
    • Ex) 모든 포인트는 P라는 Attribute를 가지고 있고, 포인트의 위치를 나타냄
    • P : 포인트 위치
    • N : 노말
    • Cd : 컬러
    • UV Surface의 좌표(표면 정보)
  • Geometry Spreadsheet에서 Attribute들을 확인할 수 있음

 

1) Attribute 관련 노드(Promote, Transfer, Combine, Copy)

Promote
  • Attribute를 하나의 Geometry에서 다른 Geometry Type(point, vertex, primitive 등)으로 옮기는 것
  • 각각의 Geometry Type의 숫자는 일정하지 않기 때문에(point에서 primitive 로 갈 때 숫자 차이가 남) 옮기는 방식을 지정해 줄 수 있음 → 평균값 / 최대값 / 최소값 등
 Transfer
  • Att를 한 오브젝트에서 다른 오브젝트로 위치 기반으로 옮기는 것(크로스된 부분으로 위치 전달)
  • 위치 기반이므로 거리에 따른 Blending 옵션을 줄 수 있음
  • 왼쪽 인풋 : 영향을 받는 쪽 / 오른쪽 인풋 : 영향을 주는 쪽
GroupCombine
  • 두 그룹 사이의 교집합이나 합집합 그룹 등을 만들 때 사용
 AttributeCopy
  • Attribute를 한 오브젝트에서 다른 오브젝트로 같은 포인트 넘버를 기반으로 Copy 시키는 것
  • point 넘버가 아닌 각자에 이름을 지정해 그 부분을 copy 시키고 싶을 때는 Match Attribute에 체크
  • Id, Name 등과 같이 포인트 넘버를 대신할 Attribute를 지정할 수 있음

 


4. 환경 변수

  • 특정한 값이나 문자를 나타내는 변수로, $Name 같은 방식으로 사용
    • $HIP : 현재 작업 파일의 경로
    • $HIPNAME : 현재 작업 파일의 이름
    • $F : 현재 프레임, 정수 (ex : 45프레임 → 45)
    • $FF : 현재 프레임, 실수
    • $F4 : 현재 프레임ㅇ르 4자리 수로 표현 (ex : 45프레임 → 0045)
    • $OS : 노드의 이름
    • $FSTART / $FEND : 글로벌 애니메이션 범위
    • $FPS : Framd Per Second

5. 애니메이션

1) Channel : Houdini Keyframe

  • Alt + Click : Create Key
  • Ctrl + Click : Delete Key
  • Ctrl + Shift + Click : Delete All Key
  • Shift + Click : Open Animation Editor

 

2) Animation Editor

  • Scene View(뷰포트)에서와 같이 MMB를 눌러 이동
  • 휠 드래그 → 확대 축소 1
  • 마우스 우클릭(MRB) → 확대 축소 2
  • G : 포커스
  • Alt + Click : 키 삽입

6. 스크립트

1) Houdini의 Script 종류

  • HScript : 특정 기능을 수행하거나 결과를 보여줌(일회성)
  • HExpression : 파라미터에 식이 들어가면 매 프레임이 계산됨
  • Python : HScript, HExpression을 대체할 수 있음. HScript는 상당 부분 대체되고 있으나, 링크 기능의 제한으로 사용 빈도가 낮음
  • VEX : Geometry 구성, Shader 제작 등을 목적으로 하는 후디니 언어

 

2) HExpression

  • + - * / %(나머지) ^(거듭제곱) 등의 기본 연산자 제공
  • min(), max(), abs(), sin(), cos(), sqrt() 등 기본 수학 함수들을 제공
  • sin은 반복 작업을 할 때 유용. 괄호 사이에 가운데 기준 값을 넣음
    • sin($F)면 -1 ~ 1사이 값에서 위아래 반복

 

3) Copy & Paste Type

상대 경로에서
.은 현재 자신의 경로<(”.”)>
..은 자신의 상위 경로를 의미<(”..”)>
  • 후디니의 Copy & Paste 종류
    • Paste Values : 값을 그대로 복사
    • Paste Expressions / Channels : 수식이나 채널(키)을 그대로 복사(텍스트)
    • Paste Relative References : Ch()를 이용해 파라미터를 상대경로로 복사
    • Paste Absolute References : Ch()를 이용해 파라미터를 절대경로로 복사
  • Copy & Paste 시 링크들의 유지
    • 노드를 복사할 경우, 연결된 링크들도 함께 복사
    • 링크가 연결되어 있는 두 노드를 함께 복사할 경우, 링크도 유지됨
    • 노드 이름을 바꿔도 링크는 깨지지 않음

 

4) Parameter

  • 숫자 타입
    • 계산식을 넣으면 바로 결과가 출력되며, 파라미터의 이름을 클릭하면 식과 결과를 교대로 보여줌
    • 문자를 입력할 경우, 자동으로 Expression으로 인식함(point, prim)
  • 문자 타입
    • Group에서 사용
    • 계산식을 넣어도 계산식을 문자로 인식함
    • 계산식을 쓰고 싶으면 ``(Tab 키 위)으로 식을 묶어줘야 함
    • 파라미터 이름에 MMB 클릭을 하면 환경변수나 ``로 붂인 식을 풀어서 볼 수 있음
  • 여러 개의 노드를 선택하고 파라미터를 수정하면 모든 노드가 함께 수정됨. 다른 노드의 경우도 파라미터의 이름이 같으면 함께 수정됨

 

 

5) 많이 쓰이는 함수

rand() / seed
  • rand() 함수는 0~1 상의 값을 만들어 냄
  • rand(seed)의 형식으로 사용되며, seed의 값이 달라질 때, 다른 랜덤 값을 만들어 냄
  • seed가 같으면 랜덤 값도 항상 같음
fit() / fit01()
  • 특정 구간의 수들을 다른 구간으로 이동시키는 함수
    • fit(조정할 값, 조정할 값의 원래 최소 범위, 조정할 값의 원래 최대 범위, 조정할 값의 최소 범위, 조정할 값의 최대 범위)
    • fit(value, 0, 1, -4, 10)
  • 후디니의 많은 함수나 파라미터들이 0~1 값의 구간을 갖는 경우가 많아 fit01() 이라는 간략한 버전의 함수를 지원함
  • 0~1 사이의 범위를 따로 쓰지 않고 간편하게 수정할 수 있음
    • fit01(rand($F), 0, 10)
    • fit01(value, -4, 10)

 


7. Flipbook

  • Houdini Scene Vieew(Viewport)에서 보여지는 내용을 그대로 영상으로 묶어줌
  • Realtime 상태로 플레이를 하더라도 시뮬레이션 속도 등이 느릴 수 있어 작업 시 애니메이션으로 확인할 때는 항상 Flipbook으로 확인
  • 카메라 View와 Flipbook의 Size를 동일하게 맞춰줘야 함

 

 

  • Save sequence as로 저장
  • 경로는 후디니 파일 내 flip > rail > v001 파일을 만들어 그곳으로 위치 지정
  • 파일 포맷은 .png
  • 이름은 rail_v001_$F4.png

 

 

  • PDplayer 다운로드 후, 내 컴퓨터의 program 64 파일 내에 있는 PDplayer 파일을 다운로드 받은 폴더 내에 있는 CRK에 있는 파일로 덮어쓰기
  • Sequence 한 개를 우클릭 후 PDplayer를 연결 프로그램으로 지정해 실행

 

 

  • PDplayer에서 레이어 잘라 수정하고 저장
  • Sequence Layer는 Save Sequence as로 저장한 이미지 하나를 플레이어로 드래그해서 레이어를 더해 장면을 겹칠 수 있음
  • 저장할 때는 Export composition as로 저장

 

'3. 후디니(Houdini) 공부 > Houdini [이론]' 카테고리의 다른 글

5. [Houdini] VOP(언리얼 : 블루프린트), VEX(언리얼 : C++), Noise  (0) 2024.11.17
4. [Houdini] Function, Copy, Foreach, Detail Attribute  (2) 2024.11.11
[Houdini] 후디니 TIP  (0) 2024.10.28
2. [Houdini] 후디니 Parameter Controller 만들기(기능 모으기),  (0) 2024.10.28
1. [Houdini] 후디니 기본 개념 및 설정  (0) 2024.10.24
'3. 후디니(Houdini) 공부/Houdini [이론]' 카테고리의 다른 글
  • 5. [Houdini] VOP(언리얼 : 블루프린트), VEX(언리얼 : C++), Noise
  • 4. [Houdini] Function, Copy, Foreach, Detail Attribute
  • [Houdini] 후디니 TIP
  • 2. [Houdini] 후디니 Parameter Controller 만들기(기능 모으기),
스농이
스농이
2024.07.22부터의 기록
  • 스농이
    3D 비주얼 아티스트 성장일지
    스농이
  • 전체
    오늘
    어제
    • 3D 비주얼 아티스트 공부 기록 (76)
      • 1. 콘텐츠 기획 공부 (7)
        • 콘텐츠 기획 [이론] (3)
        • 콘텐츠 기획 [실습] (4)
      • 2. 3D 렌더링 및 생성형 AI 공부 (5)
        • VRED (2)
        • Stable Diffusion & Blender (2)
        • GPT4o (1)
      • 3. 후디니(Houdini) 공부 (16)
        • Houdini [이론] (8)
        • Houdini [실습] (8)
      • 4. 언리얼 엔진(Unreal Engine) 공부 (33)
        • Unreal Engine 5 (26)
        • Automotive Animation 스터디 [기.. (5)
        • Automotive Cinematic 스터디 [심.. (2)
      • 2. 블렌더(Blender) 공부 (15)
        • 지오메트리 노드 [이론] (3)
        • 지오메트리 노드 [실습] (2)
        • Blender [이론 및 실습] (10)
  • 블로그 메뉴

    • 홈
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
스농이
3. [Houdini] 후디니 많이 쓰이는 SOP
상단으로

티스토리툴바