Programming/Houdini 5

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

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에 해당 모양을 투영시킨다. - 아래는 여태까지..

Programming/Houdini 2023.09.19

[Houdini] Terrain Handbook 1~2 (Basic)

Ⅰ. Introduction - Brief Overview Terrain Handbook 01 | Introduction | Brief Overview - YouTube Ⅱ. Heightfields - Basics Terrain Handbook 02 | Heightfields | Basics - YouTube 1. Terrain 1) Heightfield - Heightfield는 terrian을 만드는 기본 객체. 처음 만들면 plane처럼 보이지만 그 안에서 여러 설정을 해줄 수 있다. - By size로 할 수도 있고, By axis로 해 안에 구성할 것들을 바꿀 수 있다. 그 아래선 사이즈도 바꿀 수 있다. 2) Heightfield Pattern - 하이트 필드에 패턴과 노이즈(Distortio..

Programming/Houdini 2023.08.31

[Houdini] Organic Shapes

※ Udemy 강의를 참고하여 공부했습니다. 더보기 Learning VFX: Complete Houdini Bootcamp | Udemy 1. Outputs 2. Reviews - 구를 만들고, VOP를 연결한다. - 위치값을 Anti Aliased Noise 와 연결해 노이즈를 준다. 그걸 noise란 이름의 속성에 저장해야한다. 저장 전, fit이란 노드를 사용해 -0.5~0.5를 0~1 크기로 맞춘다. - 다음으론 polyreduce 노드를 이용해서 폴리곤을 줄이되, 앞서 한 noise 속성을 가지고 weight값을 준다. 그러면 그 노이즈 값을 이용해서 저렇게 폴리곤 구조가 바뀐다. - 이를 divide 노드에 연결해 compute Dual을 켠다. 그러면 6각형의 모습이 만들어진다. - Poly..

Programming/Houdini 2023.07.17

[Houdini] Terrain Basic

※ 해당 모델링은 SideFX의 인강을 참고하여 만들었습니다. 더보기 Foundations | Terrain | SideFX 1. Shaping Heightfield 모양을 잡는 방법에는 여러 방법이 있겠으나 인강에서 한 방법을 설명하겠다. 인강에선 Noise노드의 Noise setting을 Worley Cellular F1으로 설정해 대강 산 및 계곡의 모양을 잡었다. 이 때 move축을 이용해 offset을 바꿔 모양을 바꿀 수 있다. 이후 blur와 distort를 얹고, 마지막으로 noise를 한 번 더 입혀 마무리한다. (아래 사진) 2. Creating Masks - Flow, Slope, Peak 각 마스크의 전체적인 노드 흐름은 다음과 같다. 흐름을 보면, 먼저 mask by feature..

Programming/Houdini 2023.07.03

[Houdini] Modular Building 1

※ 해당 모델링은 Udemy 강의를 참고하여 만들었습니다. 더보기 1. Attribute Wrangle and VEX 먼저 int형 변수 iter (interator)를 생성하는데, 생성 시 detail이란 함수를 사용한다. 뒤에 +1를 붙인 이유는, 붙이지 않으면 계속 첫번째 부분의 모델이 고정되기 때문이다. 다음으로 Attribute를 만든다. windowType이란 이름을 가진 Attribute는 rand함수를 사용하여 랜덤으로 값을 지정해준다. seed에 따라 랜덤값을 변경 할 수 있도록 seed란 채널을 만들어 곱하고, 거기에 또 채널 numInputs을 만들어 전체 인풋 수를 곱한다. floor를 하는 이유는 정수값만 출력하기 위함이다. 같은 방법으로 windowPropType이란 속성도 만드..

Programming/Houdini 2023.07.01