cocos技术派中技术分享的笔记(持续更新中...)

前言

游戏开发,不同项目类型,不同体量,不同团队,不同开发周期都会有非常不同而又nice的技术经验,个人的经验总是非常有限,在阅读到的技术分享中,简单记录自己觉得比较有意思,有意义,有启发的idea,供大家一起品味,也非常感谢每个大神的无私分享。

分享使你我快乐,共同进步。

本文中主要的技术分享来自cocos技术派,这里就不多说其它软文,后面就针对其各个分享,依次做一下笔记

腾讯光子 《最强魔斗士》3D 开发优化经验分享

  • 四叉树做空间规划
    分享一下Github上的js版四叉树模板 quadtree-js

  • GPU Instancing
    使用GPU Instancing可以一次渲染(render)相同网格的多个副本,仅使用少量DrawCalls。在渲染诸如建筑、树木、草等在场景中重复出现的事物时,GPU Instancing很有用。

  • 静态合批、动态合批
    通常我们打图集就是静态合批,动态合批是运行时拼接大图,把常用的碎图资源放在一起,方便后续渲染,以达到降低drawcall的目的,这是本人对其范范的理解,更多细节,需要读者去查阅更多资料,都是非常需要经验、灵活应用的优化

  • 实现轻量的 active 功能以优化大量频繁的节点增删
    这是一个需要灵活理解、运用的方案,用一定的内存空间,换取运行时的性能,要针对自己的项目,核心战斗逻辑适当借鉴,一般的开发经验都是很范式的对node用完就删除,销毁,或者建一个nodePool,对通用的各种node的“删除”都自定义的改成active,需要一定的使用经验,可以多尝试,注意最终对其真正destory

为武汉游戏人点赞!3D《巅峰漂移》技术分享

  • 无限地图的实现
    整体移动Grid,能减少动态创建的消耗,并且把整个Grid上附带的道具等item也移动过来?这点不知道是否有更细化的需求,总之,原Grid上可复用的item都能通过setPos来获得,而不是重新销毁和生成

  • 分帧创建
    这个也是游戏中常用的技巧,平摊性能消耗,要注意灵活运用

  • 汽车的碰撞优化
    汽车整体是一个大的碰撞盒,内部细化4个小碰撞后来代表碰撞方向,只有大的碰撞盒检测到碰撞,再进一步检测方向碰撞盒,这样,在方向碰撞上,不会额外检测碰撞计算,但同时巧妙的简化勒方向碰撞的逻辑,这个非常讨巧,有点意思,可以品味一下,很多类似的场景,也许都能借鉴其精髓。

  • 能不必要每帧检测的地方就开定时器,隔帧检测
    这点呢,结合自己的经验,计算的频率,最好程序上能有检测频率的参数支持,根据具体需求,在精度和性能上,去调整合适的值

  • 1-360度计算三角函数采用查表法
    如果项目中,有非常多次的三角计算,通过自定义封装、枚举常用的计算结果,确实是一个可移植、可扩充维护、高效率的好想法,值得多尝试

参考

cocos技术派

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值