프로젝트 설정

  • Unreal > Project Settings > Engine > Rendering > Postprocessing
    • Custom Depth-Stencil Pass = Enabled with Stencil
      • 명령행에서 r.CustomDepth = 3를 실행해도 된다.

Custom Stencil 패스를 사용하는 방법.

  1. 모든 Mesh Component에서 다음을 설정한다.
    • Render CustomDepth Pass = True
    • Custom Depth Stencil Write Mask = Default
    • CustomDepth Stencil Value = {id}
  2. 시퀀스 렌더링에서 Custom Stencil 패스를 추가한다.
  3. 렌더링

결과물에서 숫자표기를 제거하기 위해 다음절차를 실행:

  1. Unreal > Content Browser > Engine Content > BufferVisualization > CustomStencil
  2. 열어서 편집.
  3. Mask to non-zero stencil values 의 output을 CustomStencil.EmissiveColor 에 연결
    • 숫자를 표기하는 부분을 생략한다.
  4. 컴파일 및 저장

Mesh 설정

  • Mesh > Rendering >
    • Render CustomDepth Pass = True
      • 배경이나 소품에도 켜져 있어야 캐릭터가 정상적으로 가려진다.
    • Custom Depth Stencil Write Mask = All bits (255), ignore depth
    • CustomDepth Stencil Value = ID값

기타

CustomStencil의 값을 얻어 원하는 범위의 값만 1로 리턴하는 PostMaterial을 만든 뒤 시퀀스 렌더링 시 PostMaterial로 지정하여 Final 패스로 알파를 얻는 방법도 있다.

연구할것

레벨, 시퀀스 블루프린터로 모든 액터와 Mesh 컴포넌트를 얻어 Custom Depth를 켜주는 방법.