본문 바로가기

게임 개발101

15. 맵 제작 작업 진행 맵 제작 작업 진행 - 우리가 구현해야 할 맵의 종류가 많아서, 맵에 많은 시간이 소요될 것 같아 나도 붙어서 맵 작업을 진행하기로 했다. - 맵 제작을 위해 간단한 툴을 구현했는데, IMGUI를 사용하지 않고, 창에 폰트만 띄우는 방식으로 구현했다. - 특정 오브젝트를 움직일 수 있게끔 스크립트를 작성해서 원하는 위치에 배치한 후, Tranform 정보를 그대로 코드창에 기입하는 방식. - 1번, 2번, 3번 숫자키를 통해 Scale / Rotation / Translation 각각을 수정할 수 있도록 했다. - 이 방식은 우리 팀원의 아이디어를 참고해서 제작하였다. - 툴을 사용하면 맵을 파일로 저장해야 하는 복잡성이 있으나, 이 방식을 통해 맵을 파일로 저장하지 않으면서도 툴을 사용하는 것과 같은 .. 2023. 8. 22.
14. HDR 구현 및 림 라이트 구현 HDR 구현 - HDR이란 화면 픽셀들의 평균 휘도 값을 구해서 LDR에서 표현할 수 없는 색의 범위를 표현할 수 있게 해주는 기술이다. - 우리 게임에서 HDR을 구현하는 이유는 색의 표현 범위를 넓혀서 화면 후처리 기술들을 돋보이게 하기 위함이다. - HDR은 총 세 단계의 과정을 거치는데, 그 과정은 아래와 같다. 1. 다운스케일 - 다운 스케일을 하는 이유는 이후 블러나 블룸 효과를 넣을 때 성능 향상을 위한 것도 있지만, - 가장 중요한 목적은 HDR에 꼭 필요한 평균 휘도값을 구하는 것 - DownScale4to4, DownScale1024to4, DownScale4to1 등과 같은 함수들을 통해 다운스케일을 진행하고 평균 휘도값을 계산한다. - 평균 휘도값을 구할 때 LUM_FACTOR라는 .. 2023. 8. 18.
13. 회의 및 짐벌락 문제 해결 & 몬스터 데드 셰이더 구현 회의 및 짐벌락 문제 해결 - 회의 주요 내용은 각자 얼마나 개발했는지와 앞으로의 계획에 대한 것 - 개발 진행 상황의 경우 개인적인 사정으로 인해 많이 개발을 못한 분도 계셨고, 주기적으로 모르는 부분에 대해 질문하여 빠르게 작업해나가신 분도 계셨음 - 나의 엔진 사용법에 대한 불편사항은 없었고, 네임스페이스 사용 여부에 대한 설명과 추후 회의 일정, 미팅 일정을 잡고 회의는 마무리하였음. - 회의 이후 각자 작업하는 도중 짐벌락 문제가 발생했는데, 회전 행렬을 구할 때 Z - Y - X 순으로 곱하다보니, Y축이 90도 회전한 상태에서 X축이 소실되는 짐벌락 문제가 발생했다. - 이 문제를 해결하기 위해 축을 곱하는 순서를 Z - X - Y순으로 변경해서 짐벌락 문제를 피할 수 있었다. 몬스터 데드 .. 2023. 8. 15.
12. 맵 제작 및 자잘한 버그 수정 맵 제작 - 이전 프로젝트에서 유용하게 사용했던 DecoObject와 WallObject를 클래스로 따로 파서 충돌 유무에 따라 적절히 사용할 수 있게 했다. - 하나의 FBX로 묶여 있으나 같은 오브젝트가 여러개 있는 FBX 파일들은 인스턴싱 처리될 수 있도록 블렌더로 분리해서 최적화될 수 있도록 했다. 자잘한 버그 수정 - 협업 과정에서 Github에 업로드되는 파일 중 Engine 프로젝트에서 만들어지는 lib파일이 계속 충돌이 일어나서 gitignore에 lib파일을 업로드하지 않도록 했는데, 외부 라이브러리에서 사용되는 lib파일들이 업로드되지 않아서, 외부 라이브러리 파일들은 프로젝트 외부 폴더에서 따로 관리하도록 수정 PhysX 특성을 가진 오브젝트들을 AddPrefab으로 등록한 후 Get.. 2023. 8. 13.