当前位置: 首页 > 工具软件 > collision > 使用案例 >

【Unity 粒子系统】Collision 模块

曹嘉许
2023-12-01

龙族语录

总有一些孤独,曾在我们左右;也总有一些孤独,离我们远去,让我们无从寻觅。一切都过去了,是的。阳光里,不会再有天使低下头来,亲吻你的脸。 --江南 《龙族》

属性

此模块控制粒子如何与场景中的游戏对象碰撞。使用第一个下拉选单可定义碰撞设置是应用于 Planes 还是应用于 World。如果选择 World__,请使用 Collision Mode__ 下拉选单定义碰撞设置是应用于 2D 还是 3D 世界。

Planes模块属性:
Planes:用于定义碰撞平面的变换的可以扩展列表。


Visualization:选择要将Scene视图中的碰撞平面辅助图标显示为线框网格还是实体平面。


ScalePlane:用于可视化平面大小。


Dampen:粒子碰撞后损失的速度比例。


Bounce:粒子碰撞后从表面反弹的速度比例。


LifetimeLoss:粒子碰撞后损失的总生命周期比例。


MinKillSpeed:碰撞后运动速度低于此速度的粒子将从系统中予以移除。


MaxKillSpeed:碰撞后运动速度高于此速度的粒子将从系统中予以移除。


RadiusScale:允许调整粒子碰撞球体半径,使其跟贴近粒子图形的可视边缘。


SendCollisionMessages:如果启用此属性,则可以从脚本中通过OnParticlecollision函数检测粒子碰撞。


VisuaizeBounds:在Scene视图中将每个粒子的碰撞边界渲染为线框形状。


World模块属性:
CollisionMode:3D或者2D


RadiusScale:2D或者3D


CollisionQuality:使用下拉选择菜单来设置粒碰撞的质量,此设置会影响有多少粒子可以穿过碰撞体。在较低的质量水平下,粒子有时会穿过碰撞体,但消耗资源少。(high碰撞始终使用物理系统来检测碰撞结果。Medium碰撞使用一组体素来缓存先前的碰撞,从而在以后的帧中更快的重用。Low,类似Medium,区别是粒子系统在每帧的查询次数少)


CollidesWith:粒子只会选择层上的对象发生碰撞。


MaxCollisionShapes:粒子碰撞可包括的碰撞形状个数。多余的形状会被忽略。


EnableDynamicColliders:允许粒子也与动态对象碰撞。(否则使用静态对象)动态碰撞体是未配置为Kinematic的任何碰撞体。


VoxelSize:体素表示三维空间中的常规网格上的值。使用Medium或Low质量碰撞时,unity会在网格结构中缓存碰撞。此设置控制着网格大小,较小的值可提供更高的准确性,但会占用跟多内存,效率也会低。


ColliderForce:在粒子碰撞后对物理碰撞体施加力。这对于用粒子推动碰撞体很有用。


MultiplybyCollisionAngle:向碰撞体施加力,根据粒子与碰撞体之间的碰撞角度来缩放力的强度。


MultiplybyCollisionSpeed:向碰撞体施加力,根据速度来缩放力强度。


MultiplybyParticleSize:向碰撞体施加力,根据粒子的大小缩放力强度。

结语

梦想就在那里,从来不会移动半步。
HIVE

 类似资料: