Houdini Volume에 관한 간단한 정리
openVDB를 설명하기전에 volume을 기본적으로 얘기해야 할 거 같습니다.
우선 볼륨은 말그대로 부피를 얘기하는 것이며 후디니에서는 voxel(3차원의 픽셀 = Volume+Pixel)의 데이타를 저장하여 보여주는 것을 말합니다.
주로 구름 연기 불 같은 현상을 보여주려고 사용하며, 그 말인즉 frame에 따라 지오메트리를 움직이거나
콜리션 필드 같은 시뮬레이션 메타데이터를 축적된 데이타를 담아내기 위해서 사용됩니다.
후디니불륨에선 scalar, SDF(sign distance field), vector field 3개로 나누어집니다.
scalar는 연기 같은 곳에서 주로 쓰이는데, 각 점에서 density 농도를 숫자로 보여줍니다. 0은 완전 투명, 1로 갈수록 불투명해지는 것을 의미합니다.
sdf는 액체류에서 주로 쓰이는데 표면이 될 부분이 0으로 형성되며, 그것을 기준으로 위아래면을 +- 값을 가지고 보여주는 방법입니다.
마지막으로 vector field는 포인트마다 vector(ex. color나 uv)값을 저장하는 경우에 쓰입니다. 왜냐하면 기본적으로 볼륨은 vector 값일지라도 하나의 값으로 저장하기 때문입니다.
예를 들면 가스에서 방향 및 속도의 값을 가지는 경우에 쓰입니다.
openVDB는 드림웍스에서 만든 open source로서, 기본적으로 볼륨을 만드는 방법에 있어서 좀 더 효율적으로 만들고자 만들었다고 보면 됩니다.
가장 큰 차이점은 기존 후디니 볼륨은 볼륨을 측정하기 위해 만들어지는 큰 박스 칸에서 가지는 데이터를 전체적으로 가져가 계산하는 것에 비해
vdb는볼륨데이터가 생기는 주변, 즉 value가 생기는 기준 주위만 챙겨 계산함으로서 데이터의 양을 크게 줄이는 것이라고 봅니다.
그 외에는 surface volume, fog volume으로 구성되는 점에 있어서는 후디니 볼륨과는 큰 차이가 없다고 봅니다.
이제 다이나믹 파트를 시작하면서 VDB를 보고 있지만 정말 대단한 툴인거 같습니다. 앞으로 더 연구해보도록 하겠습니다.
VDB에 관한 소개는 https://www.youtube.com/watch?v=7hUH92xwODg 여기서 보시면 됩니다.
Comments 1
덕분에 좀 이해할수있네요,잘봤습니다!