查看: 72|回复: 0

[脚本] GPU Instancer 高级GPU特效渲染工具

[复制链接]

560

主题

76

听众

7187

积分

头头

Rank: 12Rank: 12Rank: 12

发表于 2020-8-7 08:00 |显示全部楼层
共享资源可获取更多积分,所有资源仅供参考学习研究!
资源信息 Asset Information
资源名称: GPU Instancer
适用引擎: Unity3D  (适用引擎)
版本: 1.4.2 (版本)
资源等级: 7 (等级越高资源价值越高)
资源格式: .unitypackage (链接失效请点击帖子右下方举报通知管理员)
资源大小: 121MB (默认:MB 注: 请用IE9以上浏览器访问本版块)
点击查看原图
请先回复 --点击试用VIP 美丽分割线


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-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.
- Nested Prefabs support (Unity 2018.3 and later).
- Add-Remove-Update prefab instances with or without instantiating GameObjects (examples included).
- Instance based material variations through API (Not supported on Android because of buffer limitations)
- 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:
- Dense forests with very high frame rates.
- SpeedTree support with wind animations.
- SpeedTree 8 support with wind animations.
- Tree Creator support with wind animations.
- Support for Soft Occlusion Trees.
- Included billboard baker and renderers.

Extension Packs:
- Crowd Animations: Provides workflows for GPU Instancer to be used with animated crowds.

Third Party Integrations:
- Gaia integration.
- MapMagic integration.

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)

Please also note that even though some integrated graphics cards may satisfy these requirements, they may not provide the boost you can get from GPU Instancing. Therefore, hardware with a dedicated GPU is recommended.


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.

GPU Instancer是一个开箱即用的解决方案,以显示极端数量的对象在屏幕上高性能。通过几次鼠标点击,你可以实例化你的预置,统一地形细节和树木。

GPU Instancer提供了用户友好的工具,允许每个人使用间接的GPU实例化,而不必经过计算着色器和GPU基础设施的深度学习曲线。此外,还提供了一个带有大量文档的API来管理运行时更改。


---------------------------------
特性
---------------------------------
-对复杂的GPU实例化的开箱即用解决方案。
- VR兼容。工作与单通道和多通道渲染模式。
——手机兼容。适用于iOS和Android系统。
-易于使用的界面。
-数以万计的物体呈现闪电快速在一个单一的draw call。
- GPU截景剔除。
- GPU遮挡裁剪(也支持VR平台的单通道和多通道渲染模式)
-自动配置自定义着色器支持。
-支持标准、通用和高清渲染管道。
-复杂的层次结构的预置实例与一个单一的点击。
-多重亚网格支持。
- LOD组和交叉衰落支持。(仅在标准渲染管道上支持交叉衰落)
-自动2D广告牌生成系统(仅适用于标准RP)。
-阴影投射和实例接收支持(frustum culled实例仍然可以投射阴影)。
-能够使用自定义阴影距离每个原型和选择LOD渲染阴影。
-支持浮动原点处理。
-多摄像头支持。
-程序场景和运行时修改的文档化API(包括示例)。
-能够在运行时移除边界内的实例或碰撞器。
-能力扩展与自定义计算着色器。
-展示GPU Instancer功能的示例场景。

组合式实例化特点:
-能够自动实例预置在您的场景,您分发与您最喜爱的预置绘画工具。
-自动添加删除预置实例,而不需要任何附加代码。
-自动检测和更新变换位置,旋转和比例变化。
-全或区域本地化刚体和物理支持。
-嵌套预置支持(Unity 2018.3及以后版本)
- Add-Remove-Update预置实例,有或没有实例化游戏对象(示例包括)
-通过API实现基于实例的材质变化(由于缓冲区限制,Android不支持)
-在运行时根据每个实例启用和禁用实例化。
-在运行时管理实例化预置的API。
-包括移动演示场景与自定义控制器。

详细的实例化特点:
-稠密的草地和植被非常高的帧率。
-包括植被着色与风,阴影,AO,纸板和各种其他属性。
-支持自定义着色器和材质。
交叉quadd支持:自动将草地纹理交叉四边形。
-在统一地形(使用统一地形工具)上使用自定义材质绘制预制件。
-能够使用预置与LOD组在统一地形。
-自动空间分区进一步提高性能。
-在运行时管理实例化地形细节原型的API(包括示例)。
-编辑器的GPU实例化模拟。

树实例化特点:
-茂密的森林非常高的帧率。
-支持风动画的SpeedTree。
-支持SpeedTree 8与风动画。
-树创作者支持与风动画。
-支持软遮挡树。
-包括广告牌面包师和渲染器。

扩展包:
-人群动画:提供工作流程的GPU Instancer用于动画人群。

第三方集成:
盖亚的集成。
——MapMagic集成。

要求:
- directx11或directx12和Shader模型5.0 GPU (Windows, Windows Store)
-金属(macOS, iOS)
- OpenGL Core 4.3 (Windows, Linux)
- Vulkan (Android, Windows, Linux)
- OpenGL ES 3.1 (android8.0 Oreo或更高版本)
-现代游戏机(PS4, Xbox One)

也请注意,即使一些集成显卡可能满足这些要求,他们可能不会提供你可以从GPU实例化得到的提升。因此,推荐使用专用GPU的硬件。


为了提供尽可能快的性能,GPU Instancer使用Unity的DrawMeshInstancedIndirect方法和Compute Shaders来间接地使用GPU实例化。


GPU实例化的结果在静态批处理和网格结合的性能改善的幅度。另外,其他可用的GPU实例化解决方案(包括Unity的material选项和drawmeshinstancemethod)在有限的缓冲区大小上也会失败,从而导致更多的draw调用和更低的性能。GPU Instancer通过采用间接的方法为这一问题提供了最终的解决方案,并在多次渲染相同网格的同时显著提高了性能。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

楼主热帖
人人为我 我为人人 互相分享 互相学习 互相进步 一带一路
温馨提示:求助请到“Unity技术讨论”版块中发帖,便于集中解决!
您需要登录后才可以回帖 登录 | 立即注册

关闭

站长推荐 上一条 /1 下一条

Unity3D游戏开发联盟(资源共享平台) -Unity3D,Unreal ( 粤ICP备20003399号 )

GMT+8, 2020-9-30 03:35 , Processed in 0.101041 second(s), 48 queries .