프로젝트 소개

Ursina는 3D 및 2D 게임 개발을 쉽게 접근할 수 있도록 만든 Python용 오픈 소스 게임 엔진이자 프레임워크입니다. Panda3D 위에 구축되었으며 간결하고 Python다운 API를 제공합니다. 최소한의 프로그램은 ursina에서 모든 것을 import하고, 모델, 색상, 스케일, 콜라이더를 가진 Entity 객체를 추가한 뒤 app.run()을 호출하여 창을 열고 게임 루프를 시작합니다. README에서 확인되는 주요 기능: - 순수 Python으로 3D 및 2D 게임 개발이 가능하며, 엔진이 매 프레임 자동으로 호출하는 update() 함수를 제공합니다. - 큐브 및 기타 기본 도형과 같은 객체를 위한 Entity 시스템으로, model, color, position, origin, scale, collider 같은 속성을 가집니다. - held_keys 및 관련 입력 유틸리티를 통한 입력 처리. - 내장 에셋: 오디오 클립, 폰트, .blend 소스 모델, 압축된 .ursinamesh 모델, 그리고 Cylinder, Quad, Terrain 같은 절차적 모델 생성기. - Draggable, Slider, Sprite 같은 상위 수준 UI/게임 객체용 프리팹. - ursina/editor 아래의 내장 3D 레벨 편집기. - 선택적 의존성으로 pillow를 통한 텍스처 조작, psd-tools를 통한 .psd 변환, Blender를 통한 .blend 변환, pyperclip을 통한 클립보드 지원. - 문서, API 레퍼런스, 치트 시트, 그리고 Minecraft 클론과 플랫포머 튜토리얼을 포함한 작은 예제 게임들이 담긴 samples 폴더. 설치는 pip(pip install ursina)를 통해 가능하며, 선택적 의존성을 위한 extras 옵션이나 개발 버전을 위한 GitHub 저장소에서도 설치할 수 있습니다. Python 3.10 이상이 필요합니다. 프로젝트 구조는 docs, samples, ursina 모듈로 분리되어 있으며, README는 커뮤니티와 지원을 위한 웹사이트, Discord, Twitter, Patreon, GitHub Sponsors를 안내합니다.