丰田正在使用 Flutter 开发游戏引擎 Fluorite

作者:恋猫de小郭日期:2026/2/17

近日,丰田汽车旗下子公司丰田互联北美公司宣布,即将开源基于 Flutter 的自主研发的游戏引擎 Flourite ,而实际上在此之前,Flutter 已经是丰田车机的开发 SDK 之一。

Toyota Connected North America,TCNA,是丰田的北美子公司,专注于车载软件、AI 等。

Fluorite 是首款完全集成 Flutter 的主机级(console-grade)游戏引擎,主要针对车载数字座舱(digital cockpit)和嵌入式低端硬件设计,已在 2026 款丰田 RAV4 的信息娱乐系统上运行,并在 2026 年 2 月在 FOSDEM 2026 大会上公布 :

这是一个支持主机级 3D 渲染的项目 ,我们可以在演示中看到,官方展示的 3D 游戏 Demo 复线了一个相对完整的 3D 游戏场景:

TCNA 明确表示 Fluorite 将会作为开源项目独立发布,在 OpenEmbedded/Yocto 中目前已经有 Fluorite 示例场景的配方(recipes),而之所以选择采用 Flutter 自研 Fluorite,是因为丰田需要避免使用 Unity/Unreal 等专有引擎带来的费用高、资源重和许可问题,而不直接使用 flutter_gpu ,则是目前整体成熟度还不够:

目前 Fluorite 的设计强调高性能、低资源占用,游戏逻辑/UI 用 Dart/Flutter 编写,底层 C++ 优化,核心架构是 ECS(Entity-Component-System),支持热 Hot Reload,包括场景、代码、资产生效:

也就是 Fluorite 允许开发者直接用 Dart 写代码,从而降低了游戏开发的复杂度,同时可以使用 FluoriteView 控件添加多个 3D 场景视图,并且游戏实体和 UI 控件之间的状态共享:

组件技术/工具作用/特点
UI/游戏逻辑Flutter + Dart直接用 Dart 写游戏代码,可以利用 Flutter Widget 和状态管理(如 Provider/Riverpod),FluoriteView 小部件嵌入 3D 视图,与 UI 共享实体状态。
核心引擎C++ ECS高性能实体-组件-系统架构,针对低端/嵌入式硬件优化。
渲染Google Filament主机级 3D 渲染(PBR 物理基渲染、Vulkan 后端、光照、后处理、自定义着色器),支持 glTF 2.0/GLB 模型。
输入/输出SDL3跨平台 I/O 支持
物理JoltPhysics(路线图)未来集成
资产工具Blender模型定义触摸触发区(touch trigger zones),支持 onClick 事件
平台/OSEmbedded Linux (Yocto/AGL/Wayland);桌面(Linux/Mac/Windows);Android/iOS;主机;Web(探索中)车载优先,低启动时间

对于 Fluorite ,目前主要的集成方式就是用 FluoriteView 在 Flutter App 中添加多个 3D 视图,所以可以直接用 Flutter 生态,而 C++ 核心确保在低端硬件(如车载屏)实现主机级效果,避免 Godot 等开源引擎的启动慢/资源重问题,具体有:

物理准确光照、后处理效果、可访问性(accessibility)、着色器管道(shader pipeline)、Blender 中定义点击区触发事件等

更具体的应用场景是在车载 3D 教程/娱乐/交互 UI,未来扩展游戏机/移动等,官方表示 Fluorite 是开放的,并会以开源方式分发,即使未来丰田不使用它开发游戏,但引擎也会作为独立解决方案也存在,尤其对针对资源有限的设备场景。

image-20260217234026451

这么看来,也是短时间内 Fluorite 可以成为 flutter_gpu 的替代,不得不说 Fluorite 也算是之前我们提到过的 flame_3d 的另外一种补充。

更多可见


丰田正在使用 Flutter 开发游戏引擎 Fluorite》 是转载文章,点击查看原文


相关推荐


用 Python 30 分钟做出自己的记事本
忘忧记2026/2/8

🌟 《零基础手把手:用 Python 30 分钟做出自己的记事本》 —— 不是照抄代码,而是理解每行代码的「灵魂」 🧩 第一步:为什么我们需要「基础窗口」?(新手必懂!) ❌ 常见错误:直接写 window.show() 但窗口不显示? ✅ 正确逻辑:程序运行流程图 #mermaid-svg-OKGSEAHaVwdJVXr3{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyf


type-challenges(ts类型体操): 10 - 元组转合集
fxss2026/1/30

10 - 元组转合集 by Anthony Fu (@antfu) #中等 #infer #tuple #union 题目 实现泛型TupleToUnion<T>,它返回元组所有值的合集。 例如 type Arr = ['1', '2', '3'] type Test = TupleToUnion<Arr> // expected to be '1' | '2' | '3' 在 Github 上查看:tsch.js.org/10/zh-CN 代码 /* _____________ 你的代


LeetCode 377 组合总和 Ⅳ
展菲2026/1/21

