2D 및 3D 게임을 위한 Entity Component System 기반의 데이터 중심 Rust 게임 엔진입니다.
avianphysics/avian
Rust로 작성된 Bevy 게임 엔진 전용 ECS 기반 2D·3D 물리 엔진입니다.
- 스타
- 3,281
- 포크
- 302
- 열린 이슈
- 212
- 마지막 커밋
- 3일 전
어떤 프로젝트인가요?
Avian은 Rust로 작성된 Bevy 게임 엔진용 물리 엔진으로, 2D용 `avian2d`와 3D용 `avian3d` 크레이트를 별도로 제공합니다. Bevy의 Entity Component System에 자연스럽게 통합되도록 설계되어, 물리 객체를 별도의 물리 월드에서 동기화하는 대신 일반 엔티티와 컴포넌트로 다룹니다.
엔진은 동적·키네마틱·정적 강체와 함께 속도, 힘, 감쇠, 축 잠금, 슬립, 연속 충돌 감지를 지원합니다. 충돌 감지에는 Parry 라이브러리를 사용하며, 충돌 이벤트와 레이어, 충돌 훅, 조인트(고정, 거리, 프리즈매틱, 회전, 구형), 레이캐스트와 셰이프캐스트 같은 공간 질의도 제공합니다. 고정 타임스텝을 위한 Transform 보간과 디버그 렌더링도 포함됩니다.
Avian은 기본값인 f32와 f64 정밀도를 모두 지원합니다. 문서와 2D·3D 예제는 docs.rs와 저장소에서 확인할 수 있습니다.
핵심 기능
- 01속도, 감쇠, 축 잠금을 지원하는 동적·키네마틱·정적 강체
- 02Parry 기반 충돌 감지와 레이어, 충돌 이벤트 및 훅
- 03고정, 거리, 프리즈매틱, 회전, 구형 조인트 내장
- 04컴포넌트 또는 SpatialQuery 매개변수를 통한 레이캐스트, 셰이프캐스트 및 기타 공간 질의
- 05고정 타임스텝을 위한 Transform 보간 및 외삽
- 06f32 및 f64 정밀도 지원
활용 사례
- Bevy로 만든 2D 또는 3D 게임에 강체 물리와 충돌 기능 추가
- Bevy 시뮬레이션에서 힌지나 슬라이더 같은 조인트와 제약 조건 구현
- 시야 확인이나 투사체 판정 등 게임플레이에 레이캐스트 또는 셰이프캐스트 활용
빠른 시작
- 1
Cargo.toml의 의존성에 avian3d를 추가하세요(2D에는 avian2d 사용).
avian3d = "0.8" - 2
Bevy 앱에 PhysicsPlugins를 추가하고 RigidBody와 Collider를 사용해 물리 엔티티를 생성하세요.
사용 전 알아둘 점
- Bevy 게임 엔진에 종속되어 있어 Bevy 외부에서는 유용하지 않습니다.
- 버전 0.8의 프리릴리스이므로 릴리스마다 API가 변경될 수 있습니다.
- Bevy 버전마다 호환되는 Avian 버전이 필요하므로 Bevy를 업그레이드할 때 함께 업데이트해야 할 수 있습니다.
포함된 컬렉션
토픽
자주 묻는 질문
- avian은(는) 무엇인가요?
- Rust로 작성된 Bevy 게임 엔진 전용 ECS 기반 2D·3D 물리 엔진입니다. Avian은 Rust로 작성된 Bevy 게임 엔진용 물리 엔진으로, 2D용 `avian2d`와 3D용 `avian3d` 크레이트를 별도로 제공합니다. Bevy의 Entity Component System에 자연스럽게 통합되도록 설계되어, 물리 객체를 별도의 물리 월드에서 동기화하는 대신 일반 엔티티와 컴포넌트로 다룹니다.
- avian은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- avian은(는) Apache-2.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- avian은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. avian의 마지막 커밋은 2026년 11월 4일입니다.
- avian은(는) 어디에 사용할 수 있나요?
- Bevy로 만든 2D 또는 3D 게임에 강체 물리와 충돌 기능 추가 Bevy 시뮬레이션에서 힌지나 슬라이더 같은 조인트와 제약 조건 구현 시야 확인이나 투사체 판정 등 게임플레이에 레이캐스트 또는 셰이프캐스트 활용
- avian는 어떻게 설치하나요?
- Cargo.toml의 의존성에 avian3d를 추가하세요(2D에는 avian2d 사용).: avian3d = "0.8" Bevy 앱에 PhysicsPlugins를 추가하고 RigidBody와 Collider를 사용해 물리 엔티티를 생성하세요.
- avian은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/avianphysics/avian
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
게임과 VR 애플리케이션을 위한 멀티코어 친화적인 C++ 강체 물리 및 충돌 감지 라이브러리입니다.
Godot은 하나의 통합 에디터에서 2D 및 3D 게임을 만들 수 있는 무료 크로스 플랫폼 게임 엔진으로, MIT 라이선스를 따릅니다.
스크립트와 AI 도구로 구동하도록 설계된 경량 게임 엔진으로, 2D·3인칭 3D·혼합 게임을 지원합니다.
JavaScript로 작성되어 브라우저와 Node.js에서 실행되는 웹용 2D 강체 물리 엔진입니다.
접촉하는 다관절 물체를 빠르고 정확하게 시뮬레이션하는 범용 물리 엔진으로, 로보틱스와 머신러닝 연구에서 널리 사용됩니다.