후디니 튜토리얼 소개/모델링

후디니 Attribute Wrangle 노드, Knotted Ball with Houdini

정재화 2020. 7. 2. 15:10
728x90
반응형

Houdini Algorithmic Live

- Knotted Ball -

 

후디니 튜토리얼 강의 : Junichiro Horikawa

🔨사용툴 : 후디니 (Houdini 183.0.391)

러닝타임 : 2시간 14분 50초


매듭으로 연결된 공을

후디니로 모델링해보는 튜토리얼

 

후디니 모델링 강좌입니다.

 

하지만 일반적인 모델링이 아닌

프로시쥬얼 모델링에 적합하고

수학적 알고리즘을 공부하는데

좋은 튜토리얼입니다.

 

이런 모델링은 주로 3D 프린트로 출력할때

빛을 발휘합니다.

 

Junichiro Horikawa 가 설명하는 것은

기술적으로 높고 코드 베이스로 진행이 되기 때문에

주로 Wrangle 노드에서 진행합니다.

 

 

튜토리얼의 시작

Platonic Solids SOP의 축구공 모델링을 사용합니다.

Junichiro Horikawa가

이 모델링을 꺼낸 이유가 있겠죠.

 

축구공은 5각형과 6각형으로

이루어진 모델링이기 때문인데요.

 

Attribute Wrangle 노드를 하나 추가하여

아래와 같이 입력합니다.

 

if(v@Cd.x < 0.5){

    setprimgroup(0, "pentagon", @primnum, 1);

}

else{

    setprimgroup(0, "hexagon", @primnum, 1);

}

 

기본적으로 제공되는 축구공 모델링을

이렇게 활용하다니 기가막힌겁니다.

엄청 스마트하신 분입니다.

6각형과 5각형을 어떻게 연결할 것인지 구상합니다.

 

굉장히 체계적이고

구체적으로 계획해나가는 모습을

배울 수 있는 튜토리얼입니다.

보면 볼수록 매력이 있는 튜토리얼입니다.

하지만 이걸 어디다 쓸거냐고 묻는다면

음~

그건 알아서~

Poly Extrude SOP을 추가하여 Insert 값을 조정합니다.

Attribute Wrangle 노드를 생성하고 다음과 같이 코드를 입력합니다.

int prims[] = polyneighbours(0, @primnum);

for(int i=0, i<len(prims); i++){
  int prim = prims[i];

  int primneights[] = polyneighbours(0, prim);
  int remove = 1;
  for (int n=0; n<len(primneighs); n++){
       int primneigh = primneighs[n];
       int ispentagon = inprimgroup(0, "pentagon", primneigh);
       if(ispentagon == 1){
          remove = 0;
          break;
       }
    }

  if(remove ==1){
     removeprim(0, prim, 1);
  }   
}

 

그러면 이런 결과가 나옵니다.

 

코드를 추가하여 6각형 폴리곤을 30도 회전시켰다.

유용한 방법이다.

 

728x90
반응형