본문 바로가기
연기만들기 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.
Volume Sample 이번엔 볼륨샘플에 대해 알아봅시다. 볼륨을 받아오는건데.. 그전에 일단 빈 볼륨 하나를 만들어 보죠 EmptyVolume 을 1로 만들면.. 다 차서 보이는데 이게 비주얼에서 1인것이 파랑이라서 이렇게 보이는 건데요 아래보시면 1이면 파랑인걸 알 수 있죠 그말은 1이 아니면 다른색으로 보일 수 있다는 말? 모찌론 뭐 됐고. 자 이번에는 레퍼런스가 되는 볼륨을 만들 거야요. 새로 만들거죠 지금 value가 그냥 1인데 이거 수치로 나중에 볼륨랭글로 넣을꺼니까 일단 0로 합시다. 그럼 안보이겠죠 대신 여기 랭글에서 위치값을 넣어줍시다. 양수만 나오겠죠 그리고 비주얼라이제이션 연결해주고 이름 연결해주면 이렇게 되는거죠 이름 맞춰주는거 주의하세요 그럼 준비가 되었습니다. 대충 X 쪽으로 이런 느낌인 거죠. 이제.. 2024. 2. 13.
볼륨 랭글 / VOP & 비주얼라이즈 이번엔 볼륨 연산을 해 봅시다. 볼륨을 이용한 구름연산을 하는게 최종인데.. isooffset 과 vdb 차이 일단 빈 볼륨부터 만들어 보죠 아 그 전에 디스플레이 설정부터 만져야 해요 볼륨 퀄리티나 필터링이 높으면 본래대로 잘 안보이기 땜에 퀄리티는 노말. 필터링은 오프. 일단 iso 옵셋. 그러면 볼륨으로 보이기 시작한다. 그리고 vdb 프롬 폴리곤. fog vdb로 바꿔주고, 이름정해줬다. 이름은 나중에 연산때 써야해서. 둘은 같지만 다르다는걸 보여주려고. 그리고 null 하나 만들어주고 div_control이란 이름 만들어주고 div float 하나 만들어줘서 range는 0.05 ~ 0.5 로 만들어준다. iso offset 에서는 샘플링을 Bysize 로 해주고 채널 넣어주면 .. 연동됨 VD.. 2024. 2. 11.
반응형