Flutter와 완전 통합된 콘솔급 게임 엔진 Fluorite

1 month ago 12

  • Fluorite는 Flutter와 완전 통합된 최초의 콘솔급 게임 엔진으로, Dart로 직접 게임 코드를 작성할 수 있음
  • ECS(Entity-Component-System) 기반의 데이터 지향 구조를 사용하며, 핵심은 C++로 구현되어 임베디드 하드웨어에서도 높은 성능을 제공
  • 3D 아티스트가 Blender에서 직접 터치 트리거 영역을 정의해 상호작용 이벤트를 설정할 수 있음
  • Google Filament 렌더러Vulkan API를 활용해 콘솔 수준의 물리 기반 조명과 후처리 효과를 지원
  • Flutter/Dart의 Hot Reload 기능으로 장면 변경을 즉시 반영해 개발 속도를 크게 향상

Fluorite 개요

  • Fluorite는 Flutter와 완전 통합된 콘솔급 3D 게임 엔진으로, Dart 언어를 사용해 게임 코드를 작성할 수 있음
    • FluoriteView 위젯을 통해 여러 개의 3D 장면 뷰를 동시에 추가 가능
    • 게임 엔티티와 UI 위젯 간의 상태를 Flutter 방식으로 공유 가능

고성능 ECS 코어

  • 엔진의 핵심은 ECS(Entity-Component-System) 구조로, 데이터 지향적 설계를 기반으로 함
    • C++로 작성되어 최대 성능과 최적화를 달성
    • 저사양 또는 임베디드 하드웨어에서도 원활히 동작
  • 게임 로직은 Dart의 고수준 API를 사용해 작성할 수 있어, 다른 엔진에서의 개발 경험을 쉽게 이전 가능

모델 기반 터치 트리거 영역

  • 3D 아티스트가 Blender 내에서 직접 클릭 가능한 영역을 정의할 수 있음
    • 각 영역은 특정 이벤트를 트리거하도록 설정 가능
    • 개발자는 지정된 태그의 onClick 이벤트를 수신해 다양한 상호작용 구현 가능
  • 이를 통해 공간형 3D UI 제작 과정이 단순화되고, 사용자와 오브젝트 간의 직관적 상호작용이 가능

콘솔급 3D 렌더링

  • Google Filament 렌더러를 기반으로 하며, Vulkan 등 최신 그래픽 API를 활용
    • 하드웨어 가속을 통한 고품질 비주얼 구현
    • 물리 기반 조명, 후처리 효과, 커스텀 셰이더를 지원
  • 이를 통해 콘솔 수준의 시각적으로 풍부한 환경을 제작 가능

Hot Reload 기능

  • Flutter/Dart 통합 덕분에 장면의 Hot Reload를 지원
    • 코드나 자산 변경 후 몇 프레임 내에 즉시 반영
    • 게임 메커닉, 자산, 코드의 빠른 반복 테스트 가능
  • 개발 효율을 높이고 신속한 프로토타이핑을 지원

향후 계획

  • “More coming soon…” 문구 외 추가 정보 없음

Read Entire Article