Unity预计算全局实时GI(三)- 光照图表(Charts)

本文介绍了Unity PRGI中光照图表的概念,作为光照贴图的区域,它们由辐射度和方向性两部分组成。光照图表的大小和数量直接影响预计算时间,每个图表至少需要16个纹素。Unity在实时GI中处理UV边缘,避免渗色,以节省光照贴图空间。过多的光照图表会导致更高的计算复杂性和预计算时间。降低光照图表数量是优化预计算过程的关键。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在Unity PRGI里,一个光照图表(Chart)是表示一个光照贴图(Lightmap)的区域,这个区域用来映射一个给定场景对象的光照贴图的UV。你可以认为它是能影响对象的一张瓦片图。一个光照图表由两部分组成:辐射度(irradiance)和方向性(directionality(对主要的光线方向进行编码)

当PRGI被生成时,光照图表里的每个纹素都会被计算光照。一个场景中有大量的光照图表对预计算时间来说是最大的劣势之一,所以为了优化光照预计算时间,理解光照图表的工作原理以及怎么样去管理它们是很重要的。



展示了一个最小规格4*4纹素大小的光照图表的UV。为了阻止由于过滤纹理而导致的泄露,光照图表的四周总是被光照贴图UV多留出半个纹素

默认情况下,每个光照图表至少是4*4的纹素大小,不管世界中的对象物体或者对应的UV shell有多大,一个光照图表至少需要16个纹素。因此如果有一个1x1米的对象物体并带有一个光照图表并且我们的间接分辨率是1,那么这个对象物体就需要16个纹素来表现。最小的尺寸使Unity能够将这些图表缝合在一起用于计算模型边缘的无缝光照。Unity需要每张图表的边缘至少有4个纹素,方便在缝合不同光照图时有对照的依据。.

要注意的是使用实时GI时不需要自己去填充这些UV的边,因为Unity在mesh导入管线包装阶段,在截取光照贴图UV时在光照图表的四边上会留出半个纹素。这样就能让相邻的图表无需做渗色处理,也能保持双线性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SwordMaster8060

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值