본문 바로가기

Houdini/Houdini1_Starter

STARTER02_Part1. Group Exercise

목차

  • 노드 설명
  • 공부 일기

모든 랭글러를 위하여!

 그룹과 관련된 연습을 해보자!!

 좀 더 단단하게 개념을 잡으려면, 새로 배운 내용들은 바로바로 써보고, 최대한 많이 불편한 상황속에 놓여봐야한다. 벽에 계속 부딫혀보면서 스스로 해결해내는 경험이 많이 쌓일수록, 실력은 빠르게 성장할 것이다. 따라하는 것만으로 끝내지 말고, 꼭 직접 해보자.


File Node

  • File Node를 이용해서 모델링을 불러올 수 있다.

  • 작업하기 알맞는 사이즈로 들어오는 경우가 있긴 하지만, 대부분은 우리가 작업하기 편하도록 사이즈를 조절해주어야 한다.

 

※ (기본셋팅에서) 후디니의 크기 1은 1m를 뜻한다.

※ (Scene View에서) 단축키 H → Scene View의 내용을 한눈에 들어오도록 카메라가 조정된다.

길이 400m, 폭 200m의 어머무시한 크기의 자동차

  • PolyBevel, Remesh 등을 활용할 때, 모델의 사이즈가 너무 작을 경우, parameter에 들어가게 되는 value가 굉장히 작아질 수 있다. 그렇기 때문에 적당한 크기로 키워서 작업을 진행하고, 최종적으로 사이즈를 조정하는 것이 좋다.
    1. 파일을 불러온다.
    2. 적당한 크기로 1차 사이즈를 조정한다.
    3. 임의의 작업을 진행한다.
    4. 최종적으로 우리가 원하는 사이즈로 조정한다.

이런 느낌?(비루한 영어실력)

※ 우리가 하게 될 그룹훈련의 전체 과정 : 자료 분석 → 자료 손질 → 카메라 셋팅 → 머티리얼 셋팅 → 렌더링

 

※ Low Polygon 모델 : 가볍긴 하지만, 머티리얼 적용 후 렌더링을 했을 때 퀄리티가 떨어질 수 있다.

※ 면 늘리기 : Subdivide는  원본(로우폴리곤 모델)이 잘 정리되어 있을 때 효과가 좋다. 정리되지 않은 모델은 오히려 효과가 떨어질 수 있다.

  • 제대로 된 결과물을 만들어내기 위해서는 모델을 분석하고, 그룹으로 나누고, 쪼개고, 필요할 경우 하나하나 떼어서 작업해야 한다.

 

※ Houdini에서 '선택을 한다' 라는 것은 '그룹을 지정해준다' 와 같은 의미로 봐도 무방할듯 하다.

 

Reverse Node

  • 선택된 면을 뒤집어준다.

※ Scene View에서 'S'를 누를 경우 Select mode로 바뀐다.

  • Scene View에서 면을 하나하나 선택하는 것은 비효율적이다. 이럴 경우 활용할 수 있는 좋은 기능이 있다.

Omg

  • Select항목을 3D Connected Geometry로 할 경우, 연결된 Geometry끼리 같은 색상으로 묶여서 Scene View에 표시된다.

 

※ Group Parameter 중 Initial Merge 설명

  • 기존 그룹(A)과 새 그룹(B)의 이름이 같을 경우에 대한 설정이다.

 

Replace Existing : 새 그룹으로 기존 그룹을 대체한다. (결과 : B)

Union with Existing : 기존 그룹과 새 그룹을 합친다. (결과 : A와 B의 합집합)

Intersect with Existing : 기존 그룹과 새 그룹이 교차하는 부분만 남긴다. (결과 : A와 B의 교집합)

Subtract from Existing : 기존 그룹에서 새 그룹이 교차하는 부분만 제외한다. (결과 : A에서 A, B의 교집합을 뺀 나머지)

 

노드 정리 tip!

  • Network View에서 'C'를 누르면 색상 팔레트가 나타난다. 선택한 노드의 색상을 바꿀 수 있다.

 

AttributeSwap Node

  • Geometry Spreadsheet의 Primitives 항목을 보면 지오메트리의 부분별로 name / materialpath가 나타나있다.
    • name은 구조별로 나뉜것 / materialpath는 페인트(재질)별로 나뉜것이다.
    • 우리는 현재 name으로 select를 진행하기엔 파츠가 적지 않다. 같은 재질이 적용되는 것으로 묶을 경우, select가 좀 더 쾌적할 것이다. 그것을 위해 name attribute와 materialpath attribute를 바꿔줄 것이다.
      • 이 때 사용하는 노드가 attribute swap node이다.

