[U Day Seoul 2024] Dave, a 2D-Diver in a 3D-Land - 데이브 더 다이버 포스트모템
- 데이브 더 다이버는 2D 캐릭터와 3D 환경의 상호작용을 핵심 컨셉으로 합니다. 🎮
- 2D와 3D는 렌더링, 물리 엔진, 공간 처리 방식 차이로 직접 상호작용에 문제가 발생합니다. 🚧
- 3D 지형에 2D 콜라이더를 입히는 초기 수동 작업은 8시간 소요되는 비효율적 과정이었습니다. ⏳
- 3D 모델을 쉐이더로 2D 스프라이트화하고 자동 폴리곤 콜라이더를 생성하여 지형 콜라이더 제작 시간을 90% 단축했습니다. 🚀
- 콜라이더 검증을 위해 시각화 툴을 개발, 수동 테스트 없이 모델과 콜라이더 이격 여부를 눈으로 확인 가능하게 했습니다. 👁️🗨️
- 2D 콜라이더는 Z축 외 회전 시 평면성이 사라져 충돌 감지가 안 되는 문제가 있습니다. 🚫
- 회전하는 3D 기믹에는 데이브 평면과의 실시간 절단면을 폴리곤 콜라이더로 적용하여 상호작용을 구현했습니다. 🔄
- 회전하는 3D 물고기(상어)에는 두 개의 2D 콜라이더를 십자 형태로 배치, 모든 각도에서 충돌을 감지하게 했습니다. 🦈
- 렌더링은 퍼스펙티브, 2D 물리 엔진은 Z값을 무시하는 오소그래픽 방식이라 충돌 처리에 불일치가 발생했습니다. 🤯
- 보스 몬스터의 2D 콜라이더는 Z값 무시와 원근 스케일 문제로 실제 주먹 위치와 콜라이더 위치가 달랐습니다. 🥊
- 보스 콜라이더는 데이브 평면으로 당기고 원근 스케일을 적용, 시각과 물리적 충돌이 일치하도록 조정했습니다. 🎯
- 포토 스팟 3D 콜라이더는 퍼스펙티브 카메라 왜곡 때문에 화면 가장자리에서 충돌 감지가 실패했습니다. 📸
- 퍼스펙티브와 오소그래픽 간 오차를 상쇄, 3D 콜라이더를 오소그래픽 영역으로 옮겨 정확한 충돌 감지를 가능하게 했습니다. 🌌
- 이러한 기술적 해결을 통해 2D와 3D 차원 연결 컨셉을 지키며 게임의 다양한 상호작용을 구현했습니다. ✨
- 게임 개발은 상상을 현실로 작동시키는 과정이며, 차원을 넘는 창조를 통해 자신만의 게임을 만들 수 있습니다. 💡