逆水寒全局光照 游戏中的全局光照(四) Lightmap、LightProbe和Irradiance Volume

访客 游戏攻略 2025-02-23 16:20:01 7 0 逆水寒全局光照

本篇文章给大家谈谈逆水寒全局光照,以及逆水寒全局光照对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

游戏中的全局光照(四) Lightmap、LightProbe和Irradiance Volume

在游戏开发中,全局光照的漫反射部分是渲染效果的关键因素,尤其是在静态GI(Global Illumination)中,我们关注的是最终步骤为漫反射,而非具体光线传播路径的细节。漫反射GI的预计算过程涉及到环境光照的处理,其中一个重要步骤是将radiance map值预积分为irradiance map,然后使用球谐系数来保存。然而,如果仅使用一个天空光照的漫反射系数,无法准确表达环境光照的变化。在包含室内与室外的场景中,使用统一的环境光照会导致渲染结果失真。

为此,引入了Irradiance Probe,用于保存某个区域附近的irradiance信息。在游戏引擎中,烘焙器会计算某个点附近的irradiance,并以特定格式保存,类比为烘焙器在Irradiance Probe的位置,向六个方向各拍摄照片,合成环境光照图并生成irradiance信息。这一步骤通常通过烘焙器实现。

Lightmap与LightProbe是两种用于放置Irradiance Probe的常见方法。Lightmap主要应用于静态物体,通过均匀地摆放在物体表面,使用名为lightmap的贴图保存烘焙结果。Lightmap无需保存背面光照信息,从而节省存储空间,而LightProbe则适用于静态光照环境下的可移动动态物体,通过预计算漫反射烘焙光照。

Lightmap的存储与使用涉及多种方式,包括H-Basis、球形高斯、Ambient/Highlight/Direction(AHD)等。H-Basis仅考虑半球面上的光照,节省存储空间,每个通道需要6个系数,与几何体的切空间配合使用。球形高斯在教团:1886中有广泛应用。AHD使用三个值表示环境光(ambient)、高光(highlight)与高光方向(direction),每个点需要8个float值表示。RNM(Radiosity Normal Mapping)方法在切平面上指定三个正交基的方向,计算GI在三个正交基上的投影并进行重构。UE4中的Diffuse GI烘焙保存最大光照度和一个二阶球谐系数,每个点需要8个系数,正好用两张贴图保存。

Lightmap的保存与使用取决于不同GI方案,如AHD中Direction可直接存储两个方向值,取方向时做一次标准化。Ambient与Highlight颜色值通常需要非线性存储。Lightmap相对密度较低,一个texel对应20cm*20cm大小,精度已足够高。烘焙前,模型划分为多个chunk,对应UV2用于lightmap。UV2需要在0~1之间,且chunk之间保留至少两个像素间隔,以避免采样像素被其他chunk部分影响,导致漏光。对于光照变化快的地方,烘焙的Lightmap精度不足导致漏光,可通过增大物体的Lightmap精度或增加墙面厚度解决。

Lightmap的接缝问题出现在角度大,光照信息差异大的邻接面,导致烘焙光照互相影响。每个物体的烘焙贴图形成一个chart,多个场景物体的chart合并到一个或多个贴图上,形成Lightmap。对于模型顶点数据,也可选择直接保存烘焙的光照信息。

Light Probe是为动态光照设计的,适用于静态光照下动态物体的烘焙。Light Probe在场景中放置多个位置点,通过类似Lightmap的烘焙方式计算光照。由于Light Probe密度较小,通常使用完整的三阶球谐SH(27个系数)保存光照信息。Light Probe的摆放可自动或手动实现,遵循密集物体附近放置更多Light Probe的原则。每个位置点通过计算附近四个构成四面体的点的重心坐标,使用四面体顶点的球谐系数进行插值计算光照。

在CPU插值过程中,大量物体可能导致渲染错误,可通过建立Volume并使用GPU进行线性插值采样,解决额外开销问题。球谐函数的振铃效应(ring/vibrational artifacts)在接近点光源进行光照烘焙时可能发生,但已有解决方案在前文提及,不再深入讨论。

逆水寒全局光照 游戏

使用Light Probe时的漏光问题常见于室内外区域,可通过将室内外的Light Probe分开烘焙,使用体积标记室内区域,并在门口进行过渡处理。为每个Light Probe设置室内外标记,记录权重值,根据权重值和四面体上点的室内外权重值,重新计算重心坐标。使命召唤无尽战争中的解决方案是记录每个四面体的遮挡信息,计算时考虑遮挡情况。

Irradiance Volume是近期游戏中的主流做法,使用3D纹理保存空间中的光照属性,提供自然过渡效果。相比于Lightmap与Light Probe的组合,Irradiance Volume具有烘焙速度快、无需存储两套数据、支持静态与动态物体、适用于体积雾等优点。虽然需要逐像素额外采样,但现代机器完全能承受这一开销。Irradiance Volume的实现原理与LightProbe相近,但需要处理光照信息表示方式、空间数据结构以及解决漏光问题等挑战。

在Lightmap与Light Probe的组合中,我们面临内存与烘焙时间的权衡,而Irradiance Volume的引入提供了新的解决方案,成为当前静态光照实现的主流选择。游戏开发者在实践中可参考多种实践案例,以实现更高效、更高质量的全局光照效果。

逆水寒逆水寒

在歌手侃侃的专辑《情动》中,有一首歌曲唤作《逆水寒》。这首歌曲于2007年2月1日由乐满天文化发行。歌词描绘了主人公在暮色中目送群雁南归,湖水映衬着蔚蓝的天空,思绪随风飘散,镜中的自己却无法触及真实的体验。歌词中,主人公提到在异乡的孤独夜晚,唯有梦境能带来一丝安慰,他学会了如何面对生活的挫折,不让泪水滑落。

歌曲中,主人公分享了失败的苦涩和失落的心情,曾经的意冷心灰,只有孤影相伴,这种内心的痛苦并非他人所能完全理解。歌词中的"不易理会,是错是对;不能坚决,是喜是悲",表达了生活的复杂,人生的道路上总会有转折,他选择勇敢面对,绝不会轻易退缩。

《逆水寒》以其深情的旋律和深沉的歌词,展现了主人公在逆境中的坚韧与成长,让听众感受到生活中的酸甜苦辣,鼓励人们在困境中坚持前行。

扩展资料

《逆水寒》属于《四大名捕》小说系列,且被认为是最适合以电视连续剧形式进行艺术再现的,讲述了以流传在宋朝时期的“逆水寒剑”为线索,讲述了宋朝的八大寨主保护“逆水寒剑”的江湖故事。江湖大侠戚少商蒙冤逃亡,在神捕铁手、昔日情敌霹雳堂主雷卷等义士的帮助下冤案得雪。

END,本文到此结束,如果能对您有所帮助,还希望关注本网站哦!

版权声明

本文仅代表作者观点,不代表百度立场。
本文系作者授权百度百家发表,未经许可,不得转载。

分享:

扫一扫在手机阅读、分享本文