欢迎光临散文网 会员登陆 & 注册

UE5.1_Niagara高级3.7_ Plexus

2023-05-16 09:09 作者:Winter惜曦  | 我要投稿
  • 3.7 Plexus【网状结构】

  • Spatial Particle Sort GPU【空间粒子排序GPU】模组

    需要取消Library Only才能看到。因为模组用到粒子ID,所以要勾选Requires Persistent IDs【需要永久ID】

    1:查询27个相邻网格单元格里的相邻粒子,并进行重叠模糊因子判断。

    2:计算angleAlignment【角度对齐】=粒子自身指向相邻粒子的单位向量点乘SearchVector

    3:计算angleFit【角度匹配】=(angleAlignment+AngleForgiveness)/(1+ AngleForgiveness)

    4:计算overlapFit【重叠匹配】=(重叠距离+重叠模糊因子的绝对值)/重叠模糊因子的绝对值

    5:限制overlapFit【重叠匹配】取值范围=0到1

    6:计算BestFitScore【最匹配得分】=angleFit*AngleWeight+overlapFit*ProximityWeight。

    7:根据BestFitScore【最匹配得分】排序,按顺序保存得分最高的3个相邻粒子的ID,为空时保存自身ID

    8:输出保存的这三个粒子ID,和对应ID is Valid【原本是否为空】的布尔值,以及Number Of Valid Results【原本不为空的ID的个数】

    CollisionRadius【碰撞半径】:主要影响【重叠匹配】,两粒子重叠时【重叠匹配】=1

    NeighborGrid【相邻网格3D变量】

    ParticleAttributeReader【粒子属性读取器】

    Position【粒子位置】

    SimulationToUnit【模拟到单位】

    AngleForgiveness【角度偏差】:角度偏差越大,角度影响越小

    AngleWeight【角度权重】:数值比【近距权重】越大,角度影响越大

    OverlapFudgeFactor【重叠模糊因子】:重叠距离>重叠模糊因子时,才会进一步计算该相邻粒子。重叠距离=两粒子碰撞半径之和-两粒子间的距离。可以理解为查找距离最大值,一般设置为负值,数值越小,查找距离越大。此数值还会影响OverlapFit【重叠匹配】,靠近查找距离最大值的相邻粒子的重叠匹配越靠近0。

    ProximityWeight【近距权重】:数值比【角度权重】越大,距离影响越大

    SearchVector【搜索向量】:相邻粒子在角度上越靠近搜索方向,相邻粒子的匹配度越高。搜索向量的模越大,角度影响越大,一般要把搜索向量设置为单位向量。

  • Particle Color Params【粒子颜色参数】模组

    需要取消Library Only才能看到。重载粒子颜色的指定通道的数值。

    Red Channel Value【R通道数值】

    Green Channel Value【G通道数值】

    Blur Channel Value【B通道数值】

    Alpha Channel Value【A通道数值】

  • Sprite Based Line【基于图片的线条】模组

    Color【颜色】:设置Particles.SpriteBasedLine.Color的数值

    Point A【点A】

    Point B【点B】

    SpriteWidth【图片宽度】

    Parameter Writes【参数写入】

    Particles.SpriteBasedLine.Color

    Particles.SpriteBasedLine.Position:=点A与点B的中点

    Particles.SpriteBasedLine.SpriteAlignment:由B指向A的向量

    Particles.SpriteBasedLine.SpriteSize:X=SpriteWidth,Y=点A到点B的距离

  • Set up An Attribute Read Pointing toward this emitter so each particle can reference its neighbors.

    【设置一个读取自身的粒子属性读取器,使得每个粒子能查询它的邻居】

  • "Unyielding" is used by PBD and must be initialized. An unyeilding particle does not move if a yeilding particle bumps into it.

    【不屈用于PBD模组且必须被初始化。一个不屈粒子被一个会屈粒子碰撞时不会移动】

  • Each particles "Collision Radius" var must be separately updated as it's scale changes over time.

    【每个粒子的碰撞半径变量必须分开更新,因为它的缩放随时间改变】

  • This collision module will bounce particles off of the world

    【此碰撞模组会把粒子从世界中弹回来】

  • Feed the particles into the neighbor grid

    【把粒子传入相邻网格】

  • Bounce the particles off of each other using position based dynamics

    【使用基于位置的物理模拟使粒子间相互弹开】

  • "Spatial Particle Sort GPU" Finds the 3 closest particles

    【空间粒子排序GPU模组找出3个最靠近的粒子】

  • Smooth out the number of instantaneous connections over time

    【随时间平滑瞬时连接的数量】

  • Feed that value into particle alpha

    【把该数值传入粒子Alpha】

  • Create position, scale and alignment variables for the sprite based lines

    【为基于图片的线条创建位置,缩放,对齐变量】


UE5.1_Niagara高级3.7_ Plexus的评论 (共 条)

分享到微博请遵守国家法律