Programming/Houdini

[Houdini] Terrain Handbook 3 (Dusty Biome - shaping)

와들S 2023. 9. 19. 00:19

1. Making the Heightfield

Terrain Handbook 03 | Dusty Biome | Making the Heightfield - YouTube

 

1) Draw Curves for hills

- 커브를 그려서 산맥의 흐름을 지정해줄 수 있다. 터레인 위에다가 draw curve로 선을 그리고, resample을 해 모양을 정리한다.

- 이후 Attribute Remap을 사용해 Original name에 curveu란 속성을 넣는다.

- 이 선을 polywire로 모양으로 만든다. Wire Radius에 @curveu * 100 를 넣어야 속성에 100을 곱한 높이 형태가 된다. 

- 다음으로 projection(투영)으로 terrain에 해당 모양을 투영시킨다.

- 아래는 여태까지의 노드이다.


- 다음으로 distort와 noise를 얹어 모양 형태를 자연스럽게 변형시켜야 한다. noise 종류는 sparse Convolution -> hybrid terrain으로 두고 값을 조절해가며 적당한 형태를 얻는다. 근데 위에서 보면 전체적인 terrain 범위가 마이너스 범위가 존재해 0아래로 가라앉는 값이 있으므로 remap을 통해 모양 크기를 변형한다.

- Compute Range를 이용해 높이를 계산하고 이 전체를 0 이상으로 올린다. 모양이 너무 명확하고 어색하므로 blur를 얹는다. Radius 는 16으로 두었다.

- Mask by feature를 둘 땐 먼저 Mask by Occlusion을 얹어 값을 조절한다.

- 이후에 두 개의 blur 노드를 더 얹을 건데, 그 중 첫번째 거는 mask layer에 mask란 말을 넣어 마스크 자체를 블러한 후, 다음 마스크를 지우고, 다시 블러를 얹어 형태를 간소화한다.

- 아래는 여태까지의 노드이다. 


- 다음으로 Heightfield distort by noise란 노드를 얹어 절벽의 울퉁불퉁한 형태를 제작한다. 그 아래로 erode를 해 시간과 물에 의해 침식된 형태를 만든다. 이 때 visualization 파트에서 visualize를 해제하면 더 깔끔하게 볼 수 있다. 

- 절벽 쪽만 다루기 위해 Mask by feature - mask by height로 절벽 쪽만 마스크를 씌워 이를 distort에 사용한다. resample에는 by axis - 2048로 바꾼다. 

- 한 번 더 erode를 얹은 것과 distort를 layer란 노드로 섞게 된다. 이 때 layer mode를 blend - 0.8로 해 자연스레 모양을 섞는다.

- 또한 여태까지의 노드이다.


- Mask by feature - mask by slope로 절벽 각도 20~89.1도에 마스크를 씌운다.

- 다음으로 terrace를 얹어 층을 제작한다. 아래에서 tarracing도 저 형태로 한다. 다음 resample에는 0.5로 resolution을 변경한다.

- 다음으로 erode를 얹고 (이 때 Freeze of frame을 20으로 둔다), mask by feature - mask by slope를 넣는다. 

- blur를 얹고, terrace를 저 작은 절벽에 한 번 더 얹는다. 더 세부적으로 층을 만들기 위함이다. 이후 distort와 erode, mask clear를 얹으면 된다.

- 아래는 여태까지의 전체 노드이다.


-  resample에서 by axis - 4096으로 변경한다. 이후 flow field를 얹는다. 물이 흐르는 방향과 모양을 형성하기 위함이다.

- 다음으로 slump를 얹는다.

- 그 이후에 한 번 더 flow field를 얹을 건데 수치 값을 크게 줄여 더 세부적인 값을 만든다. 다음으로 mask clear로 마스크를 지운다. 

- 여태까지의 전체 노드이다.


- file cache 노드를 사용해서 파일을 저장한다. 위의 설정들을 한다. 

- 저 file cache를 quickshader에 연결시키고 그 위에 COP2 Network란 노드를 두어 맵핑할 준비를 끝낸다.


- file cache가 아닌 그 위의 것에 mask by occlusion을 연결시키고 마스크를 씌운다.

- 이를 ao, ambient occlusion 로 지정한다. 

- mask by feature -> peaks and valleys 로 위의 걸 마스크한다. 

- 마스크를 만들 되, curvature로 이름을 지정한다.

- 만든 것들을 마스크로 만들었으므로 visualize한다. (난 안함 히)

- 전체 노드다.

- 다음 맵핑으로 넘어간다.

'Programming > Houdini' 카테고리의 다른 글

[Houdini] Terrain Handbook 1~2 (Basic)  (0) 2023.08.31
[Houdini] Organic Shapes  (0) 2023.07.17
[Houdini] Terrain Basic  (0) 2023.07.03
[Houdini] Modular Building 1  (0) 2023.07.01