【Unity】Obi插件系列(七)—— Obi Emitters

本文介绍了Unity的Obi插件,重点讲解了发射器的使用,包括流体和颗粒发射器的创建、形状设置、参数调整。详细解释了发射器蓝图,如流体蓝图和颗粒蓝图的物理属性,以及不同的发射方法。还讨论了不同类型的发射器形状,如Disk、Edge和Sphere,并展示了如何自定义发射器形状。此外,文章还涉及了流体渲染技术和移动设备的性能优化策略。
摘要由CSDN通过智能技术生成

Emitters

  • Emitters器,顾名思义,发射流体粒子到场景中。它们类似于Unity的内置粒子发射器,但它们并不发射常规粒子。取而代之的是,它们发射的是Obi粒子,这些粒子可以相互作用,也可以与其他物体相互作用。
  • 要创建一个发射器,GameObject->3DObject->Obi->Obi Emitter
    在这里插入图片描述
  • 默认情况下,所有的粒子都会从物体的原点发射。除了非常简单的效果外,还可以使用更复杂的形状作为发射粒子的源头。可以将任何一个ObiEmitterShape组件(正方形、圆盘、边缘、球体或图像)添加到场景中的任何对象中,并将ObiEmitter组件拖到其 "Emitter "属性上。这将允许发射器通过该特定形状发射粒子。
  • 请注意,可以将一个发射器附加到多个形状上
  • ObiEmitters有很多参数,允许你指定如何和何时发射粒子:
    1. Blueprint:对ObiEmitterBlueprint资产的引用。有两种类型的发射器蓝图:流体蓝图和颗粒蓝图。这决定了被发射流体的内部物理属性。更多信息请参见发射器蓝图。
    2. Collision Material:用于解决碰撞的材料。
    3. Phase:由该发射器发射的粒子相位。
    4. Emission method:可以使用两种方式之一:
      4-1. Stream:只要池子里有至少Min pool size的颗粒,就会不断发出颗粒。
      4-2. Burst:每个发射器形状的分布点都将在一次爆炸中生成一个粒子。
    5. Min pool size:在发射器开始发射之前必须准备好发射的粒子的最小数量(占蓝图容量的百分比)。
    6. Speed:速度。设置为零时,发射将完全停止。数值越高,发射器将以该速度持续发射流体(单位为米/秒)。根据流体分辨率和发射器形状大小,自动计算出每秒发射的颗粒数量。这确保了尽可能平稳的发射。
    7. Lifespan:从粒子的诞生到返回发射器粒子池之间的秒数。
    8. Random velocity:应用于所有粒子的初始速度的随机方向的数量。设置为0将使粒子向其当前出生点指定的方向发射,而设置为1将使它们向完全随机的方向发射。
    9. Use shape color:启用后,粒子会被它们所发射的形状的颜色所着色。

Emitter shapes

  • 可以向场景中的任何对象添加发射器形状。一旦你给形状分配了一个发射器组件,发射器就会开始使用它来发射粒子。有一些标准的发射器形状,但如果需要的话,你也可以通过脚本创建自定义的形状。

  • Disk在这里插入图片描述

    • Disk发射器使用在其XY平面上定义的圆来生成粒子:
      Color:通过这个形状发射的粒子的整体颜色。
      Radius:圆的半径,以局部为单位。
      Edge emission:如果启用,粒子将从圆的边缘而不是内部发射。
  • Edge
    在这里插入图片描述

    • Edge发射器从沿X轴定义的线段中产生粒子:
      Color: 粒子在此形状下发出的整体颜色。
      Lenght:边缘的长度,以局部单位表示。
      Radial velocity:沿边缘长度扭转的速度量。
  • Sphere
    在这里插入图片描述

    • Sphere发射器从球形体积中产生粒子:
      Color:粒子在此形状下发出的整体色调。
      Sampling method:可在基于网格的球体体积取样或常规的表面取样之间进行切换。
      Radius:球体的半径,以局部为单位。
      Density:控制使用的采样点数量。

Emitter blueprints

  • ObiEmitterBlueprints是定义发射器发射的流体的物理属性的资产,如粘度和密度。你可以为每个发射器只分配一个发射器蓝图,但你可以定义任意多的蓝图(水、烟雾、蜂蜜、血液、沙子等),并在运行时在它们之间切换。

  • 所有流体的碰撞相关参数,如粘性或摩擦力,不是通过发射器蓝图来控制,而是通过ObiCollisionMaterials来控制

  • 要创建一个ObiEmitterBlueprint,右键点击你项目的任何文件夹,然后选择Create->Obi->Fluid blueprint/Granular blueprint

  • Fluid blueprint 在这里插入图片描述

    • 流体粒子之间将稳定密度约束,它将试图在每个粒子的附近保持一个恒定的密度。
    • Capa
  • 3
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值