본문 바로가기

Houdini/snow

Houdini - Walking on Snow Tutorial by Zeus VFX (한글)

※ 본 글의 내용은 Houdini Apprenctice Non-Commercial 19.0.648 - Python 3 version 으로 작업합니다.

※ 본 글은 어떠한 상업적 지원도 받지 않았으며, 추후에도 상업적인 이용이 불가합니다.

※ 이 튜토리얼의 원 저작권은 기입된 링크 속 유튜버에게 있습니다.
저는 그저 영상 속 튜토리얼을 따라하며 공부하는 팔로워임을 명시합니다.
따라하는 과정에서 여러 이유로 인해 제 의견이 첨언되거나 원 영상과는 다른 방향으로 진행될 수 있습니다.

 

1. obj에서 geometry 노드 하나 생성
- geo 안에 testgeometry_crag 생성
- testgeometry_crag의 옵션 중 Add Shader 체크 해제

testgeometry_crag 는 animation sequence를 포함하고 있음.
그래서 알아서 움직인다.
Zeus는 마지막에 아놀드(Arnold) 렌더러들을 적용했다.
Apprentice houdini 에는 아놀드를 깔 수 없다.
난 가난한 apprentice user니까 아놀드 적용 전까지만 따라간다.

 

 

2. 레벨 하나 위로 올라가서(단축키 u) geo 옆에 box 노드 생성
- Snow 노드 안으로 들어가서 box 노드 attritbute 아래와 같이 변경

 

3. obj 레벨에 만들었던 Crag가 들어있는 geo, box가 들어있는 box 노드를 아래와 같이 이름 변경

이름 변경이 별 게 아닌 것 같지만 공동작업에서 기본은
오픈소스의 '마인드'다.
내가 쓴 걸 남이 봐도 뭔지 알게끔 하는 게 업무의 효율성을 높여줄 거다.

 

4. 납작한 box에 WetSand 적용

적용되면 저렇게 모래알들로 박스가 바뀌고
노드 3개+Null 노드가 자동 추가된다.

- 적용 방법
Network View에서 빈 공간 한 번 클릭.
WetSand 클릭.
박스 클릭.

 

5. Crag에 StaticObj 적용하고  Ground Plane 생성

- 적용 방법
Network View에서 빈 공간 한 번 클릭.
Static Object 클릭.
박스 클릭.

- 두 번 누르면 두 번 적용 된다. 한 번만 누르자.
몇 번 적용했는지 확인은 다음 순서에 가능.

- Ground Plane은 한 번 클릭해서 생성.

 

6. obj-AutoDopNetwork에 들어가서 groundplane과 Character 노드 확인
- merge노드에 묶여있음

 

 

7. AutoDopNetwork 내부의 grain_update 만져주기

* grain_update 노드
- particle separation : 0.02
- clumping's stiffness : 50 
===============================
* particle separation에 대한 sidefx 설명
- 파라미터의 스케일을 조정
- 모든 파티클의 평균 직경이라고 보면 됨
- pscale 속성이 이것보다 우선 적용됨
- 보통 대량 충격 씬을 정상화

* clumping's stiffness에 대한 sidefx 설명
- 이웃한 파티클들이 얼마나 단단한가?
- 값이 클수록 잘 안 붙는다(파사삭 떨어진다)
separation은 충격으로 뽀개진 파티클들을 정상화할 때 주로 쓰인다는 느낌인 듯.
clumping은 영어로 덩어리. stiffness는 영어로 단단함.
여기서의 값은 각 파티클의 입장에서 얼마나 단단한가를 말하는 것 같다.
파티클이 단단하면 옆 파티클이랑 잘 안 붙겠지.

 

8. grain_particles에 접속해서 particlefluidsurface 추가 후 attri 수정

Particle Seperation : 0.02
Voxel Scale : 0.5
Erosion Scale : 0.75
==================
* Particle Seperation에 대한 sidefx의 설명
- 입자 사이 거리를 제어
- 시뮬레이션 속도 느려질 수 있음
- 입자를 생성한 유체 시뮬레이션의
FLIP 옵젝에서 동일한 매개변수를 참조해야 함

* Voxel Scale
- 생성된 VDB볼륨에 쓸 복셀 측면길이
- particle seperation이 0.1이고 voxel이 0.5라면?
=> 출력 필드 voxel의 측면 길이는 0.05

* Erosion Scale
- 이음새 역할
- 표면이 내면보다 크면 움직일 때 침식되므로
Erosion 을 줄여 이음새 값을 제거할 수 있음
파티클 입자를 눈 모양으로 바꿔주기 위함

 

아놀드 없으니까 여기까지만 따라한다.

끝.

 

(컴퓨터 사양 딸려서 렌더링은 무리)