问题
- 我想在本地坐标中模拟一些粒子并从蒙皮网格发射器发射。 效果看起来像是粒子附在网格上,使用动画网格一个个移动。
原因
蒙皮网格渲染工作方式不同于正常网格,由于蒙皮网格渲染器的顶点是受其绑定的骨骼/关节影响的,因此粒子系统需要追踪源三角形。 这样做开销很大。
解决方案
如果蒙皮的网格是刚性蒙皮(像上面的剑),则可以使用网格代替。
网格解决方案
我们首先需要把在同一骨骼下的粒子特效与同需要动画处理的刚性蒙皮网格放在同一层级下。 以剑为例子,看起来如下:
不是在粒子特效上使用蒙皮的网格发射器,而是将它更改为网格发射器。 网格发射器需要使用网格来发射。 我们可以从这个实例中的蒙皮网格FBX中,获得蒙皮网格渲染器使用的网格副本。 展开蒙皮网格FBX(下面的例子中的Sword.fbx)即可看到。 示例(Sword_SkinnedMesh)中的蒙皮网格渲染的动画由骨骼Sword_Bone驱动。 将粒子FX放到Sword_Bone下,以便它继承相同的运动。
然后设置FX使用网格作为发射器。 在上图中,可以看到网格已设置为导出网格,导出网格基于在蒙皮的网格渲染器上所使用的网格。
FX现在使用的是蒙皮网格渲染的代理,并且因为它也是蒙皮网格渲染的骨架下的正确骨骼的父级,粒子FX和蒙皮网格渲染匹配是正确的。
更多信息
Unity粒子概述视频教程 - http://unity3d.com/learn/tutorials/topics/graphics/particle-system?playlist=17102