Cocos Creator 3D 正式开放公测
提示:帖子过长,问问题请移步 3D 讨论区
Cocos Creator 3D v1.0.0 RC1
RC1 详细更新日志
下载地址:Mac OS X | Windows
官网在线文档
编辑器详细更新
- 升级图标
- 将构建的许多耗时任务改为异步,主要包括:资源反序列化、图片压缩、资源拷贝等
- 更改运行微信项目时的路径参数以及添加对构建路径空格的限制
- 从构建的 settings 中移除内部函数数据
- 修复构建面板中场景数据的校验逻辑
- 修复构建时部分资源的 md5 处理
- 修复构建时获取的引擎模块设置参数不正确的问题
- 修复对命令行构建对 configPath 的读取
- 去除数值序列化时仅保留四位小数位的机制,避免导致动画数据精度问题
- 优化重复复制节点的操作
- 修复跨场景复制粘贴节点操作
- undo 删除节点时取消节点可能存在的选中状态
- 切换场景时清除已选中节点
- 限制节点位置的边界
- 重新导入 glTF 文件时调整旧项目动画的时间分段配置
- 修复 FBX 或 glTF 导入生成的 prefab 中不包含动画的问题
- 修复 FBX 或 glTF inspector 在切换子标签页时的显示问题
- 修复 glTF converter 对 bitangent direction 的计算问题
- 修复 glTF 导入时动画类型的问题
- 修复编辑器场景切换时的 gfx window 错误问题
- 修复动画编辑器右键的 spacing 功能
- 修复更改节点树信息后的动画编辑器界面更新问题
- 修复动画编辑时修改属性没有自动添加关键帧的问题
- 修复动画数据升级迁移的问题
- 修复动画编辑器删除节点区域的关键帧操作以及切换面板后的显示
- 修复动画编辑器在事件编辑界面上删除函数后在主编辑器界面上没有删除事件标记的问题
- 修复动画编辑器帧事件可能出现的复制和删除问题
- 粒子系统在编辑器内改为手动渲染
- 优化粒子系统的 inspector 交互体验
- 修复部分 missing uuid 的问题
- 修复图片资源更新后缩略图没有更新的问题
- 去掉创建脚本时缓存的校验数据避免错误的同名文件报错
- 修复部分脚本双击无法打开并报错的问题
- 修复 db 删除资源后重新放入的时候,meta 没有清空的问题
- 对场景和 prefab 做 layer 和 visibility 数据的升级迁移
- 修复 prefab 子节点拖为新的 prefab 时保存的错误数据
- 优化材质和 Effect 导入器,支持定义拆分后的参数分量并保障数据迁移
- 调用 Effect 编译器接口来做 Effect 的构建数据剔除
- 修复编辑器启动时的 crypto 报错
- 解决编译脚本时的 “Generated an empty bundle” 警告
- 更改构建模板标题与链接
- 修复登录界面偶现样式错误问题
引擎详细更新
- Effect 中支持间接属性(单独定义 Uniform 分量)
- 粒子系统中添加对 3D 旋转和缩放的支持
- 优化贴图尺寸的校验逻辑
- 将 CameraVisFlags 和 VisibilityFlags 统一为 Layers
- 对 Creator 传统的加载 URL 拼接方式做出明确的警告(不包含 sub asset 类型的路径)
- 去除运行时 Program 宏定义对 GLSL 依赖的约束
- 修复粒子系统 ShapeType 修改时没有更新的问题
- 修复同时适配屏幕宽度和高度时的 UI 适配问题
- 修复 iOS 转屏后适配不正确的问题
- 修复部分设备上 ScrollView 内的按钮无法点击的问题
- 修复 UI 材质的 uniform 没有初始化的问题
- 修复部分 UI 组件事件类型找不到的问题
- 修复 Audio 在微信上退出没有正确暂停的问题
- 使用 clamp 避免音频 setCurrentTime 时时间越界的问题
- 修复 debugInfos 在 debug 模式下无法提取的问题
其他
- 更新部分 API 文档
- 更新材质系统文档
- 更新一步两步上手教程
Beta19 详细更新日志
编辑器详细更新
- [重要]动画编辑中支持修改材质贴图
- [重要]修复 Prefab 编辑模式下会存储场景信息的问题
- 允许设置 Camera BitMask
- 增加 Project 配置协议
- 优化数值序列化机制,保留四位小数位
- Gizmo 操作使用 node.setWorldPosition
- 添加 Toon emissive 材质
- 添加创建 Asset 的单元测试
- 添加构建测试用例
- 优化 Asset 面板中的重命名操作
- 修复 Asset 面板中文件夹的显示和操作
- 增加移动节点的容错处理
- 修复操作资源后的刷新
- 修复粒子系统在编辑时的内存泄露
- 修复微信子包的构建问题
- 修复子包脚本的加载
- 修复 Gizmo 的缩放问题
- 添加 BlendShape 动画的导入警告
- 修复 xml 格式的导入问题
- 修复 removeConfig 的问题
- 修复 SkinningModelComponent 组件面板
- 修复恢复材质时的问题
- 修复预览问题
- 修复构建时的 Resolution 设置
引擎详细更新
- 优化动态合批逻辑
- 优化 Widget 的 dirty 监听机制
- 优化 BitMask 在引擎内的使用
- 更新 cannon.js
- 优化添加组件的菜单中的组件名显示
- 修复节点位置更新
- 修复 Transform 更新逻辑中世界矩阵的计算,以及 UI Transform的 计算逻辑
- 修复碰撞盒中心点没有更新的问题
- 修复 BUILTIN PHYSICS 拼写
- 修复音频没有在所有平台自动暂停的问题
- 修复 Widget 的 target 上不存在 UITransformComponent 时导致的崩溃
- 修复文字字体修改后没有更新的问题
- 修复重复设置 Camera TargetTexture 的问题
Beta18 临时更新
- 修复创建脚本失败的 Bug(卡在重命名阶段)
1. 编辑器更新
- [重要]新脚本系统
- [重要]动画编辑器支持编辑粒子系统材质
- [重要]修复构建微信和 Web 平台时产生的错误
- [重要]升级资源管理器:使用 uuid 标识子资源,隐藏主资源后缀名以便和加载路径保持一致
- [重要]记录节点树中展开和关闭状态
- 菜单支持一键生成预览模板支持
- 添加构建完成提示、构建时间记录、添加补全了部分接口定义
- 压缩纹理时始终拷贝原始纹理
- 给 jsList 添加排序处理
- 优化预览、构建的菜单显示
- 添加场景数据不存在的数据验证
- 修复丢失方法造成场景打不开的问题
- 修复 scene 节点数据的 dump 问题
- 修复 color-picker 丢失焦点不触发 confirm 的问题
- 修复构建后路径变更导致 cc 模块报错的问题
- 修复构建时没有应用项目选项的问题
- 修复外部引擎无法使用的问题
- 修复动画编辑模式下选择节点的问题
- 修复动画编辑器数值为 0 时不显示以及 bool 值的显示
- 修复选中的事件帧数据残留
- 修复导入模型资源时生成 tangent 的问题
- 修复 fbx 资源显示
- 修复数据迁移的时候会将新资源一起迁移的问题
- 修复 SceneAsset 资源导入错误
- 还原并先绕过 nodejs 加载的大小写问题
- 修复无效插件导致的报错
- 修改新项目文件夹的子文件权限为 777
- 修复插件内盘符不确定大小写导致模块被加载两次的问题
2. 引擎更新
- [重要]支持动态合批:需要在材质中勾选 USE_BATCH
- [重要]支持节点 Layer 设置和 Camera 的 visibility 设置
- [重要]微信平台添加 Splash Screen 以避免卡在 100% 的问题
- 优化粒子 Trail element 的分配逻辑
- 优化动画数据转换过程中的内存分配,降低峰值内存
- 修复 Vec3.cross 实现问题
- 修复组件在排序时比较结果错误的问题(导致组件启动添加失败)
- 修复粒子 mesh 缩放的问题
- 修复部分 Runtime 上潜在的问题
- 修复 AudioBuffer 类型是否存在的检查代码
- 废弃 Node 的 addLayer 和 removeLayer API
- 修复 super.destroy 调用检查不正确的问题
- 暂时隐藏 Camera visibility 属性的编辑器显示(需要通过程序 API 设置)
3. 案例
- 添加一些技能特效案例
Beta 16 详细更新日志
1. 编辑器更新
- [重要]场景编辑器右上角添加视角快捷回正工具
- [重要]升级构建流程并修复构建时的各种问题
- 优化大文件夹的移动操作
- 使用 WebGL 实现 camera preview 窗口,避免渲染问题
- 初次打开场景,取消节点变动的记录
- 拖拽面板的时候传递面板现在的宽高,并尝试继续使用
- windows 上改用系统的复制方法
- 升级 fbx2gltf 到 0.9.7
- 修复 Particle Shader 的问题
- 修复 toon 材质在微信平台的精度问题
- 修复粒子节点颜色编辑
- 修复粒子数据中一直会产生随机数据的问题,避免 undo 失败
- 修复旧版本动画升级,无法自动打关键帧的问题
- 修复预览 canvas 的尺寸使用与存储
- 修复预览速度慢的问题
- 修复地形组件编辑面板丢失的问题
- 修复 inspector 编辑材质时无法滚动的问题
- 修复构建界面点选场景导致丢失的问题
- 修复构建面板任务名在切换平台时的数据更新
- 修复小游戏空项目构建报错
- 修复特殊字符的 json 打包问题
- 修复打开(无动画)场景也会出现要求是否保存修改的问题
2. 引擎更新
- [重要]脚本系统重构更新
- [重要]支持 UI Canvas 和 3D 相机交叉排序(Intersperse 模式下可以指定与 3D 摄像机间的渲染顺序,Overlay 模式下 Canvas 始终渲染在最前面)
- [重要]添加基础物理材质支持
- Camera clear flag 增加 skybox 位,不设则不画天空盒
- 材质系统 setProperty 支持设置 SpriteFrame
- 修复改变 Parent 时的矩阵更新问题
- 修复 UI 模块导致的 PipelineStateObject 内存泄露
- 修复 WebGL1 中贴图属性不正确的问题
- 修复正交模式下的天空盒渲染
- 修复材质拷贝问题
- 修复部分模块导出问题
- 修复粒子系统贴图帧动画模式的问题
- 修复了物理元素与节点缩放没有同步的问题
- 废弃 PhysicsSystem.ins,改为 PhysicsSystem.instance
- 修复声音在微信切换后台时不会暂停的问题
3. 文档与案例
- [example-3d]增加皮肤渲染示例
- [test-case-3d]添加与 3D 世界同步的 UI Label 范例(用来制作悬浮在 3D 模型上的 Label,比如人名)
- [test-case-3d]添加物理材质测试用例
- [test-case-3d]添加压缩纹理测试用例
- [test-case-3d]修复 RenderTexture 相关案例的一系列问题
- [docs-3d]添加 Atlas 和 RenderTexture 使用文档
- [docs-3d]更新构建文档
- [docs-3d]更新动画文档
- [docs-3d]更新脚本系统文档
- [docs-3d]更新入口页面内容和 SUMMARY 页面
- [api]更新部分 API 文档
公测版本更新功能说明
大家好,转眼距离上一篇公测版本发布的帖子已经过去两个月,Cocos Creator 3D 终于要正式面向所有开发者开放了!如果你已经迫不及待想要尝试,请直接拉到文章末尾,你会找到所有你需要的内容。
如果有开发者想了解 Cocos Creator 3D 是什么,定位如何,可以去翻看之前的发布帖子。
https://forum.cocos.com/t/cocos-creator-3d/80169
我想首先感谢所有参与公测的开发者,以及合作立项的几个重要合作伙伴,是你们推动并帮助我们将这引擎在两个月内提升了不止一个档次,没有你们的反馈,Cocos Creator 3D 绝不可能如此快速得成长。同时,也对申请但是没有拿到公测版本的开发者致歉,当初采取申请公测的机制主要是为了尽可能有效率得收集反馈,也可以集中精力在产品迭代和优化上,以最高效的方式推动产品达到功能全面并相对稳定的状态。所以我们并没有给所有申请者公测版本的链接,而是在达到我们需要的测试规模后就停止了发放,今天和我们的歉意一并奉上公开测试版本,望谅解。
回到正题,让我先分享几个公测的两个月来的数据,用突飞猛进来形容也毫不为过:
- 更新了 15 个 Beta 版本
- 两个 Sprint 共计完成 308 个任务
- 引擎仓库合并了 292 个 PR
- 编辑器仓库合并了 492 个 PR
所以蛰伏这两个月并不是吊大家胃口,而是为了给大家呈上真正好用的 3D 编辑器产品。
废话不多说,我们来看看这两个月做的重要更新有哪些:
编辑器重要更新
-
界面重构,更清晰和整洁
-
动画编辑器重构,支持直接编辑材质属性以及复杂的动画扩展
-
Inspector 中可以直接唤起材质编辑,同时编辑节点、组件和材质
-
支持压缩纹理(PVR 和 ETC)
-
支持打包后的 JSON 碎文件合并,大幅度优化加载性能
-
支持打包时自动合图功能
-
优化 TS 自动导入和代码提示
-
非常基础的地形编辑支持(实验性版本)
-
节点和组件的批量编辑
-
添加资源预览面板(可以从 panel 中打开)
-
Camera Preview 面板支持
-
优化粒子运行面板的操作
引擎重要更新
- 纯 GPU Driven 骨骼动画,大幅度提升骨骼动画播放性能
- 支持骨骼动画挂点功能
- 整理目录结构和模块划分
- 统一面向对象风格数学库,通过
cc.math
来访问 - 添加 tween.js 动画支持,用于制作简单的程序动画
- RenderTexture 支持,可以通过程序接口截取画面
- 全局 Visibility Flag 设置
- 支持 TS namespace
- 物理模块支持 constant force 组件
- UI 新增 PageViewComponent 支持
其他更新
除了编辑器和引擎的功能更新以外,我们还做了大量的周边工作。首先使用文档和 API 文档进行了大幅度的完善,希望能尽可能降低大家的学习成本。其次我们还更新了一些测试用例和使用案例,包括一个简短的“一步两步”小游戏教程。接下来为了保障稳定性和迭代效率,我们开始纳入 Daily Build 流程,添加 CI 单元测试框架(虽然还有很多的测试要补)。为了保障 Cocos Creator 用户的体验,我们还沿用了很多 Cocos Creator 的使用体验,比如动画编辑器、Prefab 编辑、压缩纹理的设置、构建的配置方式等等。
资源
- 下载地址:Mac OS X 版本 | Windows 版本
- API 文档下载
- 使用文档:文档入口,SUMMARY 总览
- 案例仓库:Examples 3D
- 测试用例仓库:Test Cases 3D
- 快速上手:一步两步教学案例:Mind Your Step 3D
- UI Demo 3D 分支
- 论坛讨论区
最后,我要告诉大家的是,已经有两款 Cocos Creator 3D 制作的小游戏上线啦!虽然是非常简单的游戏,但是这是一个很棒的开始,希望开发者们通过我们的案例、文档、教程、编辑器设计等无数的细节中感受到我们的诚意和我们做 3D 编辑器的态度!
最后的最后,**我个人想感谢引擎团队所有同事的精彩卓越的工作,孵化出 Cocos Creator 3D 这样的产品,虽然后面的路还很远,但你们让我坚信我们会成为世界级的引擎开发团队!**在此打个广告,如果有开发者对引擎开发,尤其是编辑器工具开发感兴趣,欢迎通过邮件联系我们:hr@cocos.com,这条船还太小,而它的征途太广阔,我们需要你们加入一起创造和开拓!