본문 바로가기
기타 공부하기/후디니

Smoke solver, Dopnet

by 대마왕J 2024. 3. 6.

일단 돌아가는 공 볼륨부터 만들고 봅시다 

이제 dopnet을 만들어 위의 공 볼륨을 받아와 쌓아줘야겠지요. 
저번 시간에 한 것을 dopnet을 이용해서 다시 똑같이 하는 겁니다. 

그래요 이제 dopnet을 하나 만들어 주고 

이 안의 세팅을 해줘야 합니다 여기가 좀 거시기 하죠
신경써줘야 할 게 많습니다. 

- 일단 SOP path를 넣어줘야죠. 이전에 위에서 만든 sphere를 찾아 넣어주면 됩니다. 
- Operations에 1을 넣어서 하나의 값을 받아오게 하죠. 뭐 만든게 sphere 하나뿐이라 걱정 없습니다. 
- Field Rank는 스칼라냐 벡터냐인데 우리가 만든건 스칼라 밀도니까 스칼라. 얘들은 UI 네임 좀 통일했으면 좋겠어요. 뭔 팀마다 서로 다른 인터페이스 만드나. 
- Source Volume은 sphere
- Target Field는 density (이거 어디서 왔지) 를 넣어줍니다. 
- Operation은 더할거니까 Add로 걍 둡니다. 

아 Density는 아래에서 온거군요. 여기다 넣으라는 거군 
여하간 여기 스모크 오브젝트는 마당을 만드는 거잖아요. 사이즈는 한 5 5 5 정도 넣어주고요> 
디비젼은 좀 더 작게 하면 디테일해지겠죠 

그리고 이 상태에서 돌려보면 이전에 만들었던 것과 똑같은 것이 만들어지는 것을 볼 수 있습니다. 

 

자 여기까지 되었으니 바람에 의한 벡터필드도 만들어 줄 수 있겠죠?

늘 만들던 벡터필드를 만듭시다 

볼륨밥은 이렇게 . 이름은 wind로 하는 것이 중요 

그리고 dopnet에서 부릅니다. 
기본적으로는 동일한데, 타겟 필드가 vel인게 중요해요. 이건 바람역할 하는거라. 근데 왜 velosity가 아니지? 
경로와 형식과 이름을 맞춰주는걸 잊으면 안돼요 

그러면 이렇게 잘 됩니다. 

지금 구조는 이거예요 

이제 결과는 같은데 다른 구조를 한 번 만들어 봅시다 
정리하자면 이거예요. 이전에 한게 따로 만들어 각각 답넷에서 불렀다면, 
이번엔 걍 머지해서 부르는거죠 

 

그리고 다른 답넷을 만들어 처리하는데, 

여기서 좀 신기한건 시뮬레이션을 1프레임부터 하면 캐쉬가 갱신이 안되는 경우가 생긴다는 겁니다. 시뮬을 그래서 한 11 프레임 부터로 하면, 처음으로 프레임 돌리면 캐쉬가 갱신됨. 

어쨌건... 답넷에서는 이제 머지된 놈을 불렀으니까 오퍼레이션을 두 개 만들고 각각 아래와 같이 불러주면 동일한 결과가 나오게 됩니다. 

사실 동일할 수 밖에 없지. 두 가지 방식의 차이를 비교해 보세요 

반응형

댓글