02_Volume Node 다루기 & 시각화 (2023. 6. 21)
2023.5.9
2023.6.21
지난번 volume 강의를 시작했을 때는 뭔가 영상을 멈추고 따라해보는데 급급해서 전체적인 맥락을 파악하는데 부족했다고 느꼈다. 오늘은 먼저 쭉- 듣고나니 머릿속에 정리가 더 잘 되었다. 한번에 이해가 잘 안된 부분만 영상을 뒤로 돌려 다시 들으면서 이해하였다. volume 노드에서 중요한 것은 오브젝트의 외곽을 sdf 값이 0이라고 할 때, 0에서 1의 범위로 표현되는 ramp 파라미터에서 sdf = 0인 부분을 확인하기 위해 -1에서 1의 범위로 영역을 변경하고 ramp값을 1로 설정하는 것이다. 이때, isooffset과 vdb가 볼륨의 정보를 다루는 방법이 다르기 때문에 경우에 따라 더 유리한 방법을 선택하여 볼륨을 만들 수 있어야 한다. 최소 두 번씩은 들어야 이해가 좀 더 잘 되는 것 같다:)
volume 노드
- volume 노드에서 중요한 것은 이름 설정과 Rank를 잘 확인하는 것
- Rank: Scalar(float 정보), Vector, Matrix
- Center: 볼륨의 위치
- Unifom Sampling: 복셀을 나누는 기준
vdb + vdb activate
- volume 노드에서 활용하는 파라미터는 vdb 노드와 vdb activate 노드에서 확인할 수 있다.
isooffset(volume)
- polygon의 안과 밖을 구분하여 밀도나 SDF의 결과를 보여준다.
vdb from polygons(vdb)
- Exterior Band Voxels: SDF 기준 바깥 부분으로 커지는 voxel
- Interior Band Voxels: SDf 기준 안쪽으로 커지는 voxel
- Fill Interior: SDF에 비례하여 밀도값이 정해질 때, 표면에 가까울 수록 밀도가 낮아보이고 멀수록 높아보인다.
volume visualization
- volume(isooffset) 또는 vdb(vdb from polygons)를 시각화하는 노드
- Density Field, Diffusion Field에는 볼륨의 이름이 들어간다.(같은 이름을 작성하는 것 중요)
- Minimum ~ Maximum: 마치 fit( ), clamp( ) 처럼 볼륨이 갖는 밀도 값에 변화를 준다.
- Density Scale: 바뀐 밀도(정보)의 증폭
- Density Ramp와 Diffusion Ramp는 독립적이며, Diffusion Ramp에서 Diffuse Range를 통해 Diffusion Ramp만의 범위를 설정할 수 있다.
- SDF가 음수인 구간을 포함하여 0인 표면에 집중하고 싶을 때, 범위를 -1 ~ 1로 설정한다.
- Emission: 발광하는 표현
voxel의 사이즈로 인해 SDF가 0인 표면에 집중하고자 할 때 Exterior Band Voxels과 Interior Band Voxels의 두께가 달라짐에 따라 Density Ramp에서 볼륨이 터지는 구간이 생긴다. ➡ voxel 사이즈에 따라 볼륨의 크기가 달라진다.
vbd로 표현할 때 제거되는 voxel로 인해 결과물이 달라질 수 있기 때문에 vdb가 언제나 volume보다 좋은 방법이라고 할 수는 없다.
volume을 배우면서 vdb 설명을 들어면 vdb가 더 좋은 방법인 것 같다가 또 다른 상황에서는 vdb로 사라진 voxel로 인해 결과가 달라지는 걸 보면 과연 내가 어떤 의도를 가지고 어떻게 표현하느냐라고 느꼈다. 어떠한 우연에 의한 결과물이 아닌 처음부터 끝까지 의도한 효과를 온전히 표현해낼 수 있기를. 이 스터디가 끝나는 시점에 최소한의 의도를 담을 수 있기를 바라본다.