> 自媒体 > 游戏 > 3D 小游戏卷出新高度,用 Cocos 还原奇迹 MU!
3D 小游戏卷出新高度,用 Cocos 还原奇迹 MU!
来源:散文随风想
2023-11-14
251
管理

3D 小游戏「卷」出新高度!这款 3D MMO 到底有多强?

Shader 动画应用场景

其核心就是在 Shader 中,对顶点位置和 UV 进行干扰,从而借助 GPU 实现高性能动画。如下所示:

void main () { StandardVertInput In; CCVertInput(In); mat4 matWorld, matWorldIT; CCGetWorldMatrixFull(matWorld, matWorldIT); vec4 pos = In.position; vec4 normal = vec4(In.normal,0.0); float scale = 0.002; float speed = .5; //加入扰动 float disturbance = sin(cc_time.x*speed pos.y) * scale; pos.xyz = normal.xyz * disturbance; pos = matWorld * pos; v_position = pos.xyz; CC_TRANSFER_FOG(pos); vec4 position = cc_matView * pos; v_normal = normalize((matWorldIT * normal).xyz); #if USE_NORMAL_MAP v_tangent.xyz = normalize((matWorld * vec4(In.tangent.xyz, 0.0)).xyz); v_tangent.w = In.tangent.w; #endif v_uv = a_texCoord * tilingOffset.xy tilingOffset.zw; #if USE_VERTEX_COLOR v_color = a_color; #endif gl_Position = cc_matProj * position; }

流光 Shader

奇迹中,高级装备和武器的流光效果,也算是经典特色之一。

这种流光 Shader,一般使用两层流光加一层扫光来实现。不仅能够提升画面品质,还可以用很低的 GPU 开销实现各种武器光效,性价比是非常高的。

我们需要准备适合的发光图片和噪声图。

3D MMORPG 这类游戏的场景复杂度较高,同屏单位也不可控。为了兼顾更多的设备,我们也做了很多性能优化策略。

场景管理采用了四叉树管理,场景资源分帧加载,保证场景内不会一桢同时实例化多个物体造成卡顿。大量采用代理机制。草、水面、地表都做了代理。实现了这些可视物对应的模型数量都压到极低的水平。掉落物光柱和掉落钱币用 DymaicMesh 来动态合批,实现了最少的绘制调用。UI 动态特效,有一部分类型用 Shader 替代了序列帧,减少了内存纹理占用。减少 Mask 组件使用数量。使用 Cocos Creator 提供的引用计数机制来控制资源的引用和释放。场景中需要大量显示的草和副本怪物启用了 GPU Instancing,大大减少了 DrawCall,提高了渲染效率。使用分帧来处理逻辑,平滑帧率,避免一帧中执行太多任务导致卡顿。

为什么选择 Cocos

超快的联机游戏开发调试效率

如果你用 Cocos Creator 做过网游,你就知道他到底有多方便。开发机上一但编译成功,就可以在内网的任何一台机器上玩到最新版本。

在同一台机器上,也可以通过多开网页实现多角色联机调试。通过 URL 参数,还能做到免输入账号,缩短调式进入时间。

而 Cocos Creator 的代码在原生、小游戏、Web 端几乎是一致的。90%的问题在Web上测试通过,在其他平台上也不会有问题。

真•跨平台

在我们的公司,有多种类型的游戏产品。包括页游、原生手游以及小游戏。面对如此多元的产品线,我们需要一种能够轻松实现跨平台(原生、小游戏、H5)需求的解决方案。

Cocos Creator 在原生平台拥有高性能 C 内核,在 Web和小游戏上,有 Web3D 内核。使得它不管在哪类平台上,都能够以“原生”的方式支持,从而获得最优的平台兼容和性能表现,这就是我们选择使用 Cocos Creator 的原因。

内核开源,极致性能优化

对于 MMO 类型的游戏,为了呈现更丰富的内容以及增加更多的设备覆盖率,常规的优化手段通常不能 100% 达到目的。

这个时候,开源的内核让我们可以根据自己的需求剔除掉不必要的流程,或者根据我们的具体需求重写某些流程,以实现最小化性能消耗。

社区活跃

Cocos Creator 的社区非常活跃,很多问题都可以在社区中找到答案。这不仅大大提高了我们解决问题的效率,也让我们能够跟随社区的步伐,了解到最新的技术动态,不断提升我们的开发技能。

总的来说,Cocos Creator 以其超快的联机开发与调试能力、出色的跨平台能力、友好的开发环境以及活跃的社区,成为了我们游戏开发的首选工具。它不仅符合我们现有产品的需求,也为我们未来的产品开发提供了强大的支持。

0
点赞
赏钱
0
收藏
免责声明:本文仅代表作者个人观点,与华威派无关。其原创性以及文中陈述文字和内容未经本网证实,对本文以及其中全部或者 部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
凡本网注明 “来源:XXX(非华威派)”的作品,均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对 其真实性负责。
如因作品内容、版权和其它问题需要同本网联系的,请在一周内进行,以便我们及时处理。
QQ:2443165046 邮箱:info@goodmaoning.com
关于作者
秋叶无痕(普通会员)
点击领取今天的签到奖励!
签到排行
0
0
分享
请选择要切换的马甲:

个人中心

每日签到

我的消息

内容搜索