Unity预计算全局实时GI(二)- 实时分辨率

当使用预计算实时全局光照(PRGI)为一个场景设置光照时,首先要决定的是设置场景默认的实时分辨率(Realtime Resolution)。Realtime Resolution是每个世界单位所使用的实时光照贴图纹素(贴图像素)的数量。

Realtime Resolution设定可以在Lighting窗口中找到并调整,方法如下:

* 打开 Lighting 窗口 (Window>Lighting) 然后选择  Scene 标签页。

* 通过勾选 Precomputed Realtime GI 选项 以确保 开启Precomputed Realtime GI 功能。

* 在Precomputed Realtime GI选项框下面,可以看到 Realtime Resolution 属性。


Unity的Lighting窗口显示了场景的全局Realtime Resolution的设置


选择一个合适的Realtime Resolution

当设置一个场景时了解你工程的单位比例是很重要的。可能在你的项目里一个单位等于现实世界的1米、一英尺或一公分。Unity中的单位没有默认设成真实世界的比例单位,所以要由开发者自行决定。

在我们的工程中我们已经决定让一个单位等于一米。一些物理概念假设一样,例如在Unity中重力的预设就是以每秒多少单位来表示的。假设一个单位等于一米,对于一个真实世界的场景来说是一个很好的设置。

Realtime Resolution的值通常可以由游戏世界的规模来制定。例如,如果你的场景是一个小型但拥有丰富光照变化的室内环境,为了捕捉这种更详细或者“高频率的”光照,更高分辨率的光照贴图比如每个单位2-3个纹素可能比较合适。

如果你的场景是一个规模较大的户外环境,可能覆盖了几百甚至上千单位(平方米)的表面,而这些表面并不会剧烈地改变反射光的颜色。在这样的情况下,使用这种适合捕捉在室内场景中错综复杂的光照细节的分辨率是一种浪费。我们会浪费宝贵的CPU时间和内存去更新那些对整体外观贡献不大的光照贴图。为了本教程的目的,我们会提高在光照预计算期间必须被考虑的光照贴图的纹素数量。这会对预计算时间产生很大的影响。

针对室外环境,对于场景中的比较大的对象物体,一种合理的光照贴图分辨率设置可能在每单位0.5-1个纹素之间,或者对于terrain来说,那么每个单位0.1-0.5个纹素比较合适。

预计算全局实时光照分辨率 vs 传统的光照贴图


Unity PRGI所需要的Realtime Resolution值比传统光照贴图密度要小好几个等级,这是因为我们只从这些光照图里获取间接光照的数据,且这些数据通常分辨率都很低。所以使用PRGI时,清晰的阴影通常都是通过提供实时阴影而不是高分辨率的光照贴图。

在传统光照贴图技术中,使用每个单位30个纹素这样的设置,可能会导致预计算失败或无法完成计算。

对于室内场景更合适的设置是每个单位2-3个纹素,而对于室外环境则为每个单位0.5-1个纹素。

这种假设是以在真实世界场景中1单位 = 1米的情况为前提,如果世界单位的大小发生改变,这些设置的值响应地就需要被调整

具体可以参考以下的场景与Realtime Resolution值对照表(1单位代表1米):

一个单位代表1米

当初次设置我们场景的实时分辨率,我们为我们场景中的静态对象物体指定了默认的分辨率。新建的带有Mesh Renderer且标记为静态光照(Lightmap Static)的对象,会使用这个值一直到它被修改。

除了为整个场景选择实时分辨率,我们还能针对每个对象调整光照贴图的分辨率。在需要高分辨率来提供更高真实感的情况下,我们可以选择性的提高这个值。通常是将场景里最多的对象分辨率设为默认值,然后手动调高需要更多照明细节对象的值。之后我们会讨论修改每个对象物体分辨率的方法。

设置我们场景的 Realtime Resolution

如果你想跟着我们一直学习下去,我们将会在LightingTutorialStart场景中展开教学,这个场景位于本页页顶的链接Lighting Optimisation Tutorial中。

在我们的示例场景中,我们有一个户外场景,这个场景具有一个拥有颜色一致的中等大小的地形。为此,一个每个单位0.5纹素的低实时分辨率对于捕捉场景中从其他对象反射的光照是足够了的。然而,在场景中有一些细节很高的木质房子,它们的数量比地形对象还多,我们应该为房子设置合适的实时分辨率。然后我们可以单独修改地形对象的分辨率,这样可以降低场景准备的工作量。考虑到这一点,我们将要对默认实时分辨率使用每个世界单位1个纹素的设置。操作步骤如下:

* 打开 Lighting 窗口 (Window>Lighting) 然后选择Scene 标签页.

* 设置 Realtime Resolution 的值为1.

由于我们的世界单位设定为1单位 = 1米,这表示一张由Unity中PRGI生成的光照贴图将会是1x1米的大小,这可能看起来像素很低,请记住我们只捕捉间接光照。清晰地阴影以及镜面高光将会在场景中由实时光所计算提供 。


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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 160,108评论 4 364
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,699评论 1 296
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,812评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,236评论 0 213
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,583评论 3 288
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,739评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,957评论 2 315
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,704评论 0 204
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,447评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,643评论 2 249
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,133评论 1 261
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,486评论 3 256
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,151评论 3 238
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,108评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,889评论 0 197
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,782评论 2 277
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,681评论 2 272

推荐阅读更多精彩内容