잡소리
밖에 주룩주룩 비가 내리는 것을 보니 대창 덮밥이 먹고 싶다. 2년 전 즈음 개발을 공부하겠다고 상경을 했었을 때 함께 공부하던 동료들과 역삼역과 강남역 사이쯔음에 있는 대창 덮밥집을 갔었는데 그 맛이 잊히지 않는다. 식당 이름은 대낚 식당이다.
개발일지 #5 그림자 구현
왜?
지금 만들어진 게임을 보면 너무 밋밋한 감이 없잖아 있다. 물론 사운드, 이펙트 아무것도 추가되지 않은 상태라 그런 것도 있지만 우리 게임은 아이들도 즐길 수 있을 수준의 약간의 스릴 또한 추구하기 때문에 어떤 부분을 추가하면 좋을지 생각을 많이 했다. 결국 생각해낸 기능은 그림자이다. 그림자를 통해 적이 잘 안 보이고 갑자기 튀어나오는 적을 구현 가능하기 때문에 꼭 필요하다고 생각했다.
구현
그림자와 같은 기능을 구현하기 위해서는 Unity의 URP(Universal Render Pipeline)를 사용해야 한다. 기본적으로 좋은 그래픽을 적용시키기 위해 써야 하는 거라고 생각하면 된다.
https://mrbinggrae.tistory.com/243
이 글을 보고 적당히 이해했다.
그리고 우리 player에게 빛을 주자!
난파된 우주선의 실내의 느낌을 주기 위해서 Global Light의 밝기를 낮춰준다. Global Light는 간단하게 화면 전체의 밝기라고 생각하면 좋을 거 같다.
이렇게만 적용하면 벽 뒤의 적도 환하게 비치는 문제가 있다. 나는 벽 뒤는 그림자가 생기도록 하고 싶다.
그림자를 적용시키기 위해서 ShadowCaster 2D를 사용하자. 유니티에서 그림자를 구현할 때 사용하는 컴포넌트다.
이 친구를 넣기만 한다고 자동으로 적용되는 게 아니고 빛이 통과 못하는 부분을 내가 하나하나 다 따줘야 한다... 이게 생각보다 노가다더라..
그리고 마지막으로 멋있게 딴 그림자를 한번 살펴보자~!
마무으리
그림자를 구현하는 것 자체는 크게 어렵지 않다. 나의 경우에는 초반에 URP를 적용하는 것에서 고통을 좀 받았다. 그래도 다른 어려운 기능을 구현하는 것보다는 쉽더라. 여기서 주의할 점은 그림자는 생각보다 무겁다는 것이다. 여러 개의 빛을 하나의 오브젝트에 비춰서 여러 그림자가 생기게 하려고 하면 몇몇 그림자가 안 생기거나 하는 문제가 생길 수 있다. 이런 점만 주의해서 사용하도록 하자. 메쓰 크래프트에서는 플레이어에게만 빛이 있기 때문에 크게 문제 되는 부분은 아닌 거 같다. 후에 아이템이나 상호작용 오브젝트에는 빛을 줘야 하나... 그건 개발하면서 생각해봐야겠다.
'웅진씽크빅 게임 개발 챌린지 일기' 카테고리의 다른 글
개발일지 #7 꽁꽁 얼어붙어라 (2) | 2022.09.06 |
---|---|
개발일지 #6 BIC(부산 인디 커넥트 패스티벌)를 다녀왔다! (0) | 2022.09.05 |
개발일지 #4 밥이 없으면 빵을 먹으면 되지 않느냐아! (0) | 2022.09.01 |
개발일지 #3 스토커 만들기 (0) | 2022.08.30 |
개발일지 #2 적 애니메이션 구현 (0) | 2022.08.27 |
댓글