그래픽(기타)

(SRP)벽 뒤에 있을 때 실루엣이 나오는 효과 만들기

에페아 2021. 4. 25. 16:32

이런걸 한번 만들어보겠습니다

 

 

먼저 Project Settings → Graphics 에 들어가면 현재 적용된 파이프라인을 볼 수가 있습니다

저걸 이제 클릭해서 들어가게 되면

이렇게 기본으로 만들어져있는 렌더러가 끼워져있습니다.

이걸 이제 새로 만들어서 끼워줄겁니다

먼저 렌더러 생성은 이런식으로 찾아가면 있습니다.

저는 CustomRenderer 라고 이름을 지어놓고 진행하겠습니다

 

만들어서 넣어줍니다

 

렌더러에 들어가보면 이런식으로 되어있는데요

벽 뒤에 가려져 있을 때의 처리를 추가로 해주기 위해 맨 아래에 있는 Add Renderer Feature 를 눌러줍니다

 

그럼 이렇게 메뉴들이 나오게 됩니다

Name을 원하는 이름으로 정하고, 적용할 레이어를 LayerMask 에서 선택합니다

저는 캐릭터만 실루엣이 나오게 하고 싶기 때문에 Character 라는 레이어를 따로 추가해서 이것만 적용시켜주겠습니다

 

그럼 나머지 아랫부분에 있는 Overrides 쪽을 만지면 되는데,

Material 에는 추가로 그릴 때 어떤 머티리얼을 사용할지를 선택하면 됩니다

이 경우에는 벽 뒤에 가려진 부분을 그릴 때 사용할 머티리얼을 넣어주면 되는 것이죠

저는 그냥 간단하게 언릿 쉐이더 적용한 머티리얼을 넣어주었습니다

 

그 다음 Depth 부분을 체크를 해주었는데, 체크를 하면 저런식으로 Write Depth와 Depth Test 탭이 나오게됩니다

Write Depth는 아직 잘 모르겠는데 이걸 구현하는데에 필요한 거는 아니니까 넘어가고,

Depth Test를 만져줄겁니다

앞에거랑 깊이값을 비교해서 그릴지 말지를 결정하는겁니다

캐릭터가 뒤에있을 때 실루엣이 그려져야되기 때문에 깊이값으로 치면 더 클때 그려져야되겠죠

그래서 Depth Test를 Greater로 설정해줍니다

 

(Z버퍼에 대한 자세한 설명)

egloos.zum.com/chulin28ho/v/5268685

 

Z 버퍼의 Read / Write 개념 (2부. 개악마 알파 블렌딩1편)

이전 시간에 기초적인 Z 버퍼의 작동 개념에 대해 알아 보았습니다. 그런데 세상은 참 넓고도 깊은지라, 여러 가지 해결 안되는 문제가 있기 마련인거지요. 자 이전 시간으로 거슬러 가서 다시

egloos.zum.com

 

여기까지 잘 설정을 하셨다면

이런식으로 실루엣이 잘 나오는 것을 볼 수 있습니다

 

아, 저 구체의 레이어를 위에서 만든 Character로 바꿔주어야 제대로 나옵니다

처음엔 레이어가 Default로 설정되어있으니까요

반응형