프로젝트 소개

Bevy Hanabi는 Bevy 게임 엔진을 위한 현대적인 GPU 기반 입자 시스템 플러그인입니다. 컴퓨트 셰이더를 통해 대부분의 시뮬레이션 및 렌더링 작업을 GPU로 오프로드하여 대규모 실시간 시각 효과(VFX)를 가능하게 합니다. 디자인은 업계 선도 게임 엔진의 입자 시스템에서 영감을 받았습니다. **주요 기능:** - **생성:** 일정 비율, 일회성 버스트, 반복 버스트, 리셋, 활성화/비활성화, 무작위 매개변수 지원. - **초기화:** 모양(원, 구, 원뿔/절두 원뿔)에 따른 위치, 무작위 오프셋, 모양에 따른 속도, 입자별 색상/크기/나이/수명 설정. - **업데이트:** 오일러 운동 통합, 힘(중력, 방사형, 접선, 힘 필드, 선형 항력), 수명, 시간에 따른 크기/색상 변화, 시뮬레이션 조건(항상 또는 표시될 때만). - **렌더링:** 텍스처 사각형, 일반 3D 메시, 변형(스트레치, 트레일/리본), 카메라 지원(2D/3D, 이중 카메라, 다중 뷰포트, HDR/블룸), 빌보드, 방향 모드, 화면 공간 크기 조절. - **표현식 API:** 그래프 기반 표현식 시스템을 통해 입자 속성(위치, 색상 등)을 사용자 정의. **사용 방법:** 1. `Cargo.toml`에 `bevy_hanabi = "0.19"` 추가. 2. Bevy 앱에 `HanabiPlugin` 등록. 3. 생성 설정, 초기화 도구, 업데이터, 렌더 수정자를 포함한 `EffectAsset` 생성. 4. 에셋 핸들을 가진 `ParticleEffect` 컴포넌트 생성. **호환성:** - Bevy 버전 >= 0.6과 호환; `main` 브랜치는 최신 Bevy 릴리스를 추적합니다. - v0.13부터 WebAssembly 지원(WebGPU 경유). **Cargo 기능:** - `2d`(기본값): 2D 카메라 렌더링 활성화. - `3d`(기본값): 3D 카메라 렌더링 활성화. - 단일 카메라 유형에 최적화하려면 기본 기능을 비활성화할 수 있습니다. **상태:** 활발히 개발 중이며 중간 규모 효과에 적합합니다. 피드백과 기여를 환영합니다. **라이선스:** MIT 또는 Apache-2.0 이중 라이선스.