【巨人的肩膀上制造世界】——4——Unity3D框架学习_对象池和对象池管理_基于PoolManager插件

             Unity3D框架学习_对象池和对象池管理_基于PoolManager插件


目录

1、博文介绍

2、内容

(1)插件属性介绍

(2)PoolMgr

(3)使用方法

3、推送

4、结语


1、博文介绍

       本篇博客同样是介绍对象池的管理,同时向大家推荐一款插件就是PoolManager,一款关于对象池的插件,本篇博文中博主使用的是7.0的版本,插件的介绍来自雨松大大关于该插件的介绍,推送中会推送雨松大大的相关文章,本篇博文作为插件介绍的一篇也同时作为框架学习的一篇。


2、内容

(1)插件属性介绍

对象池属性
PoolName缓存池的唯一名称
MatchPoolScale勾选后实例化的游戏对象的缩放比例将全是1,不勾选择用Prefab默认的
MachPool Layer勾选后实例化的游戏对象的Layer将用Prefab默认的
Don’t Reparent勾选后实例化的对象将没有父节点,通通在最上层,建议不要勾选
Don’t Destroy On Load场景切换不销毁
LogMessage是否输出相关信息
对象容器属性
Pre-Prefab Pool Options缓存池列表,意思就是缓存列表里面可以放各种类型的Prefab。右边有个 “+”按钮点击就添加每个类型的Prefab了
prefab可以直接把工程里的Prefab直接拖进来
preloadAmount缓存池这个Prefab的最大保存数量
preloadTime如果都选表示缓存池所有的gameobject可以“异步”加载
preloadFrames每几帧加载一个
preloadDelay延迟多久开始加载
limitInstance是否开始实例的限制功能
limit Amount限制缓存池里最大的Prefab的数量,它和上面的preloadAmount是有冲突的,如果同时开启则以limitAmout为准
limitFIFO如果我们限制了缓存池里面只能有10个Prefab,如果不勾选它,那么你拿第11个的时候就会返回null。如果勾选它在取第11个的时候他会返回给你前10个里最不常用的那个
cullDespawend是否开启缓存池智能自动清理模式
cull Above缓存池自动清理,但是始终保留几个对象不清理
cull Delay每过多久执行一遍自动清理,单位是秒
cullMaxPerPass每次自动清理几个游戏对象
logMessage输出相关信息

 

注:属性相关介绍摘自雨松MoMo

(2)PoolMgr

根据插件的属性和相关用法,进行了封装,不外乎也就是 拿/放 的操作

默认属性的设置都在PoolMgr内,可以手动设置(1)内的所有配置属性

(3)使用方法

		//实例化
		PoolMgr poolMgr = new PoolMgr();
		//直接获取实例
		poolMgr.Spawn(prefab);
		//获取实例并设置父物体
		poolMgr.Spawn(prefab,parent);
		//获取实例并设置位置旋转
		poolMgr.Spawn(prefab,pos,rot);
		//获取实例并设置位置旋转,父级
		poolMgr.Spawn(prefab,pos,rot,parent);
		
		//释放物体
		poolMgr.Despawn(prefab);
		//释放物体到parent下
		poolMgr.Despawn(prefab,parent);
		//释放池子内所有活跃物体
		poolMgr.DespawnAll();

在github内的工程里写了例子,工程代码全部在github内,下载请移步博主github


3、推送

雨松MOMO 2014年07月18日 于 雨松MOMO程序研究院 发表

 https://www.xuanyusong.com/archives/2974

工程github:https://github.com/KingSun5/UnityPool_PoolManager


4、结语

       生命不息,学习不止,另博主能力有限,若文中有出现什么错误的地方,欢迎各位评论指摘。

       QQ交流群:806091680(Chinar)

       该群为CSDN博主Chinar所创,推荐一下!我也在群里!

       本文属于原创文章,转载请著名作者出处并置顶!!!!!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值