一直关注白鹭引擎的童靴会发现,今天白鹭引擎先后完成了白鹭引擎5.2.0、白鹭引擎5.3.0两个版本的更迭,在周三发布《白鹭引擎稳定版即将发布,后续路线图同步公开》文中,我们已详细介绍了白鹭引擎5.2.0版本的功能,今天我们重点说下白鹭引擎5.3.0版本,这个版本的核心功能就是众多开发者童靴持续关注的:Egret3D。 有关Egret3D的整体结构、与原来白鹭引擎的关系、及如何使用Egret3D开发一款HTML5 3D游戏,Egret3D的路线规划在今天的文章中我们都将逐步揭晓。 首先,我们先谈谈Egret3D到底是什么: 其次,我们简单说说Egret3D的设计目标: 接下来重点介绍Egret3D的核心干货,请做好准备。 整体结构 egret3d 命名空间用于处理三维游戏相关内容,包含模型、纹理、材质、灯光、碰撞等常用功能。 paper 命名空间用于实现与具体游戏引擎(无论是2D 或 3D)无关的组件实体系统框架,用于维护对象的生命周期以及开发模型。 与白鹭引擎的关系 Egret3D 不会处理资源管理、网络通讯相关内容,这一部分交由白鹭引擎的AssetsManager 进行处理。 Egret3D 允许 2D / 3D 混合,所以开发者可以在 Egret3D 中添加原有的 EgretAPI 创建的 2D显示对象,这样您可以使用白鹭引擎的 EUI 组件库和 Egret Wing 编辑器进行 UI 开发。 少部分模块(比如声音)目前在 Egret2D 和 Egret3D 中拥有不同的实现,我们会在后续版本将其统一。 如何开发一款 HTML5 3D 游戏? 第一类用户类型:我有三维游戏开发经验,但是不了解白鹭引擎。 这部分开发者的主要来源是 Unity3D 开发者(可能也有部分 Unreal 或者其他游戏引擎的开发者),白鹭引擎提供了较为完整的 Unity导出插件,可以将您的 Unity 场景、材质、动画和预制体导出到白鹭引擎支持的格式,这可以大大加速您将现有的 3D 游戏迁移到白鹭引擎所耗费的时间。 除此之外,您会发现白鹭引擎中提供的组件实体系统 API 和 Unity 非常相似,这也是为了尽可能帮助您降低学习成本而设计的。 对于这部分开发者,我们建议您首先尝试在您现有 Unity 项目中取出相对简单的场景,通过 Unity导出插件,快速尝试运行一个 Egret3D 场景,并进一步学习白鹭引擎的各种功能特性,特别是使用 Egret EUI 进行 UI 搭建。 您可以通过 https://github.com/egret-labs/egret3d-unityplugin 下载和安装 Unity 导出工具。 第二类用户类型:我很了解白鹭引擎,但是不具备三维游戏开发经验。 这部分开发者的主要来源是已经在使用白鹭引擎开发 HTML5 游戏的开发者。一款简单的 3D 游戏与 2D游戏区别不大,但是如果开发目标较为复杂的话,需要额外理解很多概念,比如模型、材质、灯光、摄像机等。在目前阶段,我们建议您最好了解一下三维游戏的常见概念,考虑到 Egret3D 的编辑器预计在 2018年6月底才会发布,我们建议开发者在目前这个阶段使用 Unity 进行编辑然后再导出至 Egret3D中,这也是官方团队在制作最先几个 3D 游戏的做法。 如何使用 Egret3D 开发 • 通过 EgretLauncher 安装白鹭引擎5.3.0 版本,5.3.0 版本目前没有内置在 EgretLauncher 中,需要开发者在 https://github.com/egret-labs/egret-core/tree/5.3.x 下载,并通过 Egret Launcher 的安装本地引擎功能进行安装。 • 打开一个终端,执行 npm install cnpm –g 和 cnpm install @egret/paper-cli -g 安装命令行工具。 • 执行 paper create helloworld 创建一个新项目。 • 执行 cd helloworld 进入刚创建的文件夹。 • 执行 paper install egret3d 安装最新的 egret3d 库。 • 执行 egret build 构建项目。 • 执行 egret run 运行项目。 更多文档正在编写中,包含 API ,入门教程与示例 Demo。 Paper-cli 是什么? • 创建 3D 项目,该命令将代替 egret create。 • 安装 3D 项目的第三方库,该命令并不是修改第三方库的调用方式,只是提供了一种安装第三方库的简便方法。 而原有的 egret 命令行仍然负责构建与运行工作,我们会在未来的版本将这两个命令行统一。 问题反馈 路线图 0.9 ( 2018.6.1 ) 1.0 ( 2018.7 ) 1.5 ( 2018.9 ) |