untiy坐标过大导致物体和阴影闪烁

如果你拿到的模型非常大,你没有进行缩放直接使用,或者美工把模型的坐标放在了世界边缘,你会发现这些遥远的物体(任意坐标超5000后就已经非常明显)的阴影会发生极其不自然的闪烁,但与此同时,如果你把模型归零,在世界远点的话,你会发现阴影又正常了

这是因为浮点数的精度下降,由于浮点数最多只能怪精确表示7位,保证准确表示6位(整数部分加小数部分一共的位数),如果世界坐标太大,Untiy对于阴影的计算就会出现偏差

这种情况可以通过修改光源的biss和NormalBias缓解

但是最有效的方法有两种

1是修改摄像机的近平面
请添加图片描述
一般来说如果场景很大,不要修改的过小,推荐在0.3到1 之间,这个方法是最有效的,在各个平台都有很好的效果,缺点是离相机过进的物体会看不到(在近平面以内了嘛)

2是去window/packageManager里下载一个Post Processing后处理组件,并为摄像机挂载 Post-process Layer,并启用里边的TAA抗锯齿,注意这个抗锯齿在Post-process Layer里,不在PostProcessVolume里,关于Post Processing的具体用法可以参考这位大佬的博客后处理组件详细使用

这个方法在pc上最有效,可以不调近平面,单靠抗锯齿就能有很好的效果,但是在webgl和移动平台上效果会大打折扣,只能作为近平面的辅助手段

此外,如果美工给你的模型太大,不建议你自己缩放模型,同样是因为浮点数精度的问题,可能会给项目带来不可预知的后果,建议直接让美工修改模型的比例尺

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值