Unity游戏开发优化事项

本文提炼了Unity官方文档中的优化指南,包括一般优化和特殊优化两个方面。一般优化建议如使用属性ID而非字符串,避免频繁操作Transform,优化Vector3计算顺序等。特殊优化涉及多维数组使用、粒子系统内存管理、Update方法管理、线程优先级调整等。此外,提倡自定义Debug类、使用静态常量减少开销,并提示在大规模物体运动时考虑CullingGroups的使用。
摘要由CSDN通过智能技术生成

此篇博客内容均根据Unity官方文档内容翻译并总结而来。官方文档的目录为:

UnityManual ---->Bset Practice Guide ----> Understanding Optimization in Unity ----> General Optimization  和 Special Optimization

用户可以自行对文档中的这部分内容进行查阅,这里对这几部分内容只做提炼和总结。


一般优化:

1. 使用Shader , Materail , Animator相关的API功能时,尽量使用它们的属性ID ,避免使用字符串。假如我们要设置一个Material的中某个shader属性的值时,尽量使用material.SetFloat(int nameID, float value) 这个API,少用material.SetFloat( string  name, float value) .


2.多使用不分配内存的API。 例子是: 使用RaycastNonAlloc 方法替代 RaycastAll  方法;使用SphereCastNonAlloc 方法替代 SphereCastAll 方法。


      3.Unity 在移动或旋转一个Transform的时候,往往会通知这个transform下所有子物体的tranform进行移动或旋转,所以尽量避免在每一帧多次对Transform进行操作。如果非操作不可,也尽量算出最后的Vector3的值,并只进行一次移动。 另外,在操作类似Charactor这些transform层级很深的对象时尤其应该主意,尽量使用角色的Animator系统来操作角色。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值