【实验室】次元壁挖掘日志(七)|未定界


3楼猫 发布时间:2022-08-19 18:29:03 作者:未定界-官方 Language

接上篇内容,咱们继续聊一下云的相关内容。
通常游戏中的云,按制作方法分为几类:
1、天空盒子上的云
2、面片云
3、模型云
4、虚拟体积的光追云

天空盒子上的云,优势就是消耗低、效果好,因为画在视线可及范围的最远处,也不需要频繁更新云的动态。就静态天空和静态光照来说是最佳解决方案。

但缺点就是不会动。或者说如果非要动,计算开销会非常大,而且效果还不一定能保证。

面片云,通常都是通过半透明的面所绘制的具有实际坐标位置的云。这种云的优势在于消耗低,效果好,而且可以随意移动位置,并且可以通过序列图等方法更新动态。
不过劣势就是本身的朝向基本被锁死,视角不能过于接近不然就会穿帮。而且本身因为只是面片,所以光照明暗关系需要通过法线图或其他方法来纠正。

模型云,因为具有模型顶点数据来描述云体积或其他必要信息,所以相对前两种来说,会更加可控。我们可以通过模型的数据来随意变更云的大体形状、细节边缘、厚薄变化等等,并且模型本身的顶点可以携带法线信息,提供真实有效的光照明暗关系。总体来看,效果优势甚多。
但缺点也是非常明显的,如果天空需要大面积的云,也就意味着模型需要大量顶点支持,而且随着细节增多,顶点数量需求会急速增加。如果需要在此基础上计算每个顶点的动态,那么计算开销将会达到一个恐怖的量级。上篇工头提到的点云技术就是处理这个顶点数据的一种方式。

虚拟体积的光追云,对于没有图形学知识的朋友,这个名字有点难懂。这里先简单解释一下虚拟体积和光追的关系。
虚拟体积可以理解为我们通过手机屏幕看屏幕里的三维物体,虽然是三维的,但其实它只是屏幕像素的明暗和透视关系营造的一种虚拟三维。在真实世界中它只是我们屏幕上的一排排二维像素平面上的像素点。而在虚拟的三维世界中,我们一样可以做到这种以假乱真的事情。可以理解为我们在屏幕里的三维空间中,创建了一个二维平面,而在这个二维平面中去实现一个三维效果。就像套娃一样,屏幕中有个屏幕,我们将其称作虚拟体积。
光追是光线追踪的简称。光追是我们在虚拟体积之中,实现一个三维效果,使其符合我们屏幕中的三维空间的特性的基础手段。从而使我们通过屏幕看起来,它真的像个三维物体而不是呈现二维平面感。
使用这种技术的云,会具有面片云的可控位置以及相对低消耗的优势。也会具有模型云的可变顶点数据带来的云层多变的可能性。总体来看是一个相对优势的方案。
但这并不意味它没有缺陷,因为基于光追技术,所以自然也就继承了光追的特性,随着占比屏幕像素越多,其计算开销也是会逐步增大。而且因为光追的迭代次数问题,需要保证近看细节仍然不丢失,就需要增大计算迭代次数,计算开销也是会随之提升。

综合以上列举的方案,针对开放动态大世界来说,严格意义上并没有合适的方案。开放动态的天空也就意味着,我们随时看向天空的时候,天空都是不一样的,而且无论什么角度、远近、光照情况下,它都需要是合理的。这个看似不可能的目标,才是我们需要为之去努力(头秃)的方向。
而在天空的云层动态实现后,动态环境的基础才算是真正完成了。
某日,某矿工发了一张图给工头。

【实验室】次元壁挖掘日志(七)|未定界 - 第1张某矿工:老大,之前说的动态云影已经做完了,你的云什么时候搞完?
工头:别催了,再催就是有生之年。

想关注更多【未定界】资讯,请加入未定界官方讨论群

© 2022 3楼猫 下载APP 站点地图 广告合作:asmrly666@gmail.com