起初是工作中有一个需求,要对一个蒙皮的指定部分挂载持续性存在的粒子,且需要位置与顶点关联。
我第一时间想到的是去使用新建的module挂GetVertexData节点去读取Triangle信息,但是这个节点并不能对Vertex数据进行筛选。也不是不能筛选,是需要传入一个Vertex的IndexID以确定获得哪个Vertex的数据。但是这个IndexID是未知的,需要先对Index进行筛选。
后面发现还有一个Get Filtered Vertex Data,但是其传入参数其实跟限制无关,依旧是传入一个ID
notion image
到这里发现不对了。搜遍了节点没发现有能用于筛选的节点。然后才意识到可能这个限制在传入Niagara之前就应该已经决定了。
看了一眼传入的Skeletal Mesh的面板,一开始被带偏了,以为是Filtered Bones和Filtered Sockets的配置,搜了一圈没看到什么教程
notion image
然后搜这个Sampling Regions才翻到一篇官方论坛的询问和一篇日文教程……怎么连个官方使用文档都没得
notion image
 
总结了一下就是分以下步骤
  1. 先找到要用的Skeletal Mesh资产
  1. 在AssetDetails面板的 Sampling模块有一个Regions数组,通过配置数组定义region
  1. 数组中每个项为一个Region,通过设置Bone Filters和Material Filters两个子数组定义这个region的区间,这里BoneFilters还提供了Include or Exclude 的筛选项,可以截取骨骼段
  1. 配置完成后保存Skeletal Mesh,进Niagara
  1. 在Niagara的Skeletal Mesh的传入项中配置需要读的Region到Sampling Regions中
    1. notion image
  1. 使用SkeletalMeshLocation模块读取信息
    1. notion image
  1. 在Skeletal Mesh Location模块配置传入为目标Skeletal Mesh,并且将SamplingType选SamplingMode带有Sampling Regions的Type和Mode
    1. notion image
 
然后就没有然后了,节点里再用GetTriangleData或者GetVertexData,正常传入ID就是对的。其他部分已经被剔除完了
 
Maya2022及以上版本安装pymel「Hallo World」 UE4制作分享笔记