前不久,深圳小爱灵动基于 Cocos Creator 推出元宇宙项目「灵动元境」刷爆了很多人的朋友圈,该项目发力品牌元宇宙生态基础设施建设。
孙晨阳
在深圳沙龙上,小爱灵动游戏内容业务负责人孙晨阳分享了如何使用 Cocos Creator 快速搭建一个多人游戏并进行调优,从材质优化、角色优化、场景优化、性能优化、插件配合等方面聊了聊自己的经验与心得。以下为分享内容。
Demo 演示效果
体验地址:
https://cdn.aigamify.cn/AI-GAME/CocosClub/
材质优化
Demo 中所有材质都使用了定制化,分别基于 Cocos Creator 的 Unlit、PBR 和 Toon 材质做了精简和优化。
以 Unlit 材质为例,在 FS 部分去除了 MainColor,假如需要用到 Color,后续可以通过宏开关控制。
同时在 VS 里,把 TilingOffset 去除了 Offset 部分,只使用 Tiling 就可以了(大部分情况下 offset 用不到),同时也增加了宏开关。
PBR 材质是一个通用材质,需要针对各个建模软件做适配的一些参数,所以做了很多兼容性处理,比如 albedoScale、emissiveScale 等精度参数都可以通过宏开关或者注释的方法去掉。
如果不需要使用 occlusion 或者 specularIntensity,还可以对 PBR 材质做进一步的优化。同时 PBR 中的 Lightmap 部分也有很大的优化空间,这块的优化可以根据项目去决定。
角色优化
角色渲染
角色整体的的定位与渲染偏卡通风格,这里采用了 Cocos Creator 默认的 Toon 材质进行优化与精简,减少了卡通渲染的色阶。去除二阶着色的同时,也减少了一阶着色的参数。
Cocos 默认的 Toon 材质是三阶着色,分别是 BaseColor 基础着色 + Shade1 + Shade2,这里去除了 Shade2,把 Shade1 称为一阶着色,BaseColor 称为基础着色。
此外,对一阶着色设置了宏开关进行控制。
我们可以在材质里通过拖动条(slider)更方便地拖动一阶着色。
高光部分则增加了宏开关,只有眼镜、头发等部分使用了高光,进一步减少渲染的开销。
皮肤、头发和衣服使用了边缘光,考虑到角色的颜色可能会改变,对边缘光的颜色也做了简化,改变肤色的时候边缘光可以随之改变。
为了减少材质数量和网格开销,角色的丝袜使用了细节贴图实现。这里同样做了宏开关的配置