Unity 3D 对象池

原理:从一个固定的池中重用对象,来提升性能和内存的使用,而不是一个一个的分配内存在释放它们。
当你需要创造大量重复的对象,而且经常使用这些对象,你就要考虑使用对象池了,因为反复创建销毁就是一个内存反复分配与释放的过程,很容易产生内存碎片。
在主机和移动端与PC相比内存稀缺,我们都希望游戏能够更加稳定,而不能有效的管理内存,此时大量的内存碎片是致命的。

操作步骤:

(1):分配一块内存空间用来生成对象池,也就是生成一个一定大小的容器(数组,List,栈,或者字典都可以)

(2):首先游戏运行时初始化(Instantiate)一定数量的目标物体,用来反复使用;其次,将Active属性设置为false,起初不需要显示在游戏场景中;

(3):将每个生成的游戏物体插入到对象池中。

(4):待需要时,遍历对象池,找到“未使用”的预制对象并调用初始化函数Init(),初始化预制物体的属性(transform主件中得position,scale,rotation等),并将active属性设置为true,使用状态设置为true,表示该物体正在被使用。

(5):游戏物体死亡后,需将使用状态设置为false,active设置为false,重置目标物体的属性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值