【Unity 渲染插件】GPU Instancer 基于 GPU 实例化技术,旨在解决 Unity 中大量重复对象的渲染瓶颈问题,显著提升游戏性能

GPU Instancer 是一款专注于高性能渲染的 Unity 插件,基于 GPU 实例化技术,旨在解决 Unity 中大量重复对象的渲染瓶颈问题,显著提升游戏性能。通过减少 CPU 到 GPU 的数据传输和批处理开销,该插件特别适合渲染复杂的开放世界场景、自然环境、城市布局等需要大量重复物体的场景。

核心功能解析

  1. 实时 GPU 实例化 GPU Instancer 能够自动检测和实例化场景中的重复网格对象,将它们的渲染交给 GPU 实现,从而减少 CPU 开销。这种方式大幅降低了渲染调用数量(Draw Calls),提升性能。

  2. LOD(Level of Detail)管理 插件集成了强大的 LOD 管理系统,能够根据相机与对象的距离动态调整模型的细节层级(LOD),以保持高效的资源利用。无需手动配置,插件会自动处理 LOD 切换,并在保持视觉质量的同时优化渲染。

  3. 地形渲染支持 对 Unity 原生地形提供深度优化,可用于高效渲染草地、树木和其他地形细节元素。其地形细节着色器支持大规模草地和植被渲染,在大规模户外场景中尤为实用。

  4. 动态对象支持 除了静态对象,GPU Instancer 还支持动态网格对象的实例化渲染,可以满足复杂交互和动态环境需求。

  5. 批处理分组 插件根据材质和网格自动分组对象,结合 GPU 批处理技术,进一步优化了渲染性能。

  6. 全平台支持 兼容桌面平台(Windows、MacOS、Linux)、移动端(iOS、Android)、以及主流 VR/AR 平台,提供跨设备的一致性性能优化体验。

优势亮点

  • 性能提升显著:在需要大量渲染的场景中,GPU Instancer 可以将 Draw Calls 数量显著减少,从而提高帧率并降低延迟。

  • 无需额外编码:插件提供友好的 UI 和自动化工具,几乎不需要额外的编程工作,快速上手即可优化场景。

  • 高扩展性:灵活的 API 支持高级开发者进一步定制,实现特定需求下的性能优化。

  • 支持 Unity 实时光照和阴影:实现视觉效果与性能的平衡,尤其适用于光影复杂的场景。

使用场景

  • 开放世界和沙盒游戏:提供对地形细节(如草地、树木)和大规模场景的优化支持,适合打造自然环境或复杂地图。

  • 建筑和城市模拟:通过高效渲染建筑模块和重复物体(如窗户、街灯),确保帧率稳定。

  • 虚拟现实(VR/AR)应用:在需要高帧率的 VR/AR 项目中,GPU Instancer 的性能提升能力尤为突出。

  • 移动游戏开发:解决移动设备的性能瓶颈,适配低配置硬件,优化用户体验。

总结

GPU Instancer 是一款强大且高效的渲染优化工具,通过 GPU 实例化技术解决了 Unity 在渲染大量重复对象时的性能问题。它不仅能显著提升帧率,还兼顾了开发者的易用性与灵活性。无论是复杂的开放世界游戏,还是对性能要求较高的移动端和 VR 项目,GPU Instancer 都能提供强有力的支持,为开发者释放出更多性能潜力,打造流畅的游戏体验。

 

