Unity地形 使用Mesh网格刷草刷不上的解决方案

刷草的时候,使用Texture纹理,没有问题,但使用Mesh,就会刷不全

貌似刷到一定数量之后,之前刷的草就会消失,并且不可在游戏视图中看见

如果再把后面刷的草移除掉,之前刷的草又会再次显现出来

 

根据上面的情况,可以看出Unity对于草的数量是有限制的

虽说可以通过修改笔刷设置中的不透明度(Opacity)以及目标强度(Target Strength),来减少草的稀疏程度

但是这样达不到我们想要的,一大片茂盛的草原的效果

最后,经过一番折腾,发现了问题所在。

有两个关键参数:

细节分辨率(Detail Resolution)、每面片细节分辨率(Detail Resolution Per Patch)

它们的大小关系是负相关的,调大一个,另一个就会变小

使用Unity自带地形工具,创建出来的地形,其参数中的每面片细节分辨率和细节分辨率分别是32和1024,如此一来,Detail patches currently allocated的值就非常小,只有1024,也就是只能绘制1024个网格

我们将每面片细节分辨率从32适当缩小到8,可以发现Detail patches currently allocated增加到了16384

 

再将细节分辨率增加至2048,可以发现Detail patches currently allocated增加到了65536

这样就可以正常绘制草坪了

总结:默认的地形中,每面片细节分辨率过高,而细节分辨率过低,从而导致Detail patches currently allocated过低,所以在单位方块内无法绘制更多的细节。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值