Attribute Swap Parameter

  • Method : 선택되는 방법에 따라 결과가 달라진다.
    • Swap : Source와 Destination Attribute를 서로 바꾼다.
    • Copy : Source Attribute의 내용을 Destination Attribute에 복사한다.
    • Move : Source Attribute의 내용을 Destination Attribute로 이동한다. 이 때, Source Attribute는 Geometry Spreadsheet에서 사라진다.

  • Source : 바꿔주고자 하는 attribute
  • Destination : 바뀐 데이터가 들어갈 attribute

 

※ Group을 할 수 있는 또 한가지 방법.

  • 위 사진은 'name Attribute가 Car-Paint-Red인 Primitive를 선택해서 Red라는 이름으로 그룹화하겠다.' 라는 의미이다. 

 

Subnetwork Node

  • 인풋으로 들어오는 내용에 대해 Subnetwork에서 임의의 작업을 수행한 뒤, Display Render Flag가 켜져있는 노드가 결과로 출력된다.

Subnetwork

 

Clean Node

  • Node info의 불필요한 정보들을 지워줄 수 있다.

Clean Node 적용 전
Clean Node 적용 후

※ Scene View에서 Select mode로 진입해서 Group을 생성해줄 경우, Display Render Flag가 켜져있는 노드 아래쪽에 Group Node가 생성된다.

이런식으로 수량이 많아서 Select 작업의 난항이 있을 수 있는 부분은 Group Combine Node를 활용하여 전체에서 다른 그룹을 빼주는 작업으로 그룹화 해줄 수 있다.

 

 

Subdivide Node

Subdivide Parameter

  • 어떤 알고리즘/규칙에 의해 프리미티브가 면이라면 새로운 포인트들을 만들어서 프리미티브의 양을 가로로 2배, 세로로 2배 늘려준다.
    • 만약 프리미티브가 선이라면, 가로 세로의 개념이 아닌, 선이 가지고 있는 포인트의 간격마다 새로운 포인트들이 만들어지면서 물체에 변형이 일어난다.

 

  • Algorithm

PolyBevel Node

  • edge를 임의의 수치만큼 벌리고, 면을 추가해서 곡률을 준다.

PolyBevel Parameter

  • Distance만큼 거리를 벌려주고, 벌린 거리에 Divisions 수치만큼 면을 나눠서 곡률을 추가해준다.
    • Fillet의 Shape에 따라 추가되는 곡률의 모양이 조금씩 다르다.

Distance = 0.1 / Divisions = 1
Distance = 0.1 / Divisions = 5

※ PolyBevel과 Subdivide를 섞어쓴다는 의미 = Subdivide를 줘서 부드럽게 면이 추가될 때, PolyBevel이 들어간 부분은 원형의 느낌은 최대한 살리면서 날렵하게 휘어지게 하자 라는 의미.

  • PolyBevel이 적용된 부분은 적용되지 않은 부분에 비해 면의 갯수가 더 많아지고, 그렇기에 Subdivide를 적용할 경우 더 촘촘하게 면이 추가되게 된다.

PolyBevel이 추가된 윗면의 평평함은 유지된 것을 확인할 수 있다.

 

Group의 Include by Edges 심화설명

Group의 한 방법인 Include by Edges

Include by Edges

  • Edge Angle : Edge를 공유하는 면 A와 면 B가 가지고 있는 Normal vector를 가지고 Angle을 계산한다.
    • Min Edge Angle : 위의 내용을 토대로 계산한 Angle이 Min Edge Angle보다 작을 경우 그룹에 포함시키지 않는다.
    • Max Edge Angle : 위의 내용을 토대로 계산한 Angle이 Max Edge Angle보다 클 경우 그룹에 포함시키지 않는다.

 오늘은 노드에 대한 설명들이 조금 있었고, 대부분 실습에 초점이 맞춰진 강의였다. 어제 배웠던 그룹에 대해 사용해보는 과정이 있었고, 다른 방법들에 대해서도 어찌 활용할 수 있을지 고민해보는 시간이었던 것 같다.

 각 부분마다 Group으로 묶어주고 blast를 활용해서 파츠를 찢어내는 작업들을 진행하면서, 최선의 결과물을 위해서는 노력이 필요하다는 것을 다시 한번 생각하게 되었다.

 

 공부하다가 든 생각, 만약 file 노드를 사용해서 내가 가지고 오게 되는 모델링이 이름도 규칙성이 없고, materialpath도 제대로 분할되어있지 않을 경우엔 그룹 작업을 어찌 할 수 있을까? (최악의 경우 materialpath가 적용이 안되어있다면?)

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

STARTER03_Mantra(Material, Group)  (1) 2023.01.10
STARTER02_Part3. Group Exercise  (2) 2023.01.07
STARTER02_Part2. Group Exercise  (0) 2023.01.05
STARTER01_EP01. GROUP  (1) 2023.01.04
Houdini 1 Starter_00  (0) 2023.01.02