世界を動かす技術を、日本語で。

トヨタ・フルオライト: 「コンソールグレード」のFlutterゲームエンジン

概要

Fluorite はFlutterと統合された初のコンソール級ゲームエンジン Dart で直接ゲームコードを記述できるシンプルな開発体験 ECSアーキテクチャ による高パフォーマンスと最適化 3D UIやレンダリング の強力な機能セット Hot Reload で迅速な開発サイクル実現

Fluoriteとは

  • Flutter と完全統合された初の コンソール級ゲームエンジン
  • Dart でゲームコードを直接記述可能、Flutterの開発ツールを活用
  • FluoriteViewウィジェット で複数の3Dシーンビューを同時表示
    • ゲームEntitiesとUIウィジェット間で状態共有
  • Flutter流の宣言的UI設計とゲームロジックの融合

高性能ECSコア

  • Entity-Component-System (ECS) アーキテクチャを採用
  • コア部分は C++ で実装、低スペックや組み込みハードウェアでも高パフォーマンス
  • Dartで高レベルAPIを利用、他ゲームエンジンの知識を活かしやすい設計

モデル定義タッチトリガーゾーン

  • 3DアーティストBlender 上で直接「クリック可能」ゾーンを設定
  • 各ゾーンにイベントタグを付与、開発者はonClickイベントをリッスン
  • 空間3D UI設計を簡素化、直感的なオブジェクト操作・コントロール実現

コンソール級3Dレンダリング

  • Google Filament レンダラーを採用、 Vulkan 等の最新グラフィックスAPIを活用
  • 物理ベースライティングやアセット、ポストプロセス、カスタムシェーダー対応
  • ゲーム機に匹敵する高品質なビジュアル表現

Hot Reloadによる高速開発

  • Flutter/Dart 統合によるシーンの Hot Reload 対応
  • 数フレームで変更反映、素早い反復開発とテストが可能
  • ゲームメカニクスやアセット、コードの迅速な調整

今後の展望

  • 継続的な機能追加・アップデート予定
  • 開発者体験と表現力のさらなる向上

Hackerたちの意見

Fosdemでのトークについて https://fosdem.org/2026/schedule/event/7ZJJWW-fluorite-game-...

面白いね、問題を逆転させた感じ。ゲームエンジンのUIツールキットって大体クソだから、ここでは良いUIツールキットからスタートして、比較的パフォーマンスの良いゲームが作れるようにしたんだ。詳しい情報はここにあるよ https://www.reddit.com/r/programming/comments/1r0lx9g/fluori...

ページにはトヨタって書いてないし、リポジトリへのリンクもないからちょっと混乱した。でも、あのトヨタからのものなんだ(まあ、彼らのディスプレイ用の3Dソフトを作ってる子会社だけど)。FOSDEMでそのことについてのトークがあったよ: https://fosdem.org/2026/schedule/event/7ZJJWW-fluorite-game-...

彼らは2026年のRAV4にこのゲームエンジンを使ってるんだって。ゲームエンジンが2026年には車の部品になってるのが面白いよね。電気自動車で、ただの車が欲しいんだけど、他に何もいらない。シート、ホイール、ペダル、ミラー、リアルボタン、ディスプレイなしで、ただのauxジャックがあればいい。買うよ、もしかしたらリスクを取って予約注文するかも。

車のコンソールのことを言ってるんじゃないかな。ゲームコンソールじゃなくて。

FlutterとClaude Codeの組み合わせで、クロスプラットフォームのアプリ開発がめちゃくちゃ速くなった。Clauseが「このリストはウェブでは展開するけど、iOSではしないべき」みたいなプロンプトをうまく処理するのに感心してる。そしたら、ClaudeにウェブインスタンスとiOSシミュレーターの両方を実行するように頼んだ。使いやすさテストも同時にできるし。最近(昨夜ね)、バックエンドにWebSocketを追加して、フロントエンドのiOSにプッシュ通知、ウェブアプリには通知バナーを追加したんだ。全部なんかうまくいってる。最大の問題はDjango/Gunicorn/Amazon Linuxイメージ間のバージョンマッチングだね。

もし大量のコードを生成して、それを理解するのが難しい場合、バグを見つけたときにどうやってそれを維持するつもりなの?

もう少し広い範囲で既存のソリューションを探してみたら、例えば https://defold.com のように、すぐに使える3D対応でCに統合可能な、低スペックハードウェアでも動くゲームエンジンが棚から取れることが分かったかもしれないね。とはいえ、これはクールだし、彼らの立場だったら同じように楽しむプロジェクトを祝ったかもしれない。おそらく、ここでの本当の成果はトヨタに新しいニッチなゲームエンジンを作るために雇われることなんだろうね。

これはFlutterアプリに組み込むために特別に設計されていて、GPUやレンダラーとのやり取りに特定の要件があるんだよね。他のエンジン、例えばUnityも試してみたみたい。チームは既存のソリューションを試さずに何かを作り始めたわけじゃないよ。

これ、確かにクールに見える。Flutterはまだゲームじゃない小さなアプリには私のお気に入りのツールだし、大企業がそれを取り入れるのを見ると心が温まる。トヨタがこれを進めるなら、Googleがあまり興味を示してないから、主要な企業スポンサーになるかもしれないね。

Filamentはコンソールグレードのレンダラーじゃないし、全然近くもないよ。GLを基に設計されてるんだ。確かにVulkanも使えるけど、コンソールエンジンみたいに最適化されてるわけじゃない。

コンソールグレードのレンダラーって何?具体的には、どんな機能が必要で、Filamentには何が足りないの?

これはすごく興味深いけど、ちょっとイライラするコメントだね。もし君が言ってる通り、コンソールグレードのレンダラーじゃないってことなら(それが何を意味するのかもよくわからないけど)、それは本当に面白い。でも、なんでそうなの?将来的には可能になるのか、それとも何か根本的な理由で無理なのかな?

他の人が気になってるかもしれないけど、ウェブサイトには「オープン」や「ソース」って言葉はどこにも書いてないんだ。でも、FOSDEM 2026でそのことについてのトークがあったみたい。「GitHubリポジトリをオープンする時期について」ってコメントがあったから、まだオープンじゃないけど、将来的にはそうなるかもね。

それってブラウザでも動くってこと?デモがないのはどうして?

Filamentにはウェブターゲットがあるみたいだね:https://github.com/google/filament でも、組み込みシステムをターゲットにしてるなら、まだパブリックなウェブデモを優先してないのかも。プロジェクトの大部分がC++で作られてるなら、ウェブデモを作るのはWASMのサイドクエストみたいなもんだと思う。「このクールなプロジェクトをオープンソースにしたい」と「READMEを良く見せるためのレンダリングターゲットを作りたい」っていうのは、全然別の難しさがあると思う。

すごく良さそうだったね。トヨタとはどう関係してるの?