鸟集群运动 (UE)   More Details
一个基于Niagara的程序化鸟类集群运动系统,通过顶点动画纹理 (VAT) 动画驱动静态网格,并使用多种力和Neighbor Grid 3D模块控制行为及个体间距。

静态网格的顶点动画
  • 转换:使用Unreal的AnimToTexture插件将骨骼动画转换为顶点动画纹理 (VAT);动画数据存储在纹理中,并通过自定义材质应用于静态网格。通过VAT减少绘制调用,并利用实例化技术提高性能。
  • 翅膀拍动随机化:动态材质参数AnimationTimeOffset为每个粒子分配随机起始帧,避免动画同步,呈现更自然的效果。

Niagara系统
  • 鸟群行为模拟
    • Vortex Force增加旋转运动,模拟动态的鸟群飞行模式。
    • Drag Force模拟空气阻力,保持运动的平稳性与控制感。
    • Repulsion and Attraction确保鸟群维持队形,同时避免碰撞。
    • Curl Noise引入随机混乱的运动,增强自然感。
  • 维持粒子间距: 使用 Neighbor Grid 3D 模块跟踪每只鸟与其邻居的距离,维持合理的间距。
    • 网格初始化:设置每个网格单元的最大邻居数量限制。
      • 填充网格 (Fill Grid):将粒子分布到网格单元中。
      • 查询网格 (Query Grid):计算粒子间的距离,并调整速度以实现逼真的分离效果。
    • 调试:使用立方体网格和文本可视化网格及邻居计数,辅助优化鸟群行为。
    ©Shijia Liu
    Technical  Art
    Fantasyland