死磕3D性能,渲染要达到3A游戏水平?直面Cocos的“极客灵魂”( 二 )


在v3.5中 , CocosCreator添加了一项关键能力:层级和遮罩(Layer&Mask) 。 这样开发者就可以使得骨骼动画做出上下半身分离的效果 , 即可以是上半身播一个动画 , 下半身播另一个动画;也可以是手臂一个动画 , 身体其他部位是另一个动画 。
死磕3D性能,渲染要达到3A游戏水平?直面Cocos的“极客灵魂”
文章图片
这样带来的好处就是大大降低了动画生产的成本 。 以前开发者需要为各种动作一一制作单独的动画 , 现在只需要制作身体各部位动画后 , 再排列组合使用即可 。 可以说是由原来1+1+1的工作状态 , 进化至n*n的状态 , 从而大大提升了动画生产效率降低了成本 。
·更便捷的材质编辑系统 , 把美术从重复劳动中解放
在新版本的材质系统中 , 当开发者修改材质时 , 支持undo/redo , 支持单步取消 。
材质导入模型后 , 引擎会自动生成模型内材质 。 由于不同DCC工具有着不同渲染器 , 因此这个自动生成的材质往往不能直接使用 , 而是需要重新编辑 。
过往由于引擎不支持直接材质编辑 , 开发者需要把材质拷贝出来然后在复制后的材质中修改 , 现在v3.5中 , 支持导入后直接在模型内部进行材质编辑 , 无需拷贝一个个材质 。 将美术从繁琐的重复劳动中解放出来 。
·FramePacingLibrary平滑游戏表现
在v3.5中 , Cocos引入了Google在AndroidGameDevelopmentKit(AGDK)的重要能力FramePacingLibrary , 这主要是用于帮助游戏平滑和稳定帧率 , 对于对OpenGL或Vulkan后端都适用 , 开发者可以在Android构建面板中启用Swappy来开启此功能 。
死磕3D性能,渲染要达到3A游戏水平?直面Cocos的“极客灵魂”
文章图片
在桌面平台游戏中 , 常常会出现画面撕裂的现象 。 这是由于GPU输出帧率高于了显示器每秒刷新率 。 针对这一问题 , NVIDIA与AMD都有相应解决方案 。 在安卓平台 , Google推出了FramePacinglibrary 。
一款手机同时支持60hz和90hz刷新率 。 如果一款游戏无法跑出60帧 , 这时FramePacingLibrary会侦测游戏帧数 , 并自动适配显示刷新率 , 保持游戏平滑 。
此外 , CocosCreatorv3.5更新还加入了地形抹平画刷和高度设置等重要功能 , 针对API文档也从界面设计、组织架构和内容三个维度进行了重新设计 , 开发者可以用新版API文档更好地学习引擎的使用 , 一步步学习更深层次的游戏开发 。
站在游戏茶馆这样的技术外行角度 , CocosCreatorv3.5主要在学习与开发体验上有了明显提升 , 对开发者更加友好 。
03
还可以期待后续版本的什么能力?
在Panda看来 , 相比CocosCreatorv3.4 , v3.5更多的是在易用性、稳定性上下功夫 , 提升开发者使用体验 。
目前CocosCreator保持着3~4个月发布一个版本的迭代节奏 , 虽然v3.5刚刚发布 , Cocos团队已经马不停蹄投入到此后的新版本开发中 。 据了解 , Cocos计划在今年内相继发布v3.6与v3.7版本 。
Panda就向游戏茶馆“剧透”了v3.6开发中的功能 , 并将v3.6称为“里程碑版本” 。 主要提升以下两个方面:
·原生化引擎
3.5版本在原生层已经包含了底层设备层 , 在v3.6中会将更多的基础模块在原生层实现 , 给原生项目带来比较大幅度的性能提升 。 届时整个渲染器 , 资源 , 渲染场景 , 节点树等基础模块都会在原生层 。
·更易用的自定义渲染管线
Cocos内部认为 , 虽然目前自定义渲染管线已经做出了较好的效果 , 但依然不是特别好用 。 在v3.6中 , CocosCreator会提供一个更好用的定制管线的方案 , 允许开发者更充分地去控制整个渲染流程 。