GPU Instancer – Crowd Animations v1.1.5
Crowd Animations 是一个开箱即用的解决方案,支持在高性能场景中使用大量的动画角色。CA (Crowd Animations) 采用 GPU Instancer 核心功能,并在 GPUI 间接实例化解决方案和 GPU 剔除技术的基础上增加了 GPU 蒙皮技术。这一组合有助于你在 Unity 内充分利用 GPU 实例化,处理你的动画角色。

此资源包需要与资源商店的其他资源包GPU Instancer一起使用。

功能特色
———————————
– 带蒙皮网格的间接 GPU 实例化。
– GPU 视锥、遮挡和距离剔除。
– 兼容 VR。适用于单通道和多通道渲染模式。
– 支持标准、LW、HD 和通用渲染管线。
– 支持自定义着色器(需要手动设置)。
– 动画混合(最多 4 个动画)。
– 支持多个蒙皮网格渲染器和子网格。
– 支持 LOD 群组(所有 LOD 网格必须使用同样的装备)。
– 骨骼连接。
– 支持根运动。
– 能够按原型使用自定义阴影距离,以及选择用于渲染阴影的 LOD。
– 自动检测已添加和移除的实例,无需任何其他代码。
– 支持刚体和物理。
– 自定义动画事件系统。
– 易于使用的界面。

Crowd Animations 支持两种不同的动画器工作流程:

Mecanim Animator:
你可以跟往常一样使用 Unity Mecanim Animator 处理动画状态机,GPUI 将从 Mecanim Animator 读取动画器状态。因此,你可以将现有的动画器和脚本与 Crowd Animations 一起使用,从而能够直接综合使用间接 GPU 实例化和所有 GPUI 功能,如 GPU 视锥和遮挡剔除。这一工作流程可改进 GPU 性能,同时渲染蒙皮网格,但是对于受 CPU 约束的项目而言,这不是理想的解决方案,因为 Mecanim Animator 仍会为每个实例创建悬突。

Crowd Animator:
你可以使用 Crowd Animator,通过 GPU Instancer API 在 GPU 内处理动画剪辑,并确定在给定时间播放哪个动画。这一工作流程要求你编写自己的脚本(或使用可视化脚本编写工具),手动处理动画状态 – 但该工作流程也有助于充分利用 GPU Instancer,因为 Mecanim Animator 不会创建任何悬突。

当前的局限:
– 不支持动画分层和遮罩。
– 不支持反向动力学。
– 不支持移动端平台。
– 动画混合采用线性插值,这意味着截然不同的混合动画可能导致错误的蒙皮效果。

支持的平台:
– DirectX 11 或 DirectX 12 和着色器模型 5.0 GPU (Windows)
– Metal (macOS)
– OpenGL Core 4.3 (Windows、Linux)
– 现代控制台 (PS4、Xbox One)

Crowd Animations is an out of the box solution for using massive amounts of animated characters in your scenes with high performance.

发表回复

后才能评论