본문 바로가기

Houdini/Houdini1_Volumes

10_POINT DEFORM, BRUTE 캐릭터 표면 연기 만들기 후디니에는 딱 하나의 정답만이 존재하는 것이 아니다. 오늘의 강의 순서 character 준비 & 데이터 정리 smoke solver setting 전기 효과 몇가지 추가적인 particles cache 정리 Mixamo 페이지에서 애님 데이터를 다운받는다. 이번에는 애님 데이터와 T 포즈 데이터도 받는다. Agent 노드를 이용해서 캐릭터를 불러온다. 애님 데이터와 T 포즈 데이터를 다 불러온다. point deform 노드에 활용해볼 예정이다. Point Defome Node polygon의 규칙이 같은 두 정보를 기준으로 포인트를 이동시켜준다. 첫번째 인풋 변화를 주고싶은 대상 두번째 인풋 기준 두번째 인풋의 위치를 기준으로 첫번째 인풋의 상대적 위치가 정해진다. 세번째 인풋 어디로 어떻게 변화를 .. 더보기
09_충돌 세팅 2가지, VDB FROM PARTICLES(숙제는 진행중) 효과를 레이어하는 방법을 조금씩 연습해야한다. 볼륨만으로 다 해결되는 것 아니고, 파티클로 다 해결되는 것도 아니다. 앞으로 후디니를 작업하면 할수록 효과를 레이어해주는 양도 많아지게 된다. 이론!! 일단 기본적인 닫힌 폴리곤에 대해 smoke가 생성되는 세팅을 만들어준다. gas dissipate의 diffusion은 블러와 관련이 되어있다. 굳이 이용하지 않는 이유는 blur를 적용해야 할 경우, gas blur라는 노드가 있기 때문에 굳이 dissipate 노드에서 블러를 조절할 필요가 없다. 충돌 / 중력 충돌의 조건은 앞으로 볼륨이 된다. static object에 들어갈 새로운 source를 하나 제작해준다. dop network 안에서 staticl object 세팅을 추가해준다. 이번에는 .. 더보기
08_연기 모양에 영향을 미치는 것들, POP ADVECT BY VOLUME 적용 오늘의 강의 1) 이론 설명 2) 예제 진행 3) 렌더 오늘은 단일 solver로 결과를 내지 않는다. 볼륨 + 파티클 사용 기본 세팅을 진행한다. 위의 세팅을 고수하는 이유는 우리가 현재 solver에서 사용하고 싶은 정보가 명확히 볼륨이라는 것을 인지하기 위해서이다. 다른 방식의 세팅법도 있다. pyro source 노드 하나만으로 세팅이 끝나는 것은 아니다. 이 노드는 우리가 어떤 볼륨 정보를 만들고 싶은지 그 정보가 될 포인트를 만들어주게 되고, volume rasterize attribute 노드로 포인트를 볼륨으로 바꿔주는 과정이 따로 필요하다. pyro source 세팅을 할 때, attribute를 추가해주고, attribute가 custom인 상태에서 각각 name을 적어준다.(여기에서는.. 더보기
07_SMOKE SOLVER 기본기 불 / 연기의 묘사에 필요한 내용이 어떠한 것이 있을까? 1. 연기 density 2. 속도(어떠한 방식이던 vector field가 필요하다_그래야지 advect가 발생한다.) V or vel 3. 온도 공기의 온도차로 인해 이동하게 되면서 속도가 발생한다. 그리고 연기는 위로 올라간다. 연기는 존재하지만, 온도가 없다면 어떨까? 바람의 영향만 받고 이류만 발생된다. temperature 위의 세가지가 solver에 들어갈 source가 될 예정이다. solver를 이용함에 있어서 source를 제작할 때 조건이 하나씩 빠질수도 있다.(이것은 제공해주기 나름) ex) 연기 + 속도 / 연기 + 온도 / 연기 (필요에 맞게 골라서 만들게 된다) pop / smoke / pyro solver 모두 비슷한 .. 더보기
06_SOLVER와 함께 VOLUME 다루기 Volume과 Solver를 함께 사용할 때 신경써야할 것 Solver가 안정적으로 반복이 될 수 있도록 만드는 것이 중요하다. 불필요한 정보는 깔끔하게 정리해주는 것이 좋다. 시작과 끝의 포멧을 맞춰주는 것이 엄청나게 중요하다. solver에 넣기 전에 solver 밖에서 한번의 사이클이 어떻게 진행될지 잘 짜주는 것이 중요하다. sphere 형태의 SDF가 팽창하듯이 점점 커지려면 어떤 정보가 필요할까? VDB Advect가 필요하다. polygon으로 SDF를 만들기 위한 VDB from Polygon이 필요하다. 외부로 팽창하는 방향을 위해 gradient를 얻기 위한 VDB Analysis가 필요하다. 표면이 자글자글하게 퀄리티가 낮아보이는 이유는, 현재 세팅에서는 처음에 분석한 gradient.. 더보기
05_볼륨의 확산? 이류? VOLUME ADVECT Advect 이류, 확산과는 뉘앙스가 다르다. 확산 주어진 공간 안에서 무언가의 값이 큰 부분에서 값을 떼어내어 값이 낮은 쪽으로 퍼지는 것 엔트로피가 높은 상태에서 엔트로피가 낮은 상태로 변화하는 것 검은색 구간을 밀도 0, 가운데 하얀색 구간을 밀도 1이라 가정했을 때, 확산이 일어나는 방향은 밀도가 높은곳에서 낮은곳으로 퍼지는 방향인 다음과 같을 것이다. 확산의 방향은 gradient의 방향과 반대이다. 이류와 확산의 차이 이류 이류는 확산보다 개념이 작다. 확산의 개념에 이류가 포함되어있다. 이류는 유체가 이동하게 되는 원인이다. 방향이 존재하고 그에 따른 이동이 있다. 마치 어떠한 값이 그 상태로 고스란히 움직이게 하는 것이 이류의 작동이다. 확산 이류의 모든 개념을 포함하면서 값의 평형이라는 .. 더보기
04_Vector Volume / VOL TRAIL, GRADIENT, CURVATURE 🔥완전중요🔥 오늘 다룰 주제. 1. vector volume & how to visualize 지금까지 다룬 밀도값을 가진 볼륨은 눈으로 시각화해서 보기가 좋았는데, 벡터 볼륨은 다른 방식이 필요하다. 2. Couverture & Gradient 3. Advect 확산에 대한 내용 / VDB Advect 4. Volume with Solver 일반 solver와 volume의 활용 5. Particles with vector field 파티클이 움직이는 조건을 우리가 만들어준 볼륨(Vector field)이 될 수 있도록 해줄 예정이다. vf(Vector Field)라는 이름의 볼륨을 만들어줬다. 이 볼륨에서 보고 싶은 것은 밀도로써의 정보가 아닌, 방향으로써의 정보이다. 각각의 voxel이 가지고 있는 방향이 어디.. 더보기
03_VOLUME_part2. Volume 계산능력 향상 필수 복습 robber toy를 구름처럼 보이도록 꾸며보자. Volume container를 만들어주고, 볼륨의 이름을 container로 지정했다. 그리고, rubber toy를 만들어서 isooffset을 적용해서 볼륨으로 만들고 이름은 toy로 지정했다. Volume VOP의 첫번째 인풋은 container 볼륨을, 두번째 인풋은 toy 볼륨을 연결하고, volume sample을 활용해서 toy 볼륨의 밀도값을 container 볼륨에 가져왔다. container 볼륨의 모든 voxel의 위치정보를 활용한 turbulent noise를 만들고, voxel의 위치값에 noise를 빼준 뒤, 이 vector 정보를 volume sample의 sample position에 연결했다. 이렇게 해줌으로써 con.. 더보기