본문 바로가기

Shader

Scene Depth와 Custom Depth

*Scene Depth와 Custom Depth란?

 

*참고 : https://eastroot1590.tistory.com/entry/UE4-Advenced-%EB%B2%BD-%EB%92%A4%EC%97%90%EC%9E%88%EB%8A%94-%EC%98%A4%EB%B8%8C%EC%A0%9D%ED%8A%B8-%EA%B7%B8%EB%A6%AC%EA%B8%B0-feat-Custom-Depth

 

UE4 Expert | 벽 뒤에있는 오브젝트 그리기 Custom Depth

위도우 메이커는 궁극기를 쓰면 벽 뒤에있는 적들의 실루엣을 볼 수 있다. 3D 게임에서 벽 뒤에있는 물체를 볼 수 없는 이유는 렌더링을 할 때 카메라와의 거리를 계산해서 더 가까이에 있는 물

eastroot1590.tistory.com

 

 

-Scene Depth

: 카메라와 카메라에 보이는 물체(pixel) 사이의 거리를 Scene Depth라고 한다. 기본적으로 모든 물체는 Scene Depth만 렌더링 파이프라인에 전달하여 순서대로 그리게 하지만, 임의로 Custom Depth를 전달할 수 있다.

얘는 픽셀 별로 거리를 잰다!! 생각해보면 당연함. 픽셀 별로 거리를 재야 앞에 있는 부분만 딱 그릴 수 있음

 

 

-Custom Depth

: 화면에 보이는것과 상관없이 카메라와 물체 사이의 거리를 나타낸다. 이 Depth를 통해 물체가 다른 물체 뒤에있는지 앞에있는지 식별할 수 있다. 얘는 오브젝트 별로 거리를 잰다!!

특정 오브젝트만 Mask하고 싶을 때 이용될 수 있다. 비슷한 걸로 Stencil Buffer을 써도 특정 오브젝트를 마스크할 수 있다.

(Stencil Buffer를 이용하려면 프로젝트 세팅에서 얘를 또 따로 켜줘야한다. Custom Depth는 안그래도 됌. Custom depth는 좌표계에 의해 카메라와의 거리 값이고, Stencil value는 사용자가 커스텀할 수 있도록 오픈된 값이라고 보면 됌.)

 

+참고 : https://youtu.be/PiQ_JLJKi0M?si=5x2p8KCjqfxSqVLe (Stencil Buffer)

+참고 : https://youtu.be/JH07z9Ap1hk?si=Pm2YYEg1Mseu_4-g (Custom Depth)

 

 

 

-Post Process Material을 만들어서 Custom Depth를 확인해보자. 그럴러면 우선 Mask를 할 오브젝트를 골라 '커스텀 뎁스 패스 렌더'를 켜줘야 한다.

-나머지는 맨 위의 링크 타고 들어가서 읽기!! 그게 설명 더 잘되어 있음

 

 

 

++ stencil buffer와 Custom Depth의 차이

: custom depth와 stencil buffer 모두 어떤 픽셀에 대한 부가정보인데, custom depth는 좌표계에 의한 카메라와의 거리 값이고, stencil은 사용자가 커스텀할 수 있도록 오픈된 값이라고 보면 된다고 함. (출처 : 맨 위에 링크)