Cocos Creator v2.1.0 3D 公测版发布帖(1127 新增 rc.7)

请大家使用测试版时一定要注意备份好自己的项目!
注意:如果有自定义引擎,请先还原为编辑器内置引擎,否则版本不匹配将无法使用新版编辑器。
所有测试版相关问题请在此回帖,不要另外发帖。

早在 Creator 2.0 发布时,Creator 已经用上了基于 Cocos3D 的 3D 渲染器。因此在 2.1 版本,我们就有了性价比比较高的方案,可以正式引入 3D 支持。3D 特性的加入可以大大丰富 2D 游戏的表现力,减轻 2D 游戏的资源开销。在 Creator 2.1 版本中,支持了 3D 模型渲染、3D Camera、3D 骨骼动画、3D 点选 等 3D 特性,同时编辑器原生支持解析 FBX 格式的 3D 模型文件,不需要额外的导入流程。

划重点,把 Cocos Creator 重新定义为 3D 引擎,并不是我们的出发点。确切地说,这次放出的 2.1 版本还只是一个 2.5D 游戏引擎,将来的 3D 功能引入也会控制在很精巧的范围内。可以说,Creator 的 3D,更多的是为了解决 2D 游戏在性能、玩法和表现力上的问题而加入的,因为我们的目标用户仍然是现有的 2D 游戏开发团队,我们会坚守 2D 游戏开发体验及基础性能。这是我们和不久前内测的 Cocos3D 引擎本质的区别。

这不是 Cocos 第一次做 3D 支持,几年前 Cocos2d-x 就在 3D 领域进行过扩展,积累了不少经验,更诞生了《剑与家园》这样非常优秀的作品。不过当时是在一套已经很重的 2D 渲染器上堆砌 3D 功能,也缺乏编辑器支持,因此最终并未得到市场的广泛认可。而这一次,Cocos Creator 是在 Cocos3D 的 3D 渲染器基础上,自然地开放了 3D 支持,也保证了无缝的编辑器使用体验,因此我们相信这次从 2D 到 3D 的突破是可行的。

目前放出的技术预览版,还缺乏文档,Bug 会比较多,因此建议大家体验一下就好,不要把正式项目升级到这个版本。
在 example 工程中已经加入了 3D 范例,可以新建 example 工程,打开 assets/cases/3d 下的案例进行体验(该版本首次打开 example 时,会有一个无关的警告,直接点 OK 即可)。另外,这个工程也可以用于本地测试。

最后放点私货,我知道你们很担心引擎组“不务正业”。请放心,Cocos Creator 的三驾马车:效率(性能和内存)、资源(包体和分包)、中间件(Spine 等第三方组件),以及这三驾马车 在原生平台上的表现,我们都没有忽略。最近引擎组已经在团队建设、人员结构上取得了很大进步,这些领域都有投入专门的人力进行优化,同时下一代编辑器也在紧张开发当中。

What’s New

3D 功能

支持了 3D 模型渲染、3D Camera、3D 骨骼动画等 3D 特性,同时编辑器原生支持解析 FBX 格式的 3D 模型文件,不需要额外的导入流程。2.1 版本仍不支持 3D 场景编辑,仅能够在属性检查器中对节点进行参数设置。同时 3D 点选、3D 碰撞检测也还没有加入。如果需要设置 Camera 的 FOV 等参数,请在编辑器中将 Camera 所在节点切换至 2.5D 模式。

优化自动图集构建速度,如果图集没有改变的话则直接使用上次构建的结果

进一步提升渲染性能

v2.0 相比 v1.x,有一些情况引擎不会进行渲染批处理,导致了 Draw Call 增加。v2.1 对这些情况重新进行了优化。如之前 Color 或 Opacity 不同无法批处理,Sliced 和非 Sliced 共用同一贴图无法批处理,Opacity 为 0 的节点仍占用 Draw Call 的问题都得到了解决。

增加模拟器调试功能

