Shadow技术-起点

本文探讨了Unity项目中阴影技术遇到的问题,如Light leaking和Shadow Acne,以及如何通过调整Depth Bias和Normal Bias来缓解这些问题。文章介绍了Close Fit和Stable Fit的概念,并指出提高Shadowmap精度是关键。最后,作者提出了使用CSM( Cascaded Shadow Maps)作为解决性能和精度平衡的潜在方案,以适应移动和PC平台。
摘要由CSDN通过智能技术生成

起因

项目的Shadow开始出现了问题,有2个BUG报到了我的身上

  1. 比较薄的Mesh出现了漏光(Light leaking)现象
  2. Cube旋转到一定角度,表面出现了“瑕疵”(Shadow Acne)

我开始意识到,确实需要一套比较完备、可控的阴影方案了

对Shadow的积累

目前我对Shadow技术的积累,仅限简单的Shadow Map原理和知道CSM大致的实现方式。
在看到前面两个BUG的时候,我大概知道是什么导致的,可以通过调整ShadowMap的尺寸以及两个bias参数来缓解这两个BUG,但是还是想借这个机会,“一劳永逸”的解决项目Shadow方案同时提升一下自己在Shaodw方面的积累

解决路线

传统手游项目对于静态物体大多使用烘焙阴影方案,动态物体可能使用Projector方式或者ShadowMap方式,配合Unity的Distance ShadowMask实现动静结合,还是非常不错的方案,效果和效率能达到一种完美的平衡(个人认为)
但是,由于项目的特殊需求,场景并不能使用烘焙方式来作为阴影解决方案(即使使用也可能需要实现一套Lightmap烘焙方案)。
目前项目使用的是传统的Shadowmap方式,基于Unity LWRP(4.0),Distance默认设置为25,1024尺寸
在这个配置下,无论如何调整bias都无法完美解决Light leaking、error Self-Shadow和Peter paning这三种问题
本质上,还是Shadowmap的精度问题。虽然可以通过提高Shadowmap

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值