particle unvisible on bulid while visible on Game view

      上周四发现,在unity的Game view 里面和build之后的游戏节目显示效果表现不一样,在unity 的Game view 里面粒子效果显示正常,但是build完之后粒子不显示了。

      开始怀疑是shader的原因,于是用 renderdoc(FamgDebug 也可以)查看,发现压根就没渲染于是排除shader渲染方面的原因。于是查看代码,查了半天发现也没问题.(这里范了个错误,如果代码有问题在代码层面Game view 里面也应该会有问题),于是把粒子还原为原来对应的assetbundle ,发现竟然显示出来看了。于是还原老的粒子prefab与新的prefab进行比较发现两处不同。

1.发现两个refab引用的材质shader不同

2.粒子的simulation space 不一样

       于是既查看shader,又修改粒子的simulation space。折腾了一天发现没解决。后来google发现有人说是unity bug ,粒子如果出生的时候不是在摄像机的可视范围内就会被裁剪掉,因此有人说把粒子生成位置放在摄像机前面,距离大概为5实验不行。于是各种修改测试也没解决问题。于是就想到问题出在材质上面了,就是就各种查看,终于在https://issuetracker.unity3d.com/issues/asset-bundle-particle-system-using-a-mesh-in-another-bundle-is-not-visible 上面算是眼前一亮发现还真是的 粒子系统bundle 依赖了一个外部的模型资源,该模型资源的read/write enable 处于未选中状态。于是就有了两种推断:

1.当粒子系统引用外部资源的时候,外部资源的fbx模型的read/write 要设置为enabled

2 如果例子引用的所有资源打包进同一个bundle中的时候,如果这些引用中有模型的话,不管这个模型的read/write 是否enabled都可以。

持着怀疑的态度,先把该粒子的所有资源打成一个bundle资源,重新进游戏发现粒子显示出来了.推论2 已经得到证明

后来又把粒子和它因引用的资源分开打,发现必须把粒子依赖的外部资源的read/write 设置为enabled才可以 推断1 也得到了证明

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
粒子群算法(Particle Swarm Optimization, PSO)是一种基于群体智能的优化算法。根据题目所述的微网调度问题,结合粒子群算法,可以得到一种基于粒子群的最优微网调度方法。 微网调度主要是为了实现电力资源的有效分配和能量管理,以最大程度地提高系统的运行效率和应对部分负载和故障等异常情况。而粒子群算法能够通过模拟“鸟群”搜索食物的行为来求解优化问题。 首先,将微网调度问题转化为一个优化问题,其中目标函数可以是最小化系统能耗、最大化系统容量、最小化功率损失等。然后,将问题的解空间划分为一组可能的解,每个解都可以看作是一个粒子。 接下来,根据问题的约束条件和目标函数,通过计算每个粒子的适应度值来评估其性能。适应度值衡量了每个粒子的解决方案在目标函数上的优劣程度。 随机生成一群粒子,并不断调整每个粒子的位置和速度,使它们在解空间中搜索到合适的解。粒子之间通过更新其位置和速度来获得新的解。 在每次迭代中,通过比较每个粒子的适应度值,找到全局最优解和局部最优解,以持续优化微网调度方案。 最后,根据找到的最优解,确定微网的调度计划,包括各个组件的功率调节、能量的分配和供需匹配等。 综上所述,基于粒子群算法的微网调度方法可以通过模拟群体智能来实现对微网系统的优化调度。以此方法能够有效提高微网的能源利用效率,满足用户的用电需求,提高系统的可靠性和经济性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值