在项目设置 - 预览运行面板中,新增了“开启模拟器调试界面”选项和“等待调试器连接”选项。前一个选项的作用是,在模拟器预览项目时将自动打开调试窗口。后一个选项的作用是,暂停启动过程直至调试器连接完成,用于调试加载过程。

纹理自动压缩

可以直接在编辑器中设置纹理需要的压缩方式,Creator 将在项目发布时自动对纹理进行压缩。针对 Web 平台,支持同时导出多种图片格式,引擎将根据不同的浏览器自动下载合适的格式。(该功能目前支持的平台还很少,之后文档会补上)

编辑器

Dashboard 改为在打开工程的时候关闭,工程关闭的时候自动打开
Dashboard 将会自动记录上一次创建的工程路径
优化 Button 在编辑器下的预览效果
优化 Button Click Event 对组件的索引方式,避免脚本重命名后索引就丢失的问题
QQ 轻游戏构建时允许直接打包出 zip 文件,便于上传服务器
新增插件商城在插件下载完成后自动提示用户安装
构建微信小游戏主域工程时,不会再清空子域
修改构建 Android 平台时默认选中的 API Level 为当前最高的 Level(Target API Level)
移除了场景编辑器中的节点路径栏,节点路径可通过层级管理器的节点右键菜单获取
动画编辑器对 cc.Enum 和 cc.Integer 类型的数值默认改用 Constant 曲线,不进行插值
动画编辑器关键帧增删体验优化
优化引擎自动编译有关体验
新增了其它一系列体验优化

引擎

[UI] 在 Layout 组件上新增 affectedByScale 属性,如果开发者希望 Layout 子节点的缩放能够影响布局,可以手动开启该选项。
[UI] 支持 XML 格式的 fnt 文件
[UI] Label 节点 onEnable 时将立即刷新一次节点的 Content Size
[UI] 当 Button 的 target 未定义时,将默认使用当前节点
[UI] ToggleContainer 增加了和 Toggle 类似的 checkEvents 事件属性,该事件只有在 Toggle 的 isChecked 状态变为 true 时才触发
[Native] 在 iOS 和安卓平台重新加入了在 v2.0.0 中移除的 WebView 和 VideoPlayer 支持
[Native] Mac 原生平台切换至 V8 引擎,如需用回 JSC 需手动修改宏,详见 #1515
[Native] 添加原生平台 LocalStorage 缺失的 key 和 length 属性,详见 #1371
[Native] 在 iOS 原生平台上采用跟 Android 统一的拼音输入行为,不保留输入未完成的拼音
[Android] 升级安卓编译方式到 NDK r16 + Clang,同时采用 Clang 编译安卓预编译库
[Android] 升级 Android 构建工具配置 Gradle 至 4.4,plugin 至 3.1.4。(Gradle 4.6 有已知 issue 会导致资源打包失败)
[Android] 优化安卓输入框使用体验
[Android] 压榨安卓空包包体,最小包体从 7.0MB 减小到 6.3MB
[Web] 增加 Web 平台上 WebView 的透明度支持
[Web] 优化了 WebView 组件的显示位置
[Web] 优化 VideoPlayer 在 X5 浏览器上的适配表现
[Wechat] 支持在微信小游戏上响应 cc.game.EVENT_SHOW 事件时,获取到平台传入的 res 和 referrerInfo 参数
[VideoPlayer] 优化了 VideoPlayer 全屏播放的有关表现

Bug Fixes

编辑器

修复动画编辑器节点列表可能没更新的问题
修复在场景编辑器里面能选中 RichText 子节点的问题
修复使用命令行构建项目时,即使错误也错误码返回也是 0 的问题
修复场景编辑器中的网格背景会穿透到某些半透明图片上方,导致颜色和运行时有一些差异的问题
修复外部拖拽资源到资源管理器的无效位置时,编辑器会报错的问题
修复发布 Android Instant 平台时远程服务器 ip 获取错误的问题

