Urho3D

Urho3D는 C++로 작성된 크로스 플랫폼 2D·3D 오픈 소스 게임 엔진이다. Lasse Öörni가 시작한 프로젝트이며 OGRE와 Horde3D 등의 그래픽스 기술에서 영향을 받았다. 실시간 렌더링뿐 아니라 장면·게임 객체, 입력·오디오·물리 및 네트워크 기능을 통합해 소규모 게임...

분류게임 엔진, 경량 2D·3D 게임 엔진
초기 개발자Lasse Öörni
개발 모델공개 공동체 개발
작성 언어C++
게임 개발 언어C++, Lua 및 외부 바인딩
기술적 영향OGRE, Horde3D
렌더링OpenGL, Direct3D 등 버전별
장면 구조Node와 Component 기반 Scene
주요 기능2D·3D 렌더링, 물리, 오디오, UI, 네트워크
리소스 형식XML·JSON 기반 장면·설정
개발 플랫폼Windows, Linux, macOS 등
라이선스MIT License
관련 후속 개발Dviglo, Turso3D 등 별도 포크·프로젝트
소스 코드GitHub
공식 프로젝트urho3d.github.io

Urho3D는 C++로 작성된 크로스 플랫폼 2D·3D 오픈 소스 게임 엔진이다. Lasse Öörni가 시작한 프로젝트이며 OGRE와 Horde3D 등의 그래픽스 기술에서 영향을 받았다. 실시간 렌더링뿐 아니라 장면·게임 객체, 입력·오디오·물리 및 네트워크 기능을 통합해 소규모 게임과 실시간 애플리케이션 개발에 사용할 수 있다.[1]

장면은 Scene·Node·Component로 구성되며 Node는 위치·회전과 계층 관계를 관리하고 Component는 카메라·광원·렌더링·충돌 및 사용자 스크립트 같은 동작을 연결한다. 이러한 구조는 게임 객체를 상속 계층의 고정된 클래스보다 조합 가능한 기능으로 정의할 수 있게 한다.

렌더링 엔진은 메시·텍스처·재질, 광원 및 여러 화면 효과를 제공한다. 2D 스프라이트·타일맵과 GUI 시스템도 포함되어 3D 콘텐츠와 2D UI를 동시에 사용할 수 있으며, 물리 엔진과 오디오·애니메이션 시스템은 게임플레이의 기반 기능을 제공한다. 구체적인 그래픽스 API는 플랫폼과 빌드 버전에 따라 다르다.

Urho3D는 전체 소스 코드를 공개하고 C++ 프로젝트에서 엔진을 직접 빌드·변경하도록 한다. Lua와 언어 바인딩·스크립트 기능도 버전별로 지원해 게임 로직을 작성할 수 있으며, 사용자는 원하는 에디터·빌드 도구 또는 독립적인 콘텐츠 파이프라인을 조합할 수 있다.

Urho3D는 MIT 라이선스로 배포된다. 원래 프로젝트가 제공한 기술을 바탕으로 여러 포크 및 후속 실험이 등장했고, 공식 저장소는 Dviglo에서의 비호환성 변경 개발과 초기 개발자의 별도 Turso3D 프로젝트를 안내하고 있다. 이런 프로젝트는 기술적 연결이 있지만 현재 Urho3D와 별도 코드·제품으로 취급된다.[2]

역사

개발과 프로젝트 구조

엔진 아키텍처

렌더링과 그래픽스

장면과 게임 객체

애니메이션·물리·오디오

스크립팅 및 개발 언어

에셋·빌드·편집 도구

지원 운영체제와 플랫폼

라이선스와 배포

사용 사례와 관련 엔진

관련 문서

  1. Urho3D 공식 저장소 ↩
  2. Urho3D의 후속 프로젝트 안내 ↩