文章目录 摘要描述题解答案题解代码分析1. 动态规划的基本思路2. 初始状态3. 状态转移方程4. 为什么这样能计算出排列个数?5. 与组合问题的区别6. 优化:避免不必要的计算 示例测试及结果示例 1:nums = [1,2,3], target = 4示例 2:nums = [9], target = 3示例 3:nums = [1,2], target = 3示例 4:nums = [1], target = 1 时间复杂度空间复杂度进阶问题:如果数组中含有负数问题分析解决方


HarmonyOS一杯冰美式的时间 -- UIUtils基础功能
猫猫头啊2026/1/13

一、前言 最近在写状态管理相关的代码,发现 HarmonyOS 的 UIUtils 这个工具类还挺实用的。它主要解决一些状态管理框架在使用过程中遇到的边界问题,比如代理对象、V1/V2 混用、数据绑定这些场景。 今天顺手整理一下它的几个核心功能,方便以后查。 该系列依旧会带着大家,了解,开阔一些不怎么热门的API,也可能是偷偷被更新的API,也可以是好玩的,藏在官方文档的边边角角~当然也会有一些API,之前是我们辛辛苦苦的手撸代码,现在有一个API能帮我们快速实现的,希望大家能找宝藏。 如果您有


Elasticsearch 8.13.4 动态同义词实战全解析
detayun2026/1/4

在搜索引擎的江湖里,“词不达意"往往是阻碍用户找到心仪内容的最后一道鸿沟。当用户搜索"番茄"时,如果你的库里只有"西红柿"和"圣女果”,传统的精确匹配只能让用户空手而归。同义词库,便是那把填补语义裂痕的钥匙。然而,在 Elasticsearch 8.13.4 这个版本中,我们不再满足于重启服务来更新词库的"笨办法",我们要的是如丝般顺滑的动态热更新。 今天,我们就来一场技术突围,深度剖析在 ES 8.13.4 时代,如何玩转动态同义词,让你的搜索引擎拥有"自我进化"的灵魂。 一、 告别"文件搬运


卷积神经网络CNN
代码洲学长2025/12/26

CNN简介 卷积神经网络就是一个包括卷积层和池化层的神经网络,主要应用于计算机视觉方面,应用场景包括图像分类、目标检测、面部解锁、自动驾驶等。 整体架构流程 CNN的主要结构为 输入层,隐藏层 和输出层,主体架构主要体现在隐藏层中的网络,依次为卷积层 池化层 然后全连接层直接输出。CNN分别进行了两场卷积和池化 ,最终通过三个全连接层进行输出。 卷积层结构图 input(32, 32, 3) conv(3, 3, 6) relu(30, 30, 6) pool(2, 2, 6)


设计模式——责任链模式实战,优雅处理Kafka消息
KD2025/12/18

一、业务背景 Kafka接收消息,需要A,B,C...多种策略做处理,再通过http请求发送给下游。多种策略混在一起很难维护,通过责任链模式把每种策略的代码收敛到自己的Handler中 二、具体设计 classDiagram Handler <|-- StrategyAHandler Handler <|-- StrategyBHandler Handler <|-- UploadHandler Handler: +void handleUserData(UserContext, Handler


【Perfetto从入门到精通】2. 使用 Perfetto 追踪/分析 APP 的 Native/Java 内存
Lei_official2025/12/10

这个世界就是这样,你从失败中学到的东西可能比成功中学到的东西更多——《Android 传奇》 说起 Android APP 内存分析,我们第一时间想到的,往往是 Android Studio Profiler、MAT 这样的老牌工具,而 Perfetto 的出现,又为其提供了一种更加贴近底层的视角。而且相比于现有的工具,Perfetto 更加擅长于分析 Native 内存占用,可以说是补齐了工程师在这方面的短板。 在内存方向,我计划用2~3篇文章来介绍 Perfetto 的功能、特点、使用方


前端高频面试题之CSS篇(二)
程序员小寒2025/11/30

1、如何实现两栏布局? 两栏布局指的是左边宽度固定,右边宽度自适应。 DOM 结构如下: <body> <div class="box"> <div class="left"></div> <div class="right"></div> </div> </body> 1.1 利用 flex 布局实现 实现思路:将父元素设为 flex 布局,左边元素宽度固定,右边元素设为 flex: 1,即自适应。 .box { display: flex; width: 5


【深度学习基础篇04】从回归到分类:图像分类与卷积神经网络入门
ppppppatrick2026/2/25

【深度学习基础篇】从回归到分类:图像分类与卷积神经网络入门 文章目录 【深度学习基础篇】从回归到分类:图像分类与卷积神经网络入门一、前情提要:从回归实战到分类任务的核心转变回归与分类的核心区别:输出逻辑的本质不同分类任务的输出解码:从“置信度”到“类别标签” 二、图像分类的前提:理解图像的张量表示1. 图像的核心维度:通道×高度×宽度(C×H×W)2. 批量图像的张量格式:N×C×H×W3. 全连接层处理图像的痛点:维度爆炸 三、卷积的核心概念:从“局部感知”到特征提取1

首页编辑器站点地图

本站内容在 CC BY-SA 4.0 协议下发布

Copyright © 2026 XYZ博客