引擎

[Core] 修复节点 destroy 后,activeInHierarchy 仍为 true 的问题
[Core] 修复 RenderTexture 中的 filter, premultiply alpha 设置无效的问题
[Core] 修复无法加载由插件引入的场景的问题
[Web] 修复 Chrome 69、70 上半透明对象渲染后可能出现白色残影的问题(Since 2.0)#3357
[UI] 修复 Button 在多个状态互相叠加时可能有些状态失效的问题
[UI] 修复 LabelOutline 设置颜色无效的问题
[UI] 修复了在 start 方法中设置 Toggle.isChecked 无效的问题
[QQPlay] 修复 QQ 轻游戏不响应前后台切换事件的问题
[QQPlay] 修复 QQ 轻游戏上如果使用斜体,字体将会变得很小的问题
[QQPlay] 修复 QQ 轻游戏在锁屏重新进入或前后台切换时,声音无法重新播放的问题
[微信小游戏] [QQPlay] 修复小游戏平台 audio setCurrentTime 之后,不触发 ended 事件的问题 3373
[Native] 修复原生平台连接 socket.io 服务器可能会报 Bad Request 的错误
[Native] 修复 iOS 和安卓无法检测重力感应的问题
[Native] 修复 iOS 调用 cc.game.restart 重启游戏后再输入文本会崩溃的问题
[Native] 修复 Windows 原生平台上 Label 的 opacity 属性不生效的问题
[Native] 修复安卓上无法监听 onKeyUp 的问题
[Native] 修复安卓手机如果自带的 SSL 证书过期后会导致资源加载失败的问题
[Native] 修复安卓原生平台下载图片时不支持服务器重定向的问题 PR
[Physics] 修复 MouseJoint 未能响应 touch cancel 的问题
[Spine] 修复当 Spine 在 Mask 下重新加载时贴图有可能丢失的问题

MIGRATION GUIDE

v2.1 升级指南

废弃 Node.rotation 有关 API
TODO https://github.com/cocos-creator/engine/pull/3340

微信小游戏开放数据域

从 v2.0.1 开始,Cocos Creator 升级了开放数据域解决方案,请参阅 接入小游戏开放数据域

v2.0 升级指南

详见 v2.0 升级指南

资源升级

从 v1.10 开始,Cocos Creator 对底层资源类型进行了重构,大多数项目不受影响,但有些项目可能会收到一些警告,详情请查阅 v1.10 资源升级指南

下载链接

