본문 바로가기
Gas 노드 디테일 업그레이드 이번에는 가스 노드들을 좀 더 깊게 파봅니다. 기본형인 여기서부터 시작하고요 일단 조명부터 만들어서 좀 더 잘 보이도록 만들어 놓고 가 보시죠 이제 추가할 노드들을 하나씩 알아보죠 gas dissipate(분산) 첫 번째 노드는 가스 분산, gas dissipate 노드입니다. 말그대로 가스를 분산시켜서 없애버립니다. Evaporation Rate를 0.9로 올려주면 매 틱 연산마다 0.9를 곱하니까 10% 씩 사라진다 그럼 이렇게 희미하게 사라져요 0.9 근처값 추천. 위처럼 density 가 아닌, temperature 로 해도 어떤 효과를 받을 수 있다. 단 이건 온도를 흩어지게 하는거라 살짝 다르지. 이건 밀도를 줄이는게 아니라 온도를 줄이는거니, 위로 올라가는게 없어진다는거지 근데 이건 벨로시티.. 2024. 3. 18.
볼륨 충돌해 보기 이걸 만들어 볼거예요. 뭐 쉽죠. 기존에 만든 기본형에다가 일단 박스를 만들어 적당히 위치시킵니다. 그리고 static 오브젝트 불러서 연결해주고, 컬리젼 시켜줍니다. 뭐 저긴 아무것도 안해도 잘 동작하긴 하지만 굳이 볼륨으로 보고 그러는거죠. 똑같은 건데 좀 다르게 하는 법도 있습니다. sdf 로 만들어서 그걸 쓰는 법이죠 . 들어가서 만드는게 아니라 처음부터 만들어서 오는거 그 후에는 이렇게 모드를 볼륨샘플로 바꾸고 프록시 볼륨 주소를 적어주면 됩니다. 그럼 똑같이 충돌함. 빙글빙글 도는걸 충돌해 봅시다 일단 도너스를 빙글빙글 돌게 하고요 아 위치는 잘 잡아 놨어야지. 히 돈다 그리고 역시 똑같이 static object로 연결해 주는데 움직이니까 deforming geometry 로 만들어주는거 잊.. 2024. 3. 16.
볼륨 기본형 만들고 저장하기 일단 볼륨 기본형을 만드는걸 복습해 볼까요. 기본형이란 볼륨을 만들고, 온도값을 넣고, 초기 벡터값을 넣어둔 상태를 의미합니다. 그럼 일단 차근차근 해봅죠 뭐 얘기 안해도 이것까진 알겠죠. 공을 볼륨으로 만들어서 a 라고 밀도 볼륨을 하나 만들고, 그걸 이름만 바꿔서 온도 볼륨과 벨로시티 x y z 으로 나눠서 vdb 벡터 프롬 머지 이용해서 합쳐준 거예요. 온도 temp 볼륨은 뭐 그냥 암것도 안하고 이름만 바꾼건 초기 방향 벡터 볼륨은 Volume VOP으로 파라미터를 넣어줬어요 그리고 값을 넣어줌 값은 이정도로 오른쪽 아래로 쏘게. 그 뒤에 Dopnet 에서 받아서 처리해줍니다. 부력수치를 조절해서 온도에 너무 떠오르지 않도록 조치. 그라운드까지 달아줬어요. 가스 리사이즈 플루이드 다이나믹으로 동적.. 2024. 3. 16.
소스에 초기속도와 온도를 넣어주기 기본형을 만들고 갑니다. 여기서 박스는 저 볼륨 크기를 잡기 위한 가이드라인인데, 사실 dotnet 안에 gas risize fluid dynamic이 있으니 굳이 필요가 없는편. 여하간... 여기서 초기속도값을 넣어줍시다. 초기속도를 넣어주기 위해 벡터 영역? 을 만들어주는데 null로 뺀다음 복사해서 x y z 이름을 각각 넣어주고 합친후 vdb vector from scalar 를 이용해서 벡터로 만들어줌. name 어떻게 하는지 조금 잘 봅시다 . 이렇게 하는거임. 그리고 이제 이걸 머지해서 이렇게 합쳐줌 원래 src_den으로 들어오던게 scr로 합쳐졌잖음? 그럼 dopnet 에서도 소스 경로를 다르게 해줘야 함. 그리고 오퍼레이션은 두개가 되는 거임. 하나는 원래 있던 scarlar den 또.. 2024. 3. 13.
연기만들기 gas 노드 / 플루이드 다이나믹 일단 연기 볼륨을 두 개 만들어 봅시다. 물론 하나는 가로로 돌고 하나는 세로로 돌지롱 그다음 dopnet 에서 이녀석 시뮬레이션을 걸겁니다. 볼륨 가지고 만드는건 기본적으로 아래와 같다는걸 외워야죠 스모크 오브젝트를 스모크 솔버에 넣고, 마지막은 볼륨소스들을 넣는것. 그럼 볼륨 소스를 받아와야 하는데 이것도 좀 외워야 하지 SOP 패스 받아와야 하고, 거기에서 어떤 이름의 볼륨을 어떤 필드에 넣을 것이냐라고 해줘야 함. a 만 해줬는데 b 도 해줘야지. 해주고 나서 스모크 오브젝트에서 크기 늘려주고 디비젼은 밖에다가 파라미터 하나 만들어준거 연결해준거임 그리고 시간을 좀 뒤로 빼면 볼륨이 쌓이는걸 볼 수 있음. GAS 노드로 내부에서 처리해주기 자 준비 끝. 이제 바람이나 노이즈를 만드는데, 그전에는 .. 2024. 3. 11.
Smoke solver, Dopnet 일단 돌아가는 공 볼륨부터 만들고 봅시다 이제 dopnet을 만들어 위의 공 볼륨을 받아와 쌓아줘야겠지요. 저번 시간에 한 것을 dopnet을 이용해서 다시 똑같이 하는 겁니다. 그래요 이제 dopnet을 하나 만들어 주고 이 안의 세팅을 해줘야 합니다 여기가 좀 거시기 하죠 신경써줘야 할 게 많습니다. - 일단 SOP path를 넣어줘야죠. 이전에 위에서 만든 sphere를 찾아 넣어주면 됩니다. - Operations에 1을 넣어서 하나의 값을 받아오게 하죠. 뭐 만든게 sphere 하나뿐이라 걱정 없습니다. - Field Rank는 스칼라냐 벡터냐인데 우리가 만든건 스칼라 밀도니까 스칼라. 얘들은 UI 네임 좀 통일했으면 좋겠어요. 뭔 팀마다 서로 다른 인터페이스 만드나. - Source Volum.. 2024. 3. 6.
Solver를 이용한 횃불인줄 알았는데 돌아가는 도깨비불 만들기 이제 기본적으로 돌아가는 불을 만들었는데 이거라면 불이 너무 깨끗하잖아요? 그러니 이전 시간에 배운 벡터필드를 이용해서 불이 구겨지는걸 구현해 봅시다. 이런거요. 이제 슬슬 왜 후디니는 다른 그래픽 프로그램들과 차원이 다르게 어렵다고 하는지 알 것 같음. 여하간 아래처럼 만들어 주면 된다는 겁니다. 바람 벡터필드를 만들땐 Vector Float으로 만드는 것을 주의해야 합니다. 정신 앗차 하는 사이에 일반 float으로 만들지도 몰라요 VDB 를 만들고 VDB activate로 활성화시켜준 다음 volumevop을 걸어준다. volumeVOP 에서도 주의할점은, bind와 bind export를 만들어 연결해줄때 float이 아닌 vector로 만들어야 한다는 겁니다. 둘다 해줘야 한다는거.. .게다가 .. 2024. 3. 2.
Solver를 이용한 횃불 만들기 일단 횃불을 만들기 이전에 , 돌아가는 불을 만들어 보겠음. 그냥 동그란 불말예요 일단은 아래것 부터 만들기로 하죠. 우선 VDB 가지고 빈 그릇을 만들어요 이름은 Plate라고 지어요. 그리고 공을 하나 만들고 add로 포인트를 만들고 빙글 돌게 해요. 카피 투 포인트로 공이 따라오게 하고 그걸 vdb 프롬 폴리곤으로 해서 볼륨으로 만들어 a 라고 이름지어요 이제 이 공이 계속 자국남아 돌게 하기 위해서 솔버에 넣습니다. 솔버는 시작프레임을 11로 했어요. 보기 편하게 솔버에서 vdb combine 으로 add 오퍼레이션으로 섞으면 돼요 그럼 이렇게 완성 근데 점점 사라져야지요? 지금은 너무 겹치기만 하고 있어. 그럼 매 프레임 볼륨의 밀도를 빼주기만 하면 된답니다. 그럼 solver에서 volume .. 2024. 2. 29.
Gradient와 advect 이번에는 확산과 와류 . 즉 퍼지는 것과 이동하는 것을 공부하려 해. 우선 이걸 만들자고. 별 거 없어. Volume VOP 에서 파라미터를 만들어 1,0,0 을 더해준 것 뿐이야. 자꾸 실수하는건 Vdb activate 에 Value를 0으로 놓는걸 잊어버린다는건데, 이걸 1인 기본값으로 되면 벡터가 1,1,1 상태인채로 연산되게 되어서 이렇게 된다는 거야. 뭐 됐고. 어쨌거나 X 축으로 흘러가는 벡터필드라는 것을 알겠지? 노이즈를 줄 수 있는것도 당근. 노이즈를 주는 것은 이렇게. 그리고 여차 저차 중간에 날려서 문젠데. vdb advect로 아래와 같이 for-loop with feedback 사이에 넣어서 벡터 필드 연산을 적용할 수 있다. 그럼 벡터 필드의 그라디언트에서 중화시키려는 힘이작동하면.. 2024. 2. 27.
벡터볼륨 / 벡터필드 비주얼라이제이션 헤에 드디어 벡터 필드가 나오는군요 이거 사전지식 없이 이해하시는 아티스트는 꽤 적을듯. 일단 벡터 볼륨(벡터필드) 란 방향으로 차 있는 공간? 정도의 느낌입니다 그럼 일단, 두 개의 볼륨을 봅시다 하나는 vdb로 만든 볼륨이고, 하나는 volume으로 만든 볼륨이예요 둘은 기본적으로 같죠 그런데, vdb를 벡터 플롯으로 바꿨을때랑 volume을 벡터 플롯으로 바꿨을때랑 결과가 달라요 여태까지는 그냥 float이어서 문제 없었는데, 이제 벡터, 즉 float3 가 된거죠 어떻게 다르냐면, 인포를 보면 알 수 있습니다. vdb는 vec3 값으로 만들어졌다면, volume은 float 3개로 이루어진 모양입니다 이렇게 두 가지의 벡터값으로 나오는 경우가 있습니다. 둘 다 다뤄야 하니 둘 다 다루는 법을 배워.. 2024. 2. 23.
치즈 만들기 볼륨의 연산으로 치즈를 만들어 봅시다. 일단 잘라야죠 튜브를 하나 만듭니다. 뚜껑 덮고, 면 늘리고, 높이 줄이고 적절히 중심도 맞춰줘요 그다음에 Booleanfracture 노드를 써서 세로로 세운 그리드를 연결해주면 잘라주게 됩니다. 그리고 나서 explode view 라니 .. 아니 무슨 이런 노드가 다 있죠 ..? 이번에는 마찬가지로 약간 45도 기울인 그리드 가지고 또 잘라줍니다 . explodedview는 그냥 잘라진걸 떨어뜨려 보여주는거네요 뭔 ... ㅎㅎ 이제 이걸 한조각만 남기려면 이렇게 하고 선택해줘야 한 덩어리 오브젝트가 선택가능. 그리고 선택한 후에 Del 키로 지워주면 알아서 Blast가 붙으면서 삭제되는데, 이걸 Delete Non Selection 으로 해주면 지운놈만 살아남게.. 2024. 2. 18.
볼륨 렌더하기 2 / Emission / Fire 이번에는 Emission 으로 렌더링해봅시다 하고 싶은건 이거 일단 이걸 하려면 안쪽은 이렇게 하고 Emission 은 이렇게 하면 됨 ㅎ 근데 이걸 렌더하려 하잖아요? 그럼 안되죠 같게 하려면 일단 메터리얼을 만들고 mat 에서 만든 셰이더와 연결해줘요 out 에 만트라 연결해주는거 잊지 말고요 메터리얼에 가서는 스모크와 Fire 모두 이름으로 연결해 줘야 하는데요 Fire는 미리 가서 켜줘야 Bind에서 활성화 된다는 것이 주의할 점입니다. 나머지는 뭐 같아요 그럼 이렇게 렌더에서도 잘됨! 2024. 2. 18.
반응형