GPU Instancer is an out of the box solution to display extreme numbers of objects on screen with high performance. With a few mouse clicks, you can instance your prefabs, Unity terrain details and trees. GPU Instancer provides user friendly tools to allow everyone to use Indirect GPU Instancing without having to go through the deep learning curve of Compute Shaders and GPU infrastructure. Also, an API with extensive documentation is provided to manage runtime changes. --------------------------------- Features --------------------------------- - Out of the box solution for complex GPU Instancing. - VR compatible. Works with both single pass and multipass rendering modes. - Mobile compatible. Works with both iOS and Android. - Easy to use interface. - Tens of thousands of objects rendered lightning fast in a single draw call. - GPU frustum culling. - GPU occlusion culling (non-VR platforms only). - Automatically configured custom shader support - Complex hierarchies of prefabs instanced with a single click. - Multiple sub-meshes support. - LOD Groups and cross-fading support (with animation or fade transition width). - Automatic 2D Billboard generation system (auto-added as last LOD). - Shadows casting and receiving support for instances (frustum culled instances still can cast shadows). - Unity 5.6 support. - Well documented API for procedural scenes and runtime modifications (examples included). - Example scenes that showcase GPU Instancer capabilities. Prefab Instancing Features: - Ability to automatically instance prefabs at your scene that you distribute with your favorite prefab painting tool. - Automatically Add-Remove prefab instances without any aditional code. - Automatic detection and updating of transform position, rotation and scale changes. - Full or area localized rigidbody and physics support. - Add-Remove-Update prefab instances with or without instantiating GameObjects (examples included). - Instance based material variations through API (similar to Material Property Blocks). - Enabling and disabling instancing at runtime per instance basis. - API to manage instanced prefabs at runtime. - Includes mobile demo scene with custom controllers. Detail Instancing Features: - Dense grass fields and vegetation with very high frame rates. - Included vegetation shader with wind, shadows, AO, billboarding and various other properties. - Support for custom shaders and materials. - Cross quadding support: automatically turns grass textures to crossed quads. - Ability to paint prefabs with custom materials on Unity terrain (with Unity terrain tools). - Ability to use prefabs with LOD Groups on Unity terrain. - Further performance improvements with automatic spatial partitioning. - API to manage instanced terrain detail prototypes at runtime (examples included). - Editor GPU Instancing simulation. Tree Instancing Features [BETA]: - Dense forests with very high frame rates. - Speed Tree support with wind animations. - Included billboard baker and renderers. - Custom vertex color wind animation support for Soft Occlusion Tree shaders. Third Party Integrations: - Gaia integration. - Map Magic integration. Planned Features: - Tree Creator support with wind animations (a limited version is currently available). - Support for animation baking and skinned mesh renderers. Requirements: - DirectX 11 or DirectX 12 and Shader Model 5.0 GPU (Windows, Windows Store) - Metal (macOS, iOS) - OpenGL Core 4.3 (Windows, Linux) - Vulkan (Android, Windows, Linux) - OpenGL ES 3.1 (Android 8.0 Oreo or later) - Modern Consoles (PS4, Xbox One) To provide the fastest possible performance, GPU Instancer utilizes Indirect GPU Instancing using Unity's DrawMeshInstancedIndirect method and Compute Shaders. GPU Instancing results in magnitudes of performance improvement over static batching and mesh combining. Also, other available solutions for GPU Instancing (including Unity's material option and the DrawMeshInstanced method) fail short on limited buffer sizes and therefore result in more draw calls and less performance. By using the indirect method GPU Instancer aims to provide the ultimate solution for this, and increases performance considerably while rendering the same mesh multiple times. For more Information: Getting Started API Documentation
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 is an out of the box solution to display extreme numbers of objects on screen with high performance. With a few mouse clicks, you can instance your prefabs, Unity Terrain details and trees. GPU Instancer provides user friendly tools to allow everyone to use Indirect GPU Instancing without having to go through the deep learning curve of Compute Shaders and GPU infrastructure. Also, an API with extensive documentation is provided to manage runtime changes. ——————————— FEATURES ——————————— – Out of the box solution for complex GPU Instancing. – VR compatible. Works with both single pass and multi pass rendering modes. – Mobile compatible. Works with both iOS and Android. – Easy to use interface. – Tens of thousands of objects rendered lightning fast in a single draw call. – GPU frustum culling. – GPU occlusion culling (also supports VR platforms with both single pass and multi pass rendering modes). – Automatically configured custom shader support. – Supports Standard, Universal and HD Render Pipelines. – Complex hierarchies of prefabs instanced with a single click. – Multiple sub-meshes support. – LOD Groups and cross-fading support. (Cross-fading is supported on Standard Render Pipeline only) – Automatic 2D Billboard generation system (Standard RP only). – Shadows casting and receiving support for instances (frustum culled instances still can cast shadows). – Ability to use custom shadow distance per prototype and to choose the LOD to render shadows with. – Support for Floating Origin handling. – Multiple camera support. – Well documented API for procedural scenes and runtime modifications (examples included). – Ability to Remove instances inside bounds or colliders at runtime. – Ability to extend with custom Compute Shaders. – Example scenes that showcase GPU Instancer capabilities. Prefab Instancing Features: – Ability to automatically instance prefabs at your scene that you distribute with your favorite prefab painting tool. – Automatically Add-Re
BETA RELEASE Download Demo Build (Windows PC)​ Crowd Animations is an extension for GPU Instancer, and requires it to work. Support Forum | Documentation | F.A.Q. Crowd Animations is an out of the box solution for using massive amounts of animated characters in your scenes with high performance. CA uses the GPU Instancer core and adds GPU skinning techniques on top of GPUI’s indirect instancing solution and GPU culling techniques. This results in a combination which will allow you to get the most out of GPU Instancing in Unity for your animated characters. ——————————— FEATURES ——————————— – Indirect GPU instancing with skinned meshes. – GPU frustum, occlusion and distance culling. – VR compatible. Works with both single pass and multipass rendering modes. – Supports Standard, LW, HD and Universal Render Pipelines. – Custom shader support (requires manual set-up). – Animation Blending (up to 4 animations). – Multiple skinned mesh renderers and submeshes support. – LOD Groups support (all LOD meshes must use the same rig). – Bone attachments. – Root Motion support. – Ability to use custom shadow distance per prototype and to choose the LOD to render shadows with. – Automatic detection of added and removed instances without any additional code. – Rigidbody and physics support. – Custom animation event system. – Easy to use interface. Crowd Animations supports two different animator workflows: Mecanim Animator: You can use the Unity Mecanim Animator to handle the state machine for animations as usual, and GPUI will read the animator states from the Mecanim Animator. This will let you use your existing Animators and scripts with Crowd Animations, and make it possible to use indirect GPU Instancing out of the box with all the GPUI features such as GPU frustum and occlusion culling. This workflow increases GPU performance while rendering skinned meshes, but it won’t be an ideal solution for projects that are CPU bound since the Mecanim Animator will still create an o
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值