我最近将我的项目升级到5.6.1f1。
我有一个跟踪目标的导航导弹,并附有一个粒子系统来模拟烟雾。
之前我升级了项目,烟雾效果很好。我在导弹后面持续供应一些具有良好烟雾效果的粒子。我忘记了升级之前使用的Unity版本(我认为5.4),但粒子系统的发射模块只有rate
设置。
现在我升级到了5.6.1f1,我烟雾中的颗粒被分开了,就像从蒸汽火车里出来的蒸汽一样:
排放模块现在有rate over time
和rate over distance
。我玩过这些设置,但似乎没有任何调整到我想要的地方。
我已经缩小了我的导弹以非常高的速度行进的事实。如果导弹行进得更慢,那么粒子看起来更好。但是,导弹是导弹,像我的其他物体一样快速行进。在我以前使用的Unity版本中(我认为5.4),导弹的速度并没有影响粒子的发射。
所以,我想我的问题是:如何连续发射不受速度影响的粒子?
答案 0 :(得分:0)
我曾经遇到过这个问题。粒子继承了父母的速度。我无法记住它的位置,但有一个名为" Emitter Velocity Scale"应该设置为0。
这应该位于粒子系统本身的某个位置。
关于特定更新的粒子系统中有些变化的答案也有答案。引自this统一论坛帖子:
在粒子系统下单击渲染器选项卡将其打开,如果没有单击材料选项卡上的圆圈并选择默认粒子材料,则检查材料槽,然后它将正常工作。
答案 1 :(得分:0)
对于寻找同一问题答案的人,我发现this帖子。
“从Unity 5.5开始,粒子系统(PS)使用发射率超过距离或继承速度(两者都在我们的粒子效应资产中大量使用)并且是刚体(RB)对象的父级,当你拖动时它们似乎不起作用对象(使用RB组件)或更改变换组件中的位置值。
原因是RB速度已经覆盖任何形式的位置平移,以将速度值馈送到需要速度数据才能正常工作的PS模块。简单地说,你应该使用Rigidbody.velocity(甚至不是用于检测边界的Rigidbody.position)而不是Transform.position / Translate来移动对象。“
我只是改变了:
transform.position += transform.forward * speed * Time.deltaTime;
到
rb.velocity = transform.forward * speed * 40 * Time.deltaTime;
其中速度相似且烟雾未分离。