2024-06-22 / 내용 정리
■ 진행 사항 ■
- 6월 21일 프로젝트를 제출하기로 하였으나 실수로 인하여 마지막에 오류를 범하여 제출하지 못했다.
- 작업에 관여했던 팀원에겐 사과의 뜻을 전달했으나, 강제적으로 연장된 제출 기간에 의해 피해를 준 것은 아직도 반성해야 할 부분이다.
- 다만 6월 22일 프로젝트 내 그래픽 관련한 사항들을 다시금 수작업으로 복구하여 상황을 무마하긴 하였다.
- 빌드 이후 다시 프로젝트를 전달하면 당장은 끝이 난다.
- 이번 개발 일지는 그 동안 4월에서 6월 사이 기간 동안의 일정들과 작업 과정들을 섞어 설명해보고자 한다.
ㅤ
ㅤ
□ Shader 적용□ / 06 20 ~ 22
- 먼저 설명할 부분은 Shader 적용이다.
- 프로젝트 제작 지원금(30만)을 받아 그 중 "Quibli: Anime Shaders and Tools" Asset을 구매하여 게임의 그래픽 퀄리티를 높이고자 했다.
- 당장의 자체 Shader 구현 능력은 없기에 택한 방법이고 꽤 성공적으로 적용되어 괜찮다고 생각한다.
ㅤ
○제작 과정○
- 먼저 내부에 포함된 설명서와 사이트 링크를 통해 Asset의 사용 방법을 알아냈으며, 이후 게임의 Copy 프로젝트를 통해 미리 적용해보고 구현 방식을 탐구 했다.
- 초기부터 카툰 화풍을 노리고 모델을 설계하고 원화를 그렸으니 Asset도 그런 종류의 Asset 중 적용하기 쉽고 보기 좋은 것을 고르려 노력했다.
- 다만 가격대가 좀 있는 편이라 구매 선택 전에 고민이 많이 들었었다.
ㅤ
- 위는 NPC 중 하나인 "할머니"에 Shader가 적용된 모습이다.
- 위와 같이 캐릭터, 배경에 전부 이러한 OutLine이 적용되고, 음영이 두 개로 나뉘는 그래픽을 만들어 준다.
- 이외 나무, 풀 등의 자연 Texture와 Prefab도 있고 Demo Scene도 있어 어떤 방식으로 Material이 적용되는지도 알 수 있었다.
ㅤ
- 일단 Shader 적용에 있어서 저번 ProtoType 때 직접 제작한 Shader를 적용하지 않았던 이유는 단 한 가지였다.
- 밤낮 주기를 표현할 수 없었기 때문이다. Direction Light에 의해서 Shader가 영향을 받다 보니 조명 위치에 따라서 기이하게 그림자가 생기는 경우가 많았고, 당장 또 밤과 흐린 날 Shader를 구현하기엔 시간과 기술이 어려웠다.
- 그래서 적용하지 않았었고, 이번 Shader도 밤낮 주기가 가장 핵심적인 문제였다.
- 코드 제어도 물론 가능하지만, 당장 프로그래밍 팀원들의 시간적 한계로 필자는 최대한 Shader 기능 내에서 문제를 해결해보려 했다.
- 그리고 아래는 그러한 문제를 해결하기 위한 과정이다.
ㅤ
- 다양한 시도 중 가장 유력했던 시도로 Direction Light의 색상 영향을 활용하여 밤 환경을 만들어볼 계획이 있었다.
- 위 사진과 같이 Light Color Impact를 사용하면 Direction Light의 색상 영향을 받을 수 있다.
- 다만 위 방법의 문제는 사진과 같이 Direction Light의 방향에 따라 광원 형태가 달라지고, 아무리 색을 넣는다고 해도 밤 특유의 환경을 나타낼 수 없었다.
ㅤ
- 결국 기능 관련한 설명서를 찾아보다 Detail에 들어간 Texture를 제외하면 적절히 조명의 영향을 받고, 그림자도 괜찮게 나오는 것을 확인하였다.
- 위 사진과 같으며, 밤에 생기는 그림자가 없는 것이 아쉽지만, 가로등 조명으로 그림자를 적절히 넣어주어 상황에 최대한 현실감을 살리려 했다.
ㅤ
- 위 영상은 전체적으로 적용된 Shader이며, 각각 낮, 비(낮), 밤, 비(밤) 환경으로 구성되어 있다.
ㅤ
ㅤ
□ Shader 최적화□ / 06 20 ~ 22
- 당연하게도 렌더 비용이 많이 들었다. 각각의 밤낮 환경을 구현해야 하고 비가 올 때 빗물 파티클이 나오는 등 렉이 걸리는 상황이 많았다.
- Batch 수를 확인해보니 최대 9400까지 올라 아무리 컴퓨터 환경이 좋더라도 게임 자체가 돌아가지 못하는 상황이 생길 수 있음을 염려 했다.
- 따라서 게임의 최적화를 위해 이번엔 색 다른 방식으로 Occlusion Culling 말고 LOD를 적용해보았다.
ㅤ
○제작 과정○
- 위 사진처럼 단순하게 LOD 0, 1으로 나누어 두었다.
- 미리 로우 폴리곤 모델이 있었다면 단계를 더 나누었겠지만, 모델이 없었기 때문에 그러지 않았다.
ㅤ
- 이후 다른 오브젝트도 마찬가지로 적용하여 플레이어의 위치에 따라 적절히 오브젝트가 사라지도록 했다.
- 최종 결과 Batch 수가 기존 9400에서 1200대까지 떨어진 모습을 보여 최대한 최적화 할 수 있는 부분까지 전부 했다.
[여름방학일기] 개인 개발 과정
university game project
Status | In development |
Category | Other |
Author | Culpa15123 |
Tags | Indie |
More posts
- 2024-04-15 / 내용 정리Apr 15, 2024
- 2024-04-06 / 내용 정리Apr 06, 2024
- 2024-03-28 / 플레이어 제작Mar 28, 2024
- 2024-03-27 / 내용 정리Mar 27, 2024
Comments
Log in with itch.io to leave a comment.
쉐이더 적용도 훌륭하고, Batch의 수를 줄인것도 잘하셨습니다.