-
01_Volume 기초 이론, Density와 SDF (2023. 6. 20)STUDY: TWA후디니 랭글러 2기 Volume 2023. 5. 9. 00:04
2023.5.82023.6.20
무려 한 달만에 다시 돌아온 후디니 스터디. 끝내지 못했던 이런 저런 이유들은 모두 핑계일 뿐이고 올해는 정말 후디니를 놓고 싶지 않아 다시 한 번 도전하기로 했다(이번에야말로 꼭 강의 완주를 해내야겠다). volume 첫 날은 가볍게 지난 번에 들었던 강의를 복습한다는 마음으로 들었다. 다행히 몇몇 개념들은 강의를 들으면서 떠올랐다. volume 첫 날 강의에서 중요한 부분을 다시 되짚어보면, 정보로서의 볼륨을 활용하는 방법의 중요성과 복셀의 위치(위치 값이 아닌 복셀 해상도상의 순서)를 유추할 수 있는 것, vdb를 활용한 볼륨이 데이터를 가볍게 만들고 SDF(signed distance field)로 설정하는 볼륨의 범위, 이 방향성은 노멀과 곡률을 구하는데 중요하다는 것. 지난 게시글에 정리했던 내용도 다시 한 번 확인하면서 게시글 수정으로 짧게 공부일기를 추가한다.
Volume이란?
: 공간을 voxel이라는 단위로 표현한 부피를 가진 결과물
1️⃣ 밀도로 표현하여 시각적으로 확인할 수 있는 결과
- 연기, 구름, 불, 화염, 에너지 등
2️⃣ 정보를 담고 있으며 시각적 의미는 없다.
- (공간에 부는) 바람, (표면의) 곡률, (표면의) normal 등
- volume을 통한 모델링에서도 활용이 가능
볼륨 이름 [ x축 voxel의 개수: a, y축 voxel의 개수: b, z축 voxel의 개수: c ] ➡ 총 voxel의 개수는 a ❎ b ❎ c
- density[ ] ➡ 밀도, float
- temperature[ ] ➡ 온도, float
- vel[ ] ➡ 속도, vector
- vel.x[ ], vel.y[ ], vel.z[ ] ➡ 속도, 각각 float 정보
하나의 volume은 그 자체로 하나의 primitive에 전부 저장되고, 이 primitive에 저장된 volume은 point 하나의 위치정보를 갖는다.
➡ 실제 각각의 voxel 값은 intrinsics에 저장되지만 구체적인 값을 얻지는 못한다.
volume은 마치 행렬처럼 정보를 다룬다. voxel의 총 개수만큼 정해진 위치(순서, integer 정보)가 있고, x축, y축, z축의 개수를 위치 값으로 하여 몇 번째 voxel의 어느 위치에 있는지 구할 수 있다.
volume[ a, b, c ] ➡ 위치
x: a, y: b, z: c
x + ( y + a ) + ( z + a + b ) ➡ 순서
vdb: 어떤 volume에서 값이 0이거나 정보가 없어 낭비되는 비효율적인 voxel을 제거하여 실제 해상도가 바뀌며 voxel의 개수도 현저히 줄어든다.
SDF: vdb에서 제거되는 부분을 활용하는 Signed Distance Field
- 구하고자하는 object와 어떤 voxel까지 최단 거리(voxel의 위치를 어느 한 점으로 보았을 때, 그 point를 기준으로한 원의 반지름이 거리)
- 정보로서의 volume으로 양수, 음수 값을 활용
- SDF = 0이라면 물체의 표면
- SDF = 양수라면 물체의 바깥 부분
- SDF = 음수라면 물체의 안쪽 부분
➡ 각각의 값에 (-)값을 곱해준다면 양수는 음수로, 음수는 양수로 바뀐다. 양수에서 음수로 바뀌었을 때, 0보다 작은 값을 모두 0으로 만들면 density(밀도)
- 양의 방향으로 커지는 값과 음의 방향으로 커지는 값이 다를 수 있다.(object 표면을 기준으로 안과 밖의 두께가 다를 수 있다)
그냥 volume(위)과 vdb(아래)로 만든 SDF의 결과
지난 starter & particle 스터디 일정을 결국 따라가지 못하고 volume을 먼저 시작하게 되었다. volume 스터디를 무사히 끝내고 starter & particle을 도전해야지.. 고난주간에 한 번 밀리기 시작하니 결국 남은 일정에 영향이 있었다. 중요한 것은 알아가는 과정인데, 내가 너무 욕심을 내어 처음부터 혼자 해보려고 하다가 큰그림을 보지 못한 것 같았다. 먼저 이해가 잘 가지 않거나, 어려운 부분은 스터디 일정 후에 복습을 충분히 하는 방법으로 공부를 다시 해보려고 한다..!
'STUDY: TWA후디니 랭글러 2기 Volume' 카테고리의 다른 글
03_part1. Volume 계산 Wrangle, Vop & Volume Sample, 구름 (2023.6.22) (0) 2023.06.27 02_Volume Node 다루기 & 시각화 (2023. 6. 21) (0) 2023.05.09