欢迎光临散文网 会员登陆 & 注册

《光与硅的艺术》连载——5.4 Ambient Occlusion(环境光阻光)

2022-05-11 18:18 作者:FishersLab  | 我要投稿

Note:《光与硅的艺术》写作于2015年,发表于2017年,书中部分内容可能与当前软硬件实际状况有出入,请注意区分。


AO(Ambient Occlusion,环境光阻光)是一种增加真实感的小技巧,它模拟物体转角处比平坦处更暗的现实效果,能以很低的成本有效地增加图像的真实感和体积感。VRED提供了两种环境光阻光的计算方法。一种是“烘焙AO”,另一种是“光线追踪AO”。


5.4.1 烘焙AO


不考虑环境光照特性,根据几何体结构进行计算而得到的AO被称为“烘焙AO”,有别于真正的光线追踪AO。它的主要用途是增强实时预览模式的效果,如图5-33所示。

图5-33 烘焙AO计算结果


优点说明


» 可提升实时预览效果。


» 一次烘焙,反复使用。


» 灵活控制阻光半径。


» 可用于光线追踪Precomputed(预计算)模式,以节约渲染时间。


缺点说明


» 质量低于光线追踪AO。


» 不根据真实光照计算结果。


» 无法生成硬阴影。


» 如果需要高品质的细节表现,则计算时间十分漫长。


5.4.2 光线追踪AO


“光线追踪AO”在VRED中被称为Occlusion通道,它是使用光线追踪算法,考虑几何体结构和环境光照特性所计算的真实阻光,效果如图5-34所示。

图5-34 光线追踪AO计算结果


优点说明


» 极佳的渲染质量。


» 依据真实光照计算结果。


» 可以产生硬阴影。


缺点说明


» 一次计算,无法反复使用。


» 计算时间较长。


» 缺乏控制的灵活性。


TIPS 关于AO的其他知识,可参考第3章中“CG技术知识”的内容。


5.4.3 AO结果查看


如果要单独查看“烘焙AO”结果,可在关闭RT按钮的情况下执行Visualization(可视化)>Ambient Occlusion Rendering(环境光阻光模式)菜单命令,如图5-35所示。烘焙AO的效果如图5-36所示。

图5-35 环境光阻光模式打开方式 


图5-36 环境光阻光模式渲染结果


如果要单独查看“光线追踪AO”渲染结果,可在激活RT按钮的情况下执行Visualization(可视化)>Renderpasses Rendering(渲染元素模式)>Auxiliary Channels(辅助通道)>Occlusion(阻光)菜单命令,如图5-37所示。光线追踪AO的渲染效果如图5-38所示。

图5-37 光线追踪AO模式打开方式 


图5-38 光线追踪AO模式渲染结果


5.4.4 Ambient Occlusion模块


Ambient Occlusion(环境光阻光)模块简称AO模块或AO面板,用于控制场景中的AO和Indirect Illumination(间接光照)烘焙工作。烘焙后的场景可获得更好的实时预览效果,同时,烘焙结果还能用于Precomputed(光线追踪预计算)模式,以节约渲染时间。


TIPS 再次强调,AO模块是依据几何体结构进行计算的“烘焙AO”,而非Render Settings(渲染设定)面板提供的基于光照和光线追踪计算的真实阻光。


AO模块没有快捷方式图标,可执行Scene(场景)>Ambient Occlusion(环境光阻光)菜单命令,打开它,如图5-39所示。打开后的AO模块如图5-40所示。

图5-39 AO模块的打开方法 


图5-40 AO模块面板


Ambient Occlusion模块常用功能说明


» Settings(设置):提供系列附属功能,如预设参数设定、从现有对象读取烘焙参数等,使用频率较低。


» Direct Illumination(直接照明):注意这里的“直接照明”与“灯光”和“照明”无关,其参数主要控制AO烘焙功能。


Shadow Quality(阴影质量):设定烘焙AO的阴影质量,从Preview(预览)到Ultra High(超级高)共分为六档。越高级的档位的烘焙质量越高,但是计算时间也越长。普通场景预览可以使用Low(低)或Medium(中等)质量,为了追求更高质量也可使用更高档位,但需要付出额外的计算时间。


Minimum Distance(最小距离):最小烘焙距离。请保持默认1.00,以获得良好的细节结果。


Maximum Distance(最大距离):最大烘焙距离。默认参数为3000.00,几乎适合所有汽车场景。如果你认为烘焙的AO阴影范围过大,可以适当调小这个数值。


Clear All(清除全部):删除选定对象所有烘焙信息。


Clear Active(清除当前):删除选定对象烘焙信息。


Indirect Illumination(间接照明):该部分参数用于烘焙间接照明。


Enable(启用):打开间接照明烘焙。将这个选项保持关闭即可。


TIPS 对于外观表现而言,间接照明对最终效果影响不大,同时最终渲染输出会使用Full Global Illumination(完整全局照明)模式,所以不建议预烘焙间接照明,这样可以节约场景准备时间。


» Subdivision(细分):VRED烘焙质量与几何体网格密度有着明确的正相关关系,所以,如果几何体网格密度不足,那么就无法烘焙出优秀的结果。细分能大幅增加几何体表面的网格密度,使烘焙得到更细腻平滑的结果;但细分过程会消耗一定时间,且增加几何体面数。


Enable(启用):打开细分功能。


Quality(质量):设定细分质量,有Low(低)、Medium(中)和High(高)三个可选,质量越高,耗时越多。


Minimum Edge Length(最小边长):设定细分的最小边长,即小于此长度的几何体边不会被细分。通常使用默认值即可。


Intensity Threshold(强度阈值):设定细分的强度限值,通常不建议修改,否则可能会造成夸张的计算量。


» Calculate All(计算所有):使用当前参数为选中对象重新计算烘焙结果,而不考虑它是否已经被烘焙过。


» Calculate Missing(计算丢失部分):使用当前参数为选中对象计算烘焙结果,如果选中对象已有烘焙信息,则跳过计算。


» Cancel(取消):取消烘焙计算。


TIPS 当烘焙计算开始后,进度条将显示烘焙进度。但是应注意,烘焙过程中软件有可能假死,所以,不要完全相信进度条所显示的工作进度。


《光与硅的艺术》连载——5.4 Ambient Occlusion(环境光阻光)的评论 (共 条)

分享到微博请遵守国家法律