Babylon.js
Babylon.js는 웹 브라우저에서 GPU 가속 3차원 장면과 게임을 실행하기 위한 오픈 소스 렌더링 엔진·게임 엔진이다. 2013년 공개된 이후 JavaScript 기반 웹 그래픽스 기술로 발전했으며, 현재 핵심 코드는 주로 TypeScript로 작성된다. 게임뿐 아니라 제품 시각화...
| 분류 | 3D 렌더링 엔진, 웹 기반 게임 엔진·프레임워크 |
|---|---|
| 개발 주체 | Babylon.js 공개 개발 공동체, Microsoft 기여자 |
| 최초 공개 | 2013년 |
| 작성 언어 | TypeScript |
| 개발 언어 | TypeScript, JavaScript |
| 실행 환경 | 웹 브라우저, JavaScript 런타임 |
| 그래픽스 API | WebGL, WebGPU |
| 주요 구성 | Scene, Mesh, Material, Camera, Light |
| 물리 | 플러그인 기반 물리 연동 |
| 3D 자산 | glTF·GLB 등 |
| 확장 기술 | WebXR, 셰이더, 입자 효과, 애니메이션 |
| 제작 도구 | Babylon.js Playground, Inspector, Node Material Editor |
| 주요 플랫폼 | 데스크톱·모바일 웹, 별도 Native 기술 |
| 소스 모델 | 자유·오픈 소스 소프트웨어 |
| 라이선스 | Apache License 2.0 |
| 코드 저장소 | BabylonJS/Babylon.js |
| 공식 웹사이트 | babylonjs.com |
Babylon.js는 웹 브라우저에서 GPU 가속 3차원 장면과 게임을 실행하기 위한 오픈 소스 렌더링 엔진·게임 엔진이다. 2013년 공개된 이후 JavaScript 기반 웹 그래픽스 기술로 발전했으며, 현재 핵심 코드는 주로 TypeScript로 작성된다. 게임뿐 아니라 제품 시각화, 교육용 3차원 자료와 실시간 인터랙티브 콘텐츠 제작에도 사용된다.[1]
Babylon.js는 장면(Scene) 안에 메시와 재질·카메라·광원 등을 배치하는 구조를 제공한다. 개발자는 객체의 위치와 방향, 부모·자식 관계 및 애니메이션을 TypeScript나 JavaScript 코드로 관리할 수 있다. 렌더링 루프는 장면의 상태를 GPU 명령으로 변환해 화면에 표시하며, 입력과 충돌·물리 기능을 게임 로직과 연동한다.
그래픽스 계층은 WebGL과 WebGPU를 제공하고 물리 기반 재질, 실시간 조명·그림자와 후처리 효과를 구현할 수 있다. 모델과 애니메이션 등의 외부 자산은 glTF·GLB 형식을 활용할 수 있으며, 재질 노드를 이용한 셰이더 작성과 입자 효과도 지원한다. 실제 가능한 기능은 브라우저가 제공하는 그래픽스 API와 GPU의 지원 수준에 영향을 받는다.[2]
Playground는 별도의 프로젝트 설치 없이 브라우저에서 장면을 작성·실행할 수 있는 도구이며 Inspector와 Node Material Editor 등은 디버깅과 재질 제작을 돕는다. 엔진을 npm 기반 애플리케이션에 포함하면 일반적인 웹 개발 도구와 빌드 시스템을 활용할 수 있다. WebXR을 통해 가상·증강 현실 장치에 연결하는 기능도 제공한다.
Babylon.js는 Apache License 2.0으로 공개되며 상업적인 웹 서비스와 게임에 사용할 수 있다. PlayCanvas 역시 웹 기반 3D 엔진이지만 제공하는 시각 편집기와 프로젝트 관리 서비스의 구조가 다르다. 또한 Three.js는 범용 3D 그래픽스 라이브러리 성격이 강하므로 게임 개발용 시스템까지 통합한 Babylon.js와 기능 범위를 구별할 수 있다.