이 게시글은 움짤이 있습니다. 데이터가 많이 나갈 수도 있습니다.
SceneDepth 노드
기존의 씬 깊이를 출력하는 표현식이다.
PixelDepth 와 비슷하나, PixelDepth 는 현재 그려지고 있는 픽셀의 깊이만 샘플링할 수 있는 반면, SceneDepth 는 어느 위치의 깊이도 샘플링할 수 있습니다.
https://docs.unrealengine.com/ko/RenderingAndGraphics/Materials/ExpressionReference/Depth/index.html
이렇게 적혀있는데, 읽는 것만으로는 이해가 안 간다.
PixelDepth는 Pixel이 그려질 때의 거리, SceneDepth는 그냥 거리인가??
우리가 볼 때는 어차피 Pixel로 그려지면서 보게 되니까 2개가 헷갈리는걸까?
SceneDepth 노드 알아보기
반투명 머티리얼만 SceneDepth 를 사용할 수 있다고 한다.
반투명으로 바꿔주자.
테스트 환경을 만들어보자.
SceneDepth의 예제 노드를 만들어보았다.
3200유닛까지의 거리를 (0 ~ 1) 값으로 바꾸어서 색으로 출력했다.
큐브를 길게 늘려서 머터리얼을 적용했다. (벽면처럼)
와 신기하다 이러고 보고 있었는데, 왼쪽에 있어야 할 오브젝트들이 보이지 않았다.
다른 오브젝트와의 차이점은 이 오브젝트 2개만 반투명 오브젝트였다. (다른 오브젝트들은 불투명 오브젝트)
알아보니 반투명 오브젝트는 뎁스처리를 안하는 경우가 많다고 한다.
그래서 반투명 오브젝트는 Pixel Depth를 통해 따로 추가 연산이 필요하다고 한다.
예제를 만들어보려고 했지만, 잘 안 된다.
뒷 배경에 오브젝트들을 더 놔두고, 거리 값 조절을 해보았다.
가까운 부분부터 보이다가, 뒷 부분도 보인다.
SceneDepth 사용해보기
안개 끼는 상황을 구현할 때 사용할 것 같다.
SceneDepth와 PixelDepth의 차이점
많이 헷갈렸었는데, 이제 이해됐다.
PixelDepth는 (카메라 <-> 해당 머터리얼을 입힌 오브젝트) 거리
SceneDepth는 (모든 오브젝트) 거리
끝!
'Unreal' 카테고리의 다른 글
[Material] Texture Sample, TexCoord, Panner 노드 알아보기 (0) | 2021.01.20 |
---|---|
[Unreal] 외부 에셋 임포트하기 (3) | 2021.01.19 |
[Material] PixelDepth 노드 알아보기 (0) | 2021.01.18 |
[Material] DepthFade 노드 알아보기 (0) | 2021.01.18 |
[Material] Fresnel 노드 알아보기 (0) | 2021.01.16 |