【推荐100个unity插件】完全程序化且动态的 性能极佳的Unity URP 物理交互草地——UnityURP-InfiniteGrass的使用_unity parallax grass
文章目录
- 前言
- 插件下载安装
- 使用方法
-
- 1、进入你的 URP 设置,将\"GrassDataRendererFeature\"添加到其中。
- 2、添加地面,并配置地面层和前面一致
- 3、接下来,在您的场景中创建一个空对象,并将\"InfiniteGrassRenderer\"脚本添加到该对象上。
- 4、效果
- 4、在Unity6使用
- 扩展知识
-
- 1、完全程序化
- 2、视锥体剔除和随距离降低密度
- 3、动态颜色调节器
- 4、风浪
- 5、动态遮罩和密度
- 6、 动态坡度
- 7、风系统
- 8、风格化 billboard广告牌 草
- 专栏推荐
- 完结
前言
UnityURP-InfiniteGrass用于 Unity URP 的完全程序化和动态草地。这是一个旨在快速实现的草地系统,无需任何烘焙或静态环境。只需启用它,给它您希望它出现的对象的 LayerMask,所有内容都会程序化绘制。
插件下载安装
- github地址:https://github.com/Youssef-Afella/UnityURP-InfiniteGrass
- gitee地址:https://gitee.com/unity_data/UnityURP-InfiniteGrass
只需将\"InfiniteGrass
\"文件夹拖到你的项目中即可,如果你想看到demo可以将\"SampleScene
\"一起导入进项目。
使用方法
1、进入你的 URP 设置,将\"GrassDataRendererFeature\"添加到其中。
- 选择你的地形网格的 LayerMask。
- 配置材质和计算着色器(包含在文件夹中)
2、添加地面,并配置地面层和前面一致
3、接下来,在您的场景中创建一个空对象,并将\"InfiniteGrassRenderer\"脚本添加到该对象上。
配置草材质(包含在文件夹中),并调整设置直到您满意为止。
4、效果
4、在Unity6使用
如果你想在unity6中使用它的话,经过前面的步骤大概率会看到一条警告,而且草也没有生成出来。
The render pass GrassDataRendererFeature+GrassDataPass does not have an implementation of the RecordRenderGraph method. Please implement this method, or consider turning on Compatibility Mode (RenderGraph disabled) in the menu Edit > Project Settings > Graphics > URP.Otherwise the render pass will have no effect. For more information
解决方案就如提示所说,前往项目配置,打开Compatibility Mode (RenderGraph disabled)
这时会有新的警告,但是我们不用管,因为草已经生成出来了并不影响我们项目的使用
扩展知识
1、完全程序化
你不需要有高度图或使用 Unity 地形,只需通过更改 LayerMask,你就可以将草放在任何物体上。此外,它不需要生成整个世界位置的大型缓冲区,它仅生成相机周围必要数量的位置,因此内存不是一个大问题。
2、视锥体剔除和随距离降低密度
它允许你在较远的距离上以较低的性能成本进行绘制。
3、动态颜色调节器
它允许你使用任何你想要的物体或纹理来修改草叶的颜色。要制作自己的颜色调节器。
从\"InfiniteGrass/Modifiers/GrassColoringShader
\"创建一个新的材质,给材质添加纹理和颜色。
最后,将一个四边形网格添加到你的场景中,并将材质应用到它上,你可以像 Decal 一样,以任何比例或旋转将物体放置到你想要的位置。
4、风浪
在使用\"InfiniteGrass/Modifiers/GrassColoringShader
\"着色器时,与粒子系统一起使用也没有问题,实现风浪的效果。
粒子效果如下
效果
5、动态遮罩和密度
就像颜色调节器一样,只需从\"InfiniteGrass/Modifiers/GrassMaskShader
\"制作一个材质,并将其应用于一个四边形或任何其他网格。
请注意,这里的“遮罩”的通常含义并不是它的用途,白色表示草将被完全挖掉,黑色表示完全的密度。
您也可以选择不彻底切割草地,而是通过降低材质的\"不透明度\"属性来使密度降低。您的网格的顶点颜色的红色通道也会遮挡草地)。
6、 动态坡度
这里的\"坡度\"指的是草叶的倾斜度。
它只是一个简单的修改器,和其他的一样,只需创建一个材质并将其应用于一个四边形,但这次颜色将描述草叶将指向的方向。
红色控制草叶倾斜到 X 轴的程度(0:它将指向-x,1:它将指向 x,0.5:它将保持向上)。
绿色控制草叶倾斜到 Z 轴的程度(0:它将指向-z,1:它将指向 z,0.5:它将保持向上)。
没有必要使用蓝色通道,因为草叶不能倾斜到 Y 轴(这意味着它只是向上)。
如果想要制作自定义风效、爆炸、踩踏草地等效果,这会很有用。
样本场景中每个都有示例,可以前往查看。
7、风系统
从纹理来的风,类似于\"动态斜坡\",但只是应用于整个草地。下面是默认值
8、风格化 billboard广告牌 草
草叶总是(至少在尝试)从所有角度看起来朝向相机。
这个材质包含很多参数来定制外观。
专栏推荐
完结
好了,我是向宇
,博客地址:https://xiangyu.blog.csdn.net,如果学习过程中遇到任何问题,也欢迎你评论私信找我。
赠人玫瑰,手有余香!如果文章内容对你有所帮助,请不要吝啬你的点赞评论和关注
,你的每一次支持
都是我不断创作的最大动力。当然如果你发现了文章中存在错误
或者有更好的解决方法
,也欢迎评论私信告诉我哦!