v2.1.0-rc.7(Mac 版 | Windows 版

新增 cc.Rotate3DTo、cc.rotate3DTo、cc.Rotate3DBy、cc.rotate3DBy 四个 Action 的支持
修复 LabelOutline 组件 enabled 状态修改时效果没同步变化的问题
修复 AnimationState 的参数有可能解析为字符串类型的问题

以下是对 2.1 新增问题的修复

修复编辑器切换布局后,资源管理器显示多个 assets 文件内容的问题
兼容 2.0 的 Editor.projectInfo API

v2.1.0-rc.6(Mac 版 | Windows 版

修复 2.1 测试用户的粒子资源没有重新刷新的问题
增加了 mesh 资源的属性检查器,用来显示 mesh 详细信息

v2.1.0-rc.5(Mac 版 | Windows 版

以下是对 2.1 新增问题的修复

修复资源管理器搜索出资源后,无法拖动资源的问题。
修复构建面板中的乱码
修复命令行构建时的报错

v2.1.0-rc.4(Mac 版 | Windows 版

[Editor] QQ 轻游戏构建时支持直接打包出 zip 文件
[Editor] 修复构建 Android Instant 平台时远程服务器 ip 获取错误的问题
[Native] 修复安卓手机如果自带的 SSL 证书过期后会导致资源加载失败的问题
[QQPlay] 修复 QQ 轻游戏上如果使用斜体,字体将会变得很小的问题
[QQPlay] 修复 QQ 轻游戏在锁屏重新进入或前后台切换时,声音无法重新播放的问题
[UI] 在 Layout 组件上新增 affectedByScale 属性,如果开发者希望 Layout 子节点的缩放能够影响布局,可以手动开启该选项。
[UI] 当 Button 的 target 未定义时,将默认使用当前节点
[UI] 修复了在 start 方法中设置 Toggle.isChecked 无效的问题
[UI] ToggleContainer 增加了和 Toggle 类似的 checkEvents 事件属性,该事件只有在 Toggle 的 isChecked 状态变为 true 时才触发
[Wechat] 支持在微信小游戏上响应 cc.game.EVENT_SHOW 事件时,获取到平台传入的 res 和 referrerInfo 参数
[Spine] 修复当 Spine 在 Mask 下重新加载时贴图有可能丢失的问题
[VideoPlayer] 优化了 VideoPlayer 全屏播放的有关表现

以下是对 2.1 新增问题的修复

修复安卓 API Level 低于 21 时可能编译失败的问题
修复动画编辑器同时存在多个相同碰撞组件时的属性显示问题
修复启动过程中编辑器界面异常
修复 3D node 设置 scaleZ 过程中的报错
支持了 3D Sprite 和 3D Label
修复子节点透明度为 0 时,不会随父节点变换的问题

v2.1.0-rc.3(Mac 版 | Windows 版

[UI] Layout 组件支持子节点 scale
[UI] 支持 XML 格式的 fnt 文件
[UI] Label 节点 onEnable 时将立即刷新一次节点的 Content Size
[Native] [UI] 在 iOS 原生平台上采用跟 Android 统一的拼音输入行为,不保留输入未完成的拼音
[Web] [UI] 优化 VideoPlayer 在 X5 浏览器上的适配表现
[Web] [UI] 优化了 WebView 组件的显示位置

[Editor] 修复外部拖拽资源到资源管理器的无效位置时,编辑器会报错的问题
[Native] 修复安卓原生平台下载图片时不支持服务器重定向的问题 PR
[Physics] 修复 MouseJoint 未能响应 touch canel 的问题

以下是对 2.1 新增问题的修复

完善四元数、欧拉角相互转换的 API
修复切换场景时节点未成功销毁的问题
自动升级动画文件中的 rotation 到 angle 属性,避免出现相关警告
修复自动图集构建时会把原图也导出,并且出现警告的问题
修复 transition、pressedColor、hoverColor 序列化数值错误的 bug

v2.1.0-rc.2(Mac 版 | Windows 版

v2.1.0-beta.1(Mac 版 | Windows 版

v2.1.0-alpha.9(Mac 版 | Windows 版

v2.1.0-alpha.8(Mac 版 | Windows 版


感谢每一位参与体验的同学,相关问题请反馈到本帖下!

版本测试流程:alpha => beta => rc => 正式版
alpha: 开发过程中的技术预览版,只经过冒烟测试,未经测试团队验证
beta: 功能接近完整的测试版
rc: 发行候选版本,原则上避免进行任何改动。如果用户没反馈什么大的问题,将直接修改文件名作为正式版

19赞

沙发,楼主真棒(一脸正经)

11赞

楼主真棒!

瓜子板凳前排占座,为cocos点赞

楼主真棒!

楼主真棒,一脸震惊

看我刷出了什么宝贝!

哇!又有好玩的了,支持楼主的一脸正经:grin:

1赞

这个按钮点了没反应

3赞

强烈点赞

早上上班第一件事就是看论坛,哇,期待已久!

前排出售广告位

十分可行,大赞

真棒jare大佬

顶一个,大赞COCOS

既然2.x用了3D渲染器,为什么不把Node搞成3D坐标系,将Camera支持正交透视切换,2d也用3d工作流不是更爽吗

顶一个,个人下载看看,虽然公司正式项目可能要等你们发布2.1.n版本后才会跟进:smile: