当前位置:网站首页>Unity 阴影——阴影平坠(Shadow pancaking)
Unity 阴影——阴影平坠(Shadow pancaking)
2022-06-27 15:44:00 【番茄猿】
阴影平坠(Shadow pancaking)
为了减少阴影暗斑(Shadow acne)Unity采取了一种叫做阴影平坠(Shadow pancaking)的技术,它的思路就是减少沿光照方向渲染阴影贴图时使用的光照空间范围,这样子可以提高阴影贴图的精度,减少阴影暗斑(Shadow acne)
如下图所示,主要就是取灯光照射方向和视锥体之间的交集
淡蓝色圆圈表示产生阴影投射的物体
深蓝色矩形框表示原来的灯光空间
绿色线表示经过优化后的近平面,把所有不在视锥体也就是看不见的阴影投射物体都排除了
这样子,等于我们将阴影投射的物体截断在优化后的灯光近裁剪平面之内(在顶点Shader中),需要注意的是虽然一般情况下表现都没问题,但是遇到了一些特别大的横跨这个近裁剪平面的三角面时就会出问题。
如上图所示,蓝色的三角面中只有一个顶点是在近裁剪平面之外的,并且被截断了,这样就出问题了,会改变三角面的形状,产生错误的阴影。

我们可以调整Unity中质量设置中的Shadow Near Plane Offset的值来解决这个问题,让灯光空间的近裁剪平面往后移,但是如果这个值设置高了又会导致阴影暗斑(Shadow acne),因为又提高了阴影贴图所对应的灯光方向的空间。或者我们也可以通过将这个大三角面拆细来解决这个问题。
参考
https://docs.unity3d.com/2019.4/Documentation/Manual/ShadowPerformance.html
边栏推荐
- 字节跳动埋点数据流建设与治理实践
- Relation and operation of ORM table
- Handling of difficult and miscellaneous problems during the installation and configuration of qt5.5.1 desktop version (configuring arm compilation Kit)
- 智慧风电 | 图扑软件数字孪生风机设备,3D 可视化智能运维
- 带你认识图数据库性能和场景测试利器LDBC SNB
- Event listening mechanism
- Hung - Mung! HDD Hangzhou station · salon hors ligne vous invite à construire l'écologie
- Leetcode daily practice (Yanghui triangle)
- 防火墙基础之源NAT地址转换和服务器映射web页面配置
- Design of vga/lcd display controller based on FPGA (with code)
猜你喜欢
![[pygame Games] ce jeu](/img/3c/e573106ec91441a554cba18d5b2253.png)
[pygame Games] ce jeu "eat Everything" est fantastique? Tu manges tout? (avec code source gratuit)

Smart wind power | Tupu software digital twin wind turbine equipment, 3D visual intelligent operation and maintenance

Leetcode daily practice (sum of two numbers)
![[pyGame games] this](/img/3c/e573106ec91441a554cba18d5b2253.png)
[pyGame games] this "eat everything" game is really wonderful? Eat them all? (with source code for free)

Weekly snapshot of substrate technology 20220411

米哈游起诉五矿信托,后者曾被曝产品暴雷

Sigkdd22 | graph generalization framework of graph neural network under the paradigm of "pre training, prompting and fine tuning"

鴻蒙發力!HDD杭州站·線下沙龍邀您共建生態
MySQL中符号@的作用

Li Chuang EDA learning notes 16: array copy and array distribution
随机推荐
LeetCode每日一练(主要元素)
SIGKDD22|图“预训练、提示、微调”范式下的图神经网络泛化框架
目前PolarDB-X是不支持数据库自制服务DAS么?
华为云首次解读云原生2.0十大典型架构,加速构建现代化应用
鸿蒙发力!HDD杭州站·线下沙龙邀您共建生态
What should the ultimate LAN transmission experience be like
P.A.R.A 方法在思源的简易应用(亲测好用)
[pyGame games] this "eat everything" game is really wonderful? Eat them all? (with source code for free)
正则匹配以什么开头、以什么结尾,以非什么开头,以非什么结尾
跨域图像的衡量新方式Style relevance:论文解读和代码实战
Cesium realizes satellite orbit detour
Domain name binding dynamic IP best practices
开源二三事|ShardingSphere 与 Database Mesh 之间不得不说的那些事
Julia constructs diagonal matrix
一个机器人位于一个 m x n 网格的左上角 。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角。问总共有多少条不同的路径?【LeetCodeHot100】
Open source 23 things shardingsphere and database mesh have to say
Alibaba cloud liupeizi: Inspiration from cloud games - innovation on the end
Leetcode daily practice (sum of two numbers)
Introduce you to ldbc SNB, a powerful tool for database performance and scenario testing
带你认识图数据库性能和场景测试利器LDBC SNB