Emitters
- Emitters器,顾名思义,发射流体粒子到场景中。它们类似于Unity的内置粒子发射器,但它们并不发射常规粒子。取而代之的是,它们发射的是Obi粒子,这些粒子可以相互作用,也可以与其他物体相互作用。
- 要创建一个发射器,GameObject->3DObject->Obi->Obi Emitter
- 默认情况下,所有的粒子都会从物体的原点发射。除了非常简单的效果外,还可以使用更复杂的形状作为发射粒子的源头。可以将任何一个ObiEmitterShape组件(正方形、圆盘、边缘、球体或图像)添加到场景中的任何对象中,并将ObiEmitter组件拖到其 "Emitter "属性上。这将允许发射器通过该特定形状发射粒子。
- 请注意,可以将一个发射器附加到多个形状上
- ObiEmitters有很多参数,允许你指定如何和何时发射粒子:
- Blueprint:对ObiEmitterBlueprint资产的引用。有两种类型的发射器蓝图:流体蓝图和颗粒蓝图。这决定了被发射流体的内部物理属性。更多信息请参见发射器蓝图。
- Collision Material:用于解决碰撞的材料。
- Phase:由该发射器发射的粒子相位。
- Emission method:可以使用两种方式之一:
4-1. Stream:只要池子里有至少Min pool size的颗粒,就会不断发出颗粒。
4-2. Burst:每个发射器形状的分布点都将在一次爆炸中生成一个粒子。 - Min pool size:在发射器开始发射之前必须准备好发射的粒子的最小数量(占蓝图容量的百分比)。
- Speed:速度。设置为零时,发射将完全停止。数值越高,发射器将以该速度持续发射流体(单位为米/秒)。根据流体分辨率和发射器形状大小,自动计算出每秒发射的颗粒数量。这确保了尽可能平稳的发射。
- Lifespan:从粒子的诞生到返回发射器粒子池之间的秒数。
- Random velocity:应用于所有粒子的初始速度的随机方向的数量。设置为0将使粒子向其当前出生点指定的方向发射,而设置为1将使它们向完全随机的方向发射。
- Use shape color:启用后,粒子会被它们所发射的形状的颜色所着色。
Emitter shapes
-
可以向场景中的任何对象添加发射器形状。一旦你给形状分配了一个发射器组件,发射器就会开始使用它来发射粒子。有一些标准的发射器形状,但如果需要的话,你也可以通过脚本创建自定义的形状。
-
Disk
- Disk发射器使用在其XY平面上定义的圆来生成粒子:
Color:通过这个形状发射的粒子的整体颜色。
Radius:圆的半径,以局部为单位。
Edge emission:如果启用,粒子将从圆的边缘而不是内部发射。
- Disk发射器使用在其XY平面上定义的圆来生成粒子:
-
Edge
- Edge发射器从沿X轴定义的线段中产生粒子:
Color: 粒子在此形状下发出的整体颜色。
Lenght:边缘的长度,以局部单位表示。
Radial velocity:沿边缘长度扭转的速度量。
- Edge发射器从沿X轴定义的线段中产生粒子:
-
Sphere
- Sphere发射器从球形体积中产生粒子:
Color:粒子在此形状下发出的整体色调。
Sampling method:可在基于网格的球体体积取样或常规的表面取样之间进行切换。
Radius:球体的半径,以局部为单位。
Density:控制使用的采样点数量。
- Sphere发射器从球形体积中产生粒子:
Emitter blueprints
-
ObiEmitterBlueprints是定义发射器发射的流体的物理属性的资产,如粘度和密度。你可以为每个发射器只分配一个发射器蓝图,但你可以定义任意多的蓝图(水、烟雾、蜂蜜、血液、沙子等),并在运行时在它们之间切换。
-
所有流体的碰撞相关参数,如粘性或摩擦力,不是通过发射器蓝图来控制,而是通过ObiCollisionMaterials来控制
-
要创建一个ObiEmitterBlueprint,右键点击你项目的任何文件夹,然后选择Create->Obi->Fluid blueprint/Granular blueprint
-
Fluid blueprint
- 流体粒子之间将稳定密度约束,它将试图在每个粒子的附近保持一个恒定的密度。
- Capa