Unreal-PCG刷草工具记录
开出花田的魔法:Unreal PCG刷草工具
偶然接触了Unreal的PCG插件,搓了个刷草工具,记录一下。
工具简介
使用Unreal的PCG插件做出来的刷草工具。支持在刷草工具的Actor范围内按权重和密度生成草地,也支持使用spline圈出范围和镂空区域(草环的效果)
前期准备
- 在Unreal中启用PCG插件
- 草/花的静态网格体
蓝图
样条线模式
- 按类别获取样条线(GrassSpline/HollowSpline)
- 按标签过滤数据(方便我们使用多个PCGGraph实例,每个实例可以单独处理一组tag的样条线)
- 使用样条采样器,模式选择 ”内部“ ,生成样条内部的平面
- 平面投影到地形上
- 镂空区域样条线也作上述处理,然后两者使用差异节点求差集得到生成草地的平面
非样条线模式
- 获取地形数据即可
- 在表面采样器节点中,如果使用样条线,则要勾选 “已解除绑定” ,这样样条线在actor范围外也能正确采样到。反之,则要限定在actor范围内,否则会在整个地形上采样导致生成的点太多
重载网格体和权重并生成草场
- 表面采样器在表面生成点(点范围设置为[1,1,1],密度通过参数重载进行调节,效果看起来比较好)
- 使用 “添加属性”节点 ,勾选 “拷贝所有属性” ,将权重数组附加到到静态网格体数组中
- 使用 “匹配并设置属性”节点 ,为每个点分配一条数组元素(此时包含了静态网格体和权重值),勾选“匹配权重属性”,按权重进行网格体的分配
- 使用 “静态网格体生成器”节点 ,网格体选择器类型选择
PCGMeshSelectorByAttribute,属性名称就是静态网格体的属性名(例如Mesh)
效果展示
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 星辰微光的博客!





