Unity3D 2018.3 Tiny Mode 预览版简介:进击H5小游戏,U3D超轻量内核来了
什么是Tiny Mode
据说轻量版内核只有72KB;
只能发布H5,不能发布原生版(将来可能支持原生发布)
渲染默认使用WebGL,会Fallback到2D Canvas;
暂不支持3D;
必须使用ECS框架编程;
暂时只能用Typescript编程,将来转为支持C#;
适合开发Facebook Instant Game(在Messenger App中玩的那种)、可交互广告Playable、H5小游戏
官网文档(0.13)
https://docs.unity3d.com/Packages/com.unity.tiny@0.13/manual/index.html
官网博客
https://blogs.unity3d.com/jp/2018/12/05/project-tiny-preview-package-is-here/
Solution (Instant 2D: Games & Playable Ads)
https://unity.com/solutions/instant-games/2d-games-and-playables
如何体验Tiny Mode
下载Unity Hub,删掉破解版的ulf文件,用正规账号登录,激活,在Unity Hub中选择预览版,下载2018.3
官方demo
https://tiny-match3.storage.googleapis.com/index.html
感想
就意味着老的项目和代码很难快速迁移到Tiny Mode;
从官方demo的性能来看,ios的safari和PC的chrome比较流畅,但是安卓的原生浏览器中运行,感觉不太流畅
Tiny中的ECS框架
面向数据的设计(Data-Oriented Design)
将数据以 Cache 友好的方式组织,可以显著提升程序性能。
测试程序分别以“基于组件的对象设计”和“基于数据的设计”两种方式,对 50000 个 GameObject (或者叫做 Entity) 的 Transform 矩阵进行计算。核心的计算代码都是一样的,最重要的差别就是这些 Transform 数据的内存布局不同。测试的结果十分惊人,在我的电脑上前者要比后者慢 2.8 倍!
虚幻3、4引擎就是一个典型的以面向对象为核心设计思想的多线程架构。现在虚幻4包括主线程、渲染线程、RHI线程、Texture Streamming线程,IO线程、物理线程等等!就拿渲染线程和主线程的交互方式来看,首先你就会发现大量的冗余数据,游戏逻辑层的对象中渲染相关的数据,必须通过 Primitive Proxy 的方式拷贝一份,发送到渲染线程;其次,还是有很多对象是在两个线程上同时要操作的,例如 View 系列的类,想改底层的话,分分钟被锁死!
面向数据的设计,从起点就考虑并行的问题! 在面向数据的设计中,设计的焦点是数据,首先要把数据理清楚,然后把逻辑分离出去。这样做的最大的好处是,每个逻辑模块对数据的读或是写是可以清晰界定的!这样一看,那些计算可以并行,那些是互相依赖的,就一清二楚了!
这方面 Unity3D 的 JobSystem 是很成功的!每一个 Job class 可以通过指定 UpdateAfter/Before Attribute 的方式建立依赖关系图,而引擎根据这个图自动调度任务的并行执行!实际上,我认为UpdateAfter/Before 这个名字起的不好,因为本质上你不是在排序 Job 的执行顺序,而是要思考对 ComponentData 的读写!
与“基于组件的对象设计”不同,ECS 架构中的 Component 只包含数据。例如使用 C++ 编程的话,Component就可以是 POD 类型(Plain Old Data)。Entity 也不是面向对象那样把组件、行为封装起来,而是只对应一个 ID。整个这个机制的设计使得所有组件可以在 World 中统一管理的时候,可以使用连续的内存布局,大大提高 CPU 的 Cache 命中率。
System 对于组件数据的“读写”是可以明确定义的。从这个数据的读写就可以分析出系统之间的依赖关系,形成一个 DAG。基于这种分析也就可以确定那些系统是可以并行执行的!典型的就是 Unity3D 的 JobSystem。
使用流程
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)