Unity

Unity는 3D 및 2D 비디오 게임의 개발 환경을 제공하는 게임 엔진이자, 3D 애니메이션과 건축 시각화, 가상현실(VR) 등 인터랙티브 콘텐츠 제작을 위한 통합 제작 도구이다. (위키백과)

Unity에서 WebGL 플랫폼 빌드를 통해 웹에 배포할 수 있으며, React Unity WebGL 라이브러리로 편리하게 React에 연동할 수 있다.

예제

Kart
간단한 자동차 경주 예제
3D Game Kit
3D 액션 게임 개발을 위한 학습용 프로젝트 (3D Game Kit Lite)

이슈

Unload 이슈

현재 Unity 버그로 인해 Unity Player가 로드된 페이지에서 벗어날 때 자동으로 unload 할 수 없다. (Unloading the Unity Application)

임시로 Unload 버튼을 추가하였다.

배포 시 빌드 압축 설정

기본 옵션으로 WebGL 빌드 시 gz 압축 파일이 생성되며, 브라우저에서 압축 파일을 사용하려면 Content-Encoding 헤더에 gzip을 설정해야 한다.

웹 애플리케이션 배포 참고

Content-Encoding 헤더가 올바른 값을 가지려면 웹서버 설정이 필요한데, 웹서버 설정을 할 수 없다면 Decompression Fallback을 활성화하면 된다.