Graphics(3)-그래픽 표현 기법

simple_coding·2024년 4월 23일

포스트 프로세싱

Global Volume: 씬 전체 적용
그 외: 해당 범위 안에서만 적용

Weight: 씬에 미치는 영향의 정도
Priority: 여러 볼륨이 씬에 영향을 미칠 때 이 값을 사용하여 어느 볼륨을 사용할지 우선순위 결정

  1. 새 볼륨 프로파일을 생성하고 Volume 컴포넌트에 Add Override 버튼을 추가
  2. Add Override를 클릭, Volume Overrides 다이얼로그에서 포스트 프로세싱 효과를 선택

ex)자주 활용하는 효과
Bloom: 섬광 같은 밝은 광원에서 나오는 빛이 주변 오브젝트로 새어 들어가는 것처럼 보이는 광학 효과
Vignette: 이미지 모서리를 어둡게
Motion Blur: 카메라에 의해 촬영되는 오브젝트가 빠르게 움직일 때 블러링 효과
Depth Of Field: 피사계심도
https://docs.unity3d.com/Packages/com.unity.render-pipelines.universal@12.0/manual/post-processing-depth-of-field.html

카메라에 포스트세싱을 체크해야 적용

카메라

카메라 범위 조절
(카메라 2개로 화면을 나눠서 적용)


*결과

렌더 텍스처

캐릭터의 얼굴을 비추는 카메라를 추가하고 렌더텍스처를 만들어 Output에 참조

카메라 장면을 담을 RawImage를 추가하고 같은 렌더텍스처를 참조

*결과
이미지에 카메라 촬영장면을 띄운다

카메라 스태킹
베이스 카메라와 하나 이상의 오버레이 카메라로 구성된다. 카메라 스택은 베이스 카메라의 출력을 카메라 스택에 있는 모든 카메라의 결합된 출력으로 오버라이드한다.

1인칭 게임에서 메인카메라를 캐릭터의 눈 위치에 두었을 때, 1인칭 화면에 보여질 캐릭터의 손과 3인칭으로 플레이어를 볼 때의 손 위치에 괴리가 생긴다.
이 때, 손은 차렷 자세로 자연스럽게 둔 뒤 오버레이 카메라를 만들고 앞으로 뻗은 손만 촬영하여 병합출력한다.

*결과

렌더 피처스(Renderer Features)

사용할 URP에셋과 데이터를 새롭게 생성하고, 프로젝트셋팅에도 추가해 준다.

Depth
URP Universal Renderer 생성 후 에셋에 추가하면 카메라에서 선택하여 사용

레이어마스크로 Player 제외가능

HidePlayer(플레이어 가려졌을 때)
Depth Test: Greater Equal (깊이버퍼가 크거나 같을 때 그려준다.)
ShowPlayer(가려지지 않은 플레이어)


*결과

Decal
(조명, 그림자 등 사용)
URP Universal Renderer 생성 후 렌더피처스 Decal 추가

에셋에 추가

머티리얼 생성 - 셰이더 Decal로 변경 - 그려질 이미지 선택

빈 오브젝트 생성후 URP Decal Projector컴포넌트 추가, 생성한 머티리얼 참조

*결과

Sten

URP Universal Renderer 생성 후 에셋에 추가

플레이어를 가리는 구체 생성

머티리얼 생성 - Transparent변경, 알파값 0

구체는 Stencil레이어, 플레이어를 가리는 큐브는 Block레이어 적용


Stencil레이어, Block레이어 제외

각 레이어별 렌더피처스 추가

-Stencil
알파값이 있으므로 Transparent
Stencil레이어 오브젝트에 0을 1로 변경해서 유지한다.

-Block
Block레이어 오브젝트가 0에 겹칠때 그려준다.

*결과

profile
기록하는 것이 기억된다.

0개의 댓글