X-RAY 머티리얼 구현(스텐실 버퍼 활용)

2025. 5. 20. 13:11·Dev./그래픽스 Graphics

1. 문제 정의

  • 가디언 플레이어(RTS 모드)
    • 탑뷰(≈80° 경사) 카메라로 벽과 천장을 뚫고 내부 캐릭터(몬스터)가 보여야 한다.
  • 시커 플레이어(TPS 모드)
    • 3인칭 시점에서 천장이나 벽이 뚫려서는 안 된다.

이 두 뷰를 동시에 지원하려면 카메라 투영 방식과 머티리얼 처리 로직을 분리하여 구현해야 한다.

2. 카메라 설정 최적화

먼저 카메라 투영 방식을 결정한다.

  1. 가디언 뷰
    • Perspective 모드로 설정한다.
    • 테스트하면서 디테일을 조정한다.
  2. 시커 뷰
    • Perspective 모드로 설정한다.
    • 벽 높이가 기본 530 UU일 때 낮게 느껴지므로, 최소 1.25배(≈660 UU)로 스케일을 조정한다.

3. 커스텀 뎁스 스텐실(Buffer) + 포스트프로세스

1. 프로젝트 세팅

  • Custom Depth Stencil Buffer 활성화
    • Project Settings → Stencil 검색 → Enable with Stencil 체크

2. 머티리얼(포스트프로세스) 생성

  • 새로운 머티리얼(M_XrayVision)을 만들고, Material Domain을 Post Process로 설정
  • Blend Position은 Scene Color Before Bloom (UE5.4 기준)

  • 주요 노드:
    • Custom Depth Stencil → Emissive Color
    • Lerp 노드로 강조 색상 전환


3. 커스텀 스텐실 값 할당

스텐실 값 (Stencil) 대상 객체 강조 색상
0 일반 환경 없음
1 오브제(Object) 노란색 🟡
2 몬스터(Monster) 초록색 🟢
3 시커(Seeker) 빨간색 🔴

  • 포스트프로세싱 볼륨 배치
    • Post Process Volume을 레벨에 배치하고, 인스턴스된 머티리얼을 지정
    • 커스텀 뎁스 값 ≥1인 객체만 하이라이트
      • 만약 표시되어야 하는 객체(캐릭터, 오브젝트 등)가 있다면 전부 커스텀뎁스 값을 지정.


버퍼 시각화 및 디버깅
개발 중 문제 해결을 위해 버퍼 시각화 옵션을 활용:
뷰포트에서 "Buffer Visualization" 드롭다운 클릭.
➡️ "Custom Stencil"을 선택하여 스텐실 값이 지정된 오브젝트를 확인.

4. 최종 노드


2025.05.08 - [Dev./그래픽스 Graphics] - 벽 너머 캐릭터 보기: 오클루전 마스크 쉐이더

 

벽 너머 캐릭터 보기: 오클루전 마스크 쉐이더

오클루전 마스크로 게임 시야 문제 해결하기"벽이나 지붕 뒤에 가려진 캐릭터를 어떻게 볼 수 있게 할까?"에 대한 효과적인 해결책!!➡️ 오클루전 마스크 셰이더(벽을 투명하게 만들어주는 효

raindrovvv.tistory.com

2025.05.16 - [Dev./UE 언리얼 엔진] - WIL 2025.05.12~05.16

 

WIL 2025.05.12~05.16

1. 주간 개요 주요 목표 : Wwise+UE 연동 / 발소리·함정·화살 사운드 등완료 리스트: 🔊 사운드 (발소리, 함정, 화살…)🖌️ 그래픽·VFX (발자국, 머티리얼…)2. 핵심 배운 점 요약- Wwise 활용 방법- Ph

raindrovvv.tistory.com

'Dev. > 그래픽스 Graphics' 카테고리의 다른 글

용암 & 화염 방사 함정 점화 VFX  (0) 2025.05.19
돌 함정 나이아가라 효과  (0) 2025.05.18
발자국 구현  (0) 2025.05.18
벽 너머 캐릭터 보기: 오클루전 마스크 쉐이더  (0) 2025.05.08
X-Ray 비전 효과 구현: 포스트 프로세스와 커스텀 뎁스 스텐실 버퍼  (0) 2025.05.07
'Dev./그래픽스 Graphics' 카테고리의 다른 글
  • 용암 & 화염 방사 함정 점화 VFX
  • 돌 함정 나이아가라 효과
  • 발자국 구현
  • 벽 너머 캐릭터 보기: 오클루전 마스크 쉐이더
raindrovvv
raindrovvv
raindrovvv 님의 블로그 입니다.
  • raindrovvv
    raindrovvv 님의 블로그
    raindrovvv
  • 전체
    오늘
    어제
    • 분류 전체보기 (100) N
      • Dev. (93) N
        • UE 언리얼 엔진 (48)
        • Unity 유니티 (0)
        • Wwise 와이즈 (7) N
        • 게임 네트워크 (8)
        • 그래픽스 Graphics (22) N
        • 프로젝트 (4)
        • 기타 개발 관련 (4)
      • Computer Science (0)
        • 하드웨어 HW (0)
        • 소프트웨어 SW (0)
        • 통신 (0)
        • 데이터 (0)
      • 블로그 (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    오디오미들웨어
    그래픽스
    게임
    셰이더
    UE
    unrealengine
    언리얼
    네트워크
    게임음향
    와이즈
    AI
    게임개발
    게임네트워크
    고라니
    Wwise
    게임사운드
    TA
    Unreal
    언리얼엔진
    머티리얼
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
raindrovvv
X-RAY 머티리얼 구현(스텐실 버퍼 활용)
상단으로

티스토리툴바