返回首页 >> Maya文档 >> maya编辑粒子碰撞属性

编辑粒子碰撞属性


进行粒子和几何体碰撞后,可使用“属性编辑器”(Attribute Editor)设定“摩擦力”(Friction)和“弹性”(Resilience)属性来调整反弹度。您也可以设定一个属性来修改碰撞检测敏感度。

可基于每个几何体或者基于每个粒子对象设定反弹度。如果基于每个几何体设定反弹度,则每个粒子对象与几何体碰撞产生的反弹效果均相同。如果基于每个粒子对象设定反弹度,则每个粒子对象与几何体碰撞产生的反弹效果均不同。

也可以在碰撞之前设定反弹度,方法是通过“粒子 > 使碰撞(Particles > Make Collide)> ”显示选项窗口。选项窗口中的“摩擦力”(Friction)和“弹性”(Resilience)属性基于每个几何体设定反弹度。

提示
在存在粒子与复杂曲面碰撞的场景中,可加速场景播放。选择被碰撞曲面,显示“属性编辑器”(Attribute Editor),选择“geoConnector”选项卡,然后将“细分因子”(Tessellation Factor)设定为较小的数值。请注意,此操作将降低碰撞检测敏感度。

基于每个几何体设定反弹度

默认情况下,所有粒子对象与几何体对象发生碰撞后产生的反弹效果均相同。以下步骤将说明如何基于每个几何体设定反弹度。

基于每个几何体设定反弹度

选择碰撞中涉及的几何体对象。
打开“属性编辑器”(Attribute Editor)并单击“geoConnector”选项卡。
设定“弹性”(Resilience)和“摩擦力”(Friction)属性。
“弹性”(Resilience)可设定反弹程度。“摩擦力”(Friction)可设定碰撞粒子在从碰撞曲面弹出后,在平行于曲面方向上的速度的减小或增大程度。有关这些属性的描述,请参见 geoConnector 节点。

基于每个粒子对象设定反弹度

以下步骤将说明如何使不同的粒子对象从同一几何体以不同方式弹出。

基于每个粒子对象设定反弹度

选择所需粒子对象。
显示“属性编辑器”(Attribute Editor)并打开“碰撞属性”(Collision Attributes)部分。
在“弹性”(Resilience)或“摩擦力”(Friction)属性上单击鼠标右键以显示弹出菜单,然后选择“断开连接”(Break Connection)。
如果粒子对象与两个或更多几何体对象碰撞,则会看到针对每个几何体对象的独立的“弹性”(Resilience)和“摩擦力”(Friction)属性。相关几何体对象的名称会在属性之上显示。有关这些属性的描述,请参见geoConnector 节点。

为“弹性”(Resilience)或“摩擦力”(Friction)输入一个新值。
这不会更改与该几何体碰撞的其他粒子对象的现有“弹性”(Resilience)和“摩擦力”(Friction)。有关这些属性的描述,请参见geoConnector 节点。

避免粒子意外穿透几何体的情况

在重复或多个碰撞中,由于碰撞检测敏感度不足,粒子可能穿过几何体。可增加敏感度来避免此问题。

调整碰撞检测敏感度

选择粒子对象。
在“属性编辑器”(Attribute Editor)的“碰撞属性”(Collision Attributes)部分,增加“跟踪深度”(Trace Depth)。
“跟踪深度”(Trace Depth)设定 Maya 在每个动画时间步可针对对象检测到碰撞的最大数量。例如,当设置为 2 时,Maya 会每帧检查两次。超过两个的任何碰撞都将被忽略,而后续粒子即会穿透。增大该设置会增加处理要求。

提示
可将“跟踪深度”(Trace Depth)设定为 0,以使粒子对象穿过几何体。还可以选择为粒子形状节点添加“traceDepthPP”属性,用于基于每个粒子设定碰撞检测敏感度(请参见使用粒子属性)。添加后,“traceDepthPP”会在“属性编辑器”(Attribute Editor)的“每粒子(数组)属性”(Per Particle (Array) Attributes)部分显示。“traceDepthPP”设置会覆盖“跟踪深度”(Trace Depth)设置。