unity游戏性能优化之cpu优化第二节--对象池技术的介绍
来源:互联网 发布:知行高职英语综合教程1 编辑:程序博客网 时间:2024/06/07 06:38
这节介绍一下unity中对象池的使用
public GameObject EnemyPrefab; public static Vector3 defaultposition = new Vector3 (33,-6,8); public GameObject[] instances; void Start() { instances = new GameObject[maximnmInstanceCount]; //僵尸类数组作为对象池 for(int i = 0;i < maximnmInstanceCount;i++) { //使用instantiate函数实例化怪物,禁用对象并放入对象池 GameObject enemy = Instantiate (EnemyPrefab,defaultposition,Quaternion.identity) as GameObject; EnemyPrefab.SetActive (false); instances [i] = enemy; } }
//在怪物对象池中找到一个未激活enemy,找不到则返回null private GameObject GetNextEnemy() { for (var i = 0; i < maximnmInstanceCount; i++) { if (!instances [i].activeSelf) { return instances [i]; } return null; } }
//获取没有激活的enemy对象 private bool Generate(Vector3 position) { GameObject enemy = GetNextEnemy (); if (enemy != null) { //激活怪物 enemy.SetActive (true); //这里自定义函数 return true; } return false; }
在日常开发中 我们激活实例化对象后 可以进行自己想要的操作
比如:初始化位置,伤害等等我们需要启用的功能
这里需要注意的一点,当怪物死亡后,我们需要有一个死亡状态处理函数。相当于把死亡的怪物放回池子里供下次使用。
对象池也有它的缺点,段时间内实例化太多的对象也会造成游戏的卡顿 ,这里我们使用协程函数以一定的时间间隔创建多个游戏对象
private int instanceCnt = 0; void StartSpawnInstance() { instanceCnt = 10; //启动协程 StartCoroutine(SpawnInstance()); } //定义协程 IEnumerator SpawnInstance() { while(instanceCnt > 0) { //这里进行实例化游戏对象函数 instanceCnt--; yield return new WaitForSeconds (waitTime); } }
下一节是渲染系统的简单优化
只是一个简单的演示 游戏cpu优化有很多的难点和有趣的地方 欢迎前辈们指导
感谢(づ ̄ 3 ̄)づ
0 0
- unity游戏性能优化之cpu优化第二节--对象池技术的介绍
- unity游戏性能优化之cpu优化第一节
- unity游戏性能优化之渲染优化
- Untiy3d-unity游戏性能优化-详细介绍
- Unity性能优化之CPU篇
- cocos2dx游戏性能优化之对象池
- [Unity优化] Unity CPU性能优化
- Unity性能优化(CPU)
- unity游戏性能优化之简单内存优化
- unity游戏性能优化 - 贴图优化
- 【Unity优化】CPU优化
- [Unity 优化]CPU优化
- KVM 性能优化之CPU优化
- Android 性能优化对象池技术 <5>
- Unity 3D优化游戏运行性能的经验
- Unity 3D优化游戏运行性能的经验
- Unity游戏性能优化时的截图方案分析
- Unity性能优化之DrawCall
- android studio的奇怪问题
- Android 仿美团网,探索使用ViewPager+GridView实现左右滑动查看更多分类的功能
- Path Sum
- dijkstra
- github上众多优秀的下拉刷新三方控件
- unity游戏性能优化之cpu优化第二节--对象池技术的介绍
- Leetcode 268. Missing Number
- ubuntu下完美安装pyenv+virtualenv
- 高仿网易照片浏览器,支持本地及网络相册!
- 计时器Timer
- 383. Ransom Note
- 只要五分钟,让你成功接入Twitter的第三方登录
- 交换机基本配置
- iOS 地图定位偏差