平台支持
| 平台类型 | Unity | Cocos Creator | LibGdx |
|---|---|---|---|
| 安卓 | 支持 | 支持 | 支持 |
| IOS | 支持 | 支持 | 支持(通过RoboVM实现,现已废弃,详见备注) |
| Web | 支持(WebGL) | 支持(Web) | 支持(HTML5/WebGL) |
| MacOS | 支持 | 支持 | 支持 |
| Windows | 支持 | 支持 | 支持 |
| Linux | 支持 | 支持 | 支持 |
| 原生鸿蒙系统 | 支持 | 支持 | 不支持 |
| 小游戏平台 | 微信&抖音小游戏 | 微信&抖音&支付宝&华为等十余款小游戏平台 | 不支持 |
| 其他 | xbox,XR,tvOS等 | 无 | 无 |
备注:虽然LibGdx可以通过RoboVM实现IOS平台的运行,但是 RoboVM官方已于2017年正式终止了对它的开发和维护。MOE虽作为继任者在一定程度替换了RoboVM,但是其长期处于技术预览状态,并未发展成成熟的产品,英特尔后来也停止了对其开发和支持。
tips:技术本质-RoboVM和MOE本质是可将Java字节码直接编译为ARM或x86架构的原生代码
是否支持混编
混编是指已有一个庞大的原生应用,只是想将一小部分游戏内容作为组件嵌入。
| 平台类型 | Unity | Cocos Creator | LibGdx |
|---|---|---|---|
| 安卓 | 支持 | 无官方支持 | 支持 |
| IOS | 支持 | 无官方支持 | 无官方支持 |
备注:无官方支持的意思是目前官方并没有给出相应的方案。如需支持需要耗费大量时间去调研和修改工程。我看到比如说网上可能可以实现混编。但无具体操作步骤,是否可行尚且未知。同时需要要了解混编对于游戏引擎来说。并不是一个好的方案。大多数游戏都希望他们是独立的应用。同时值得注意的是虽然Unity支持混编模式(UAAL),但是也有一定的限制-见下文。
Unity(UAAL)限制如下:
1. 在 Android 和 iOS 上:
-仅支持全屏渲染。无法仅在部分屏幕上渲染。
-当团结引擎处于未加载状态时(在调用 Application.Unload 之后),它会保留一定数量的内存
(大约在 80 到 180MB 之间),以便能够在同一进程中快速重新加载并运行。
未释放的内存量主要取决于设备的图形分辨率。
2. 在 iOS 上,如果 Unity 运行时完全退出(在调用 Application.Quit 后),
无法在同一应用程序会话中重新加载 Unity
3. 您不能加载多个 Unity 运行时实例或集成多个 Unity 运行时。
4. 您可能需要调整您的原生和托管插件才能正常工作。
3D场景支持
| 特性 | Unity | Cocos Creator | LibGdx |
|---|---|---|---|
| 3D支持度 | 工业级标准,非常支持 | 持续增加的支持,V3.0版本开始统一支持2D,3D开发 | 仅基础支持 |
| 工作流与编辑器 | 一体化编辑器,可视化工作流,组件化设计 | 一体化编辑器,组件化设计 | 无官方编辑器,代码驱动 |
备注,对3D场景的搭建是Unity游戏引擎的绝对主场。他以高效的
是否需要付费
| Unity | Cocos Creator | LibGdx |
|---|---|---|
| 收费,规则见下面链接 | 完全开源免费 | 完全开源免费 |
备注:Unity具体收费规则,点我点我。
开发者友好程度
| 特性 | Unity | Cocos Creator | LibGdx |
|---|---|---|---|
| 开发脚本 | C# | JS 或者 TS | Java |
| 文档 | 中文&英文 | 中文&英文 | 英文 |
问题说明
所有的引擎假如采取混编模式。都需要对主工程进行调整,可能会对主工程编译机运行造成一定影响。LibGDX不支持IOS混编且对IOS支持不友好。另外混编方案因为不是主流方案,可能会出现一些无法预知的问题。
一些个人看法
目前看混编没有一个完美的解决方案,或需要授权费用,或无官方支持。既然没有一个完美的方案,个人感觉可以用一个比较主流的开源游戏引擎直接生成Web游戏,端上通过web加载的形式集成到各端。但是此方法由于涉及到多端需要进一步调查研究其可行性,流畅度,及复杂程度。