Unity-GPU Instancer U3571

GPU Instancer

描述

 

下载演示版本(PC、VR、Mac、Android)

支持论坛 | 性能测评 | 视频教程 | 文档 | 常见问题解答

GPU Instancer 是一款开箱即用的工具,可显示屏幕上对象的精确数量,性能表现强劲。只需鼠标点击几下,你就可以实例化你的预设、Unity 地形细节和树木。

GPU Instancer 可提供方便操作的工具,让你省去费力学习计算着色器和 GPU 基础架构的麻烦,轻松使用间接 GPU 实例化。同时,我们还提供带有详细文档的 API,用来管理运行时期更改。

———————————
功能特色
———————————
– 适用于复杂 GPU 实例化的开箱即用型解决方案。
– 兼容 VR。适用于单通道和多通道渲染模式。
– 兼容移动端。适用于 iOS 和 Android。
– 易于使用的界面。
– 数以万计的对象仅需绘制调用一次,即可快速渲染。
– GPU 视锥体剔除。
– GPU 遮挡剔除(还支持具有单通道和多通道渲染模式的 VR 平台)。
– 支持自动配置的自定义着色器。
– 支持标准、通用和高清渲染管线。
– 一键即可将层次复杂的预制件进行实例化。
– 支持多个子网格。
– 支持 LOD 组和交叉渐变。(交叉渐变仅在标准渲染管线中支持)
– 自动 2D 广告牌生成系统(仅限标准 RP)。
– 阴影投射和获得实例的支持(视锥剔除实例仍然可以投射阴影)。
– 能够按原型使用自定义阴影距离,以及选择用于渲染阴影的 LOD。
– 支持浮动原点处理。
– 支持多个视角。
– 记录良好的 API,可用于过程场景和运行时修改(包括示例)。
– 能够在运行时移除边界或碰撞体内的实例。
– 能够使用自定义计算着色器进行扩展。
– 展示 GPU 实例化器功能的示例场景。

预制件实例化功能:
– 能够用你喜欢的预制件涂装工具在分配的场景中自动实例化预制件。
– 自动添加-移除预制件实例,无需任何附加代码。
– 自动检测和更新变换位置、旋转和缩放变化。
– 支持全部或区域定位的刚体和物理。
– 支持嵌套式预制件(Unity 2018.3 及更高版本)。
– 带有或不带实例化游戏对象的添加-移除-更新预制件实例(包括示例)。
– 经由 API 基于实例的材质变化(由于缓冲区限制,Android 不支持)
– 在运行时基于实例启用和禁用实例化。
– 在运行时管理实例化预制件的 API。
– 包括带有自定义控制器的移动演示场景。

详细的实例化功能:
– 高帧频的茂密草地和植被。
– 包括具有风、阴影、AO、广告牌和各种其他属性的植被着色器。
– 支持自定义着色器和材质。
– 支持交叉四边形:自动将草纹理转变成交叉四边形。
– 能够使用 Unity 地形上的自定义材质对预制件进行涂刷(使用 Unity 地形工具)。
– 能够在 Unity 地形上将预制件与 LOD 组一起使用。
– 通过自动空间分区进一步提高性能。
– 在运行时管理实例化地形详细信息原型的 API(包括示例)。
– 编辑器 GPU 实例化模拟。

树木实例化功能:
– 高帧率的茂密森林。
– SpeedTree 支持风动画。
– SpeedTree 8 支持风动画。
– 树木创建器支持风动画。
– 支持软遮挡树。
– 包括广告牌烘焙师和渲染器。

扩展资源包
群组动画:提供 GPU Instancer 的工作流用于群组动画。

第三方集成:
Gaia 集成。
MapMagic 集成。

要求:
– DirectX 11 或 DirectX 12 和着色器模型 5.0 GPU(Windows、Windows Store)
– 金属(MacOS、iOS)
– OpenGL Core 4.3(Windows、Linux)
-Vulkan(Android、Windows、Linux)
– OpenGL ES 3.1(Android 8.0 Oreo 或更高版本)
– 现代控制台(PS4、Xbox One)

请注意,尽管有些集成显卡满足上述要求,但可能无法使你感受到 GPU 实例化的性能优势。因此,建议使用专门的 GPU 硬件。

为了提供最快速的性能,GPU Instancer 利用了使用 Unity 的 DrawMeshInstancedIndirect 方法和计算着色器的间接 GPU 实例化功能。

GPU 实例化会带来明显的静态批处理和网格合并性能优化。另外,其他 GPU 实例化的方法(包括 Unity 的材质选项和 DrawMeshInstanced 方法)都局限在缓存空间不足问题上,因此会导致绘制调用过多和性能减弱。GPU Instancer 通过使用间接方法,可为该问题提供一套终极的解决方案,并在多次渲染统一网格时明显地提升了性能。