카테고리 없음

내일배움캠프 30일차 TIL 유니티 3D - 3

joseph2518 2024. 10. 25. 21:37

 

20241025 / Unity_6차  7주차 금요일

 

FPS를 하다 보면 자기 캐릭터가 들고 있는 장비의 모습이 주변 환경과 상호작용하지 않는

마치 다른 레이어에 그려진 듯한 느낌을 받을 때가 있다.

 

주변 환경과 상호작용 하지 않는 모습이 마치 UI처럼 2차원 오버레이로 그려진 건가 하면

모델링을 보니 또 그런 것 같지도 않고...

 

오늘 그 비밀을 알았다. 생각보다 별거 없었다.

 

착용장비만 따로 렌더링하는 카메라를 새로 만드는 것이다.

분명 오브젝트의 위치는 바위 속에 있는데 인게임에서는 전체 모습이 보인다

 

위 사진에서 EquipCamera의 속성은 Depth Only, 빈 공간을 렌더링 하지 않고 투명하게 두겠다는 뜻이다.

 

거기에 Culling Mask로 장착 장비만 렌더링하면

Main Camera만 있을 때와 달리 해당 오브젝트를 한 번 더 그리게 되는 것이다.

(장착 장비는 관계를 확실히 하기 위해 EquipCamera의 자식 오브젝트로 넣어 놨다)

 

EquipCamera를 끈 모습. 이제는 인게임에서도 오브젝트가 바위 속에 들어간 것처럼 보인다

 

온라인 멀티플레이에서는 본인 장비만 따로 그려 줘야 할 테고

플레이어 수만큼 착용 장비 레이어를 구분할 수는 없으니 다른 방법을 쓸 것 같다.

(다시 생각해 보니 남의 착용장비만 비활성화해도 된다)