본문 바로가기
볼륨 기본형 만들고 저장하기 일단 볼륨 기본형을 만드는걸 복습해 볼까요. 기본형이란 볼륨을 만들고, 온도값을 넣고, 초기 벡터값을 넣어둔 상태를 의미합니다. 그럼 일단 차근차근 해봅죠 뭐 얘기 안해도 이것까진 알겠죠. 공을 볼륨으로 만들어서 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.
볼륨 렌더하기 나중에 레이마칭용 볼륨을 렌더하는게 최종목표이기 때문에 이 부분은 중요. 일단 이런걸 렌더링해보자 이걸 만들려면 다음과 같이 하면 됩니다. 박스를 VDB 프롬 폴리곤으로 만들어 줍니다 Fog VDB 켜고 이름넣고, Fill Interior로 내부를 채워주는 방식으로 합니다. 그담에 반 짤라주고요 비주얼라이제이션에서 이렇게 해주면 이렇게 됩니다. 근데 이거 이대로 렌더하면 렌더는 또 안돼요. 볼륨 비주얼라이제이션이 렌더될거라 생각하지 마셈 안됨. 렌더하는거 잊었다면.. 카메라 만들어주고 라이트 만들어 주고 그 뒤 out 에서 만트라 누르고 렌더하고 싶은 오브젝트 써주면 됨. 그래서 이걸 보이게 하려면 메터리얼을 적용해야 함 이렇게 메터리얼 적용해주고 메터리얼에는 파이로 셰이더 만들어 주기 파이로의 바인딩의.. 2024. 2. 18.
구름 만들기 이번에는 구름을 만들어 봅시다. 이전 시간에서처럼 볼륨 샘플을 이용해서 기존에 있던 볼륨에 노이즈 패턴을 +- 처리해서 구름처럼 보이게 하는게 방법이예요. 그럼 먼저 노이즈 볼륨을 만들어 봐야겠지요? 노이즈 볼륨 우선 vdb와 vdb activate로 빈 볼륨을 만들고 4미터 짜리로 만들어줍니다. 이름은 empty로 했어요 복셀 사이즈는 div control 에서 제어하도록 해줬죠 그럼 아래처럼 꽉찰텐데 그럼 곤란하죠. 벨류값을 낮춰서 빈 볼륨으로 만들어 주세요 그다음에 volume vop를 달아줍니다. 0번에 들어왔으니 특별히 뭐 해줄건 없지만 안에 들어가서 해줄게 꽤 있어요 일단 bind랑 bind export 만들어 연결해주고, 둘 다 이름은 들어오는 것과 같이 empty, 기존의 density o.. 2024. 2. 16.
반응형