跳转至

2.3 环境与后处理

IdeaVR 2021的环境是一种资源类型,常用于 WorldEnvironmentCamera 节点。我们可以在环境资源中设置画面背景和很多后处理效果。 环境背景可设置背景天空、环境光、雾和景深模糊效果。 后处理包括SSR、SSAO、Bloom、发光、色彩校正、色调图、自动曝光模式。他们本身都是默认关闭的,需要我们主动去开启他们。

创建环境

快速创建全景天空

通过 快速创建-环境-全景天空 添加,可以看到环境背景变成了一张蓝色天空的全景图,同时场景树中增加了一个 WorldEnvironment 节点。

imageCover 展开节点属性可看到当前背景模式为天空,点击天空资源能看到当前引用的全景图片。

利用好环境库

IdeaVR2021提供了非常丰富好用的环境库,里面有相当多的全景天空素材可供用户选择使用。

imageCover 具体使用方式是选择“资源->环境库”,通过这样子的选择之后,就可以看到里面出现了很多素材。点击素材的下载按钮之后,等待下载完毕。将素材拖到场景中即可快速开始使用。

世界环境或相机节点

环境还有两种不同的添加方式,分别在世界环境节点或相机节点的属性面板上作为资源加载。

世界环境节点 通过新建节点搜索 WorldEnvironment 创建世界环境节点,然后在属性面板中可新建环境或加载环境资源。

imageCover

温馨提示

可以将WorldEnvironment节点添加到任何场景,但是每个活动场景中只能存在一个。添加多个将导致警告。

相机节点 在相机节点的属性面板中,环境一栏可新建环境或加载环境资源。

imageCover

温馨提示

相机上设置的环境将覆盖场景树中的环境效果,并且只在相机节点启用时有效。

默认环境

新建项目带有默认环境(default_env.resource),一般存储于res://DefaultRes文件夹。 当场景中没有WorldEnvironment节点时将显示默认环境。如需更改,可在项目设置->渲染->环境中变更。 imageCover

温馨提示

直接更改默认环境(default_env.resource)会影响到所有场景,请谨慎编辑保存。

环境背景

以下是环境背景相关的属性及如何使用的详细说明

背景

“背景”部分包含有关如何填充背景(未绘制对象的屏幕部分)的设置。在IdeaVR2021中,背景不仅用于显示图像或颜色,还可以更改对象受环境光和反射光影响的方式。

背景模式: - “清除颜色”使用项目定义的默认清除颜色。背景将是指定的颜色。 - “自定义颜色”类似于“清除颜色”,但具有自定义颜色值。 - “天空”使您可以定义全景天空(360度球形纹理)或程序性天空(具有渐变和可选太阳的简单天空)。物体会反射它并吸收它的环境光。 - “颜色+天空”使您可以定义天空(如上所述),但是使用指定的颜色值绘制背景。天空仅用于反射和环境光。

清除颜色效果: imageCover

天空效果: imageCover

PanoramaSky: 利用全景图片渲染天空 - 全景: 处理好的天空盒图片,IdeaVR2021已经内置了一批高质量的全景球在资源下面的环境库中。您也可以在这里自行添加您自己的全景图片。

  • 辐射率的大小: 用于影响材质的基于真实物理属性(PBR)计算的参数,这里使用默认值128就可以了。

  • 天空自定义视场: 用于给天空盒一个畸变效果,可以用于一些特殊效果的制作。正常情况下建议视场值设为0,使用正常表现的天空盒。下面的x,y,z三个值分别代表天空盒的采样的UV值。使用默认的值(1,0,0)就能够得到标准的天空盒效果。

  • 天空旋转值: 需要给天空盒整体一个旋转角度的时候,可以设置这个值。可以制作一些特殊的画面效果。

  • 能量: 用这个值来控制天空盒整体的光照强度。

ProceduralSky: 色调图,通过不同区域的颜色自定义渲染天空 - 地面 : - 底部颜色: 地面底部的颜色值。 - 地平线颜色: 地平线部位的颜色值。
- 曲线: 地面底部的颜色随着曲线变化。 - 能量: 地面底部的颜色强度值。

  • 太阳 :

    • 颜色: 天空中太阳的颜色值。
    • 纬度: 通过修改纬度值控制天空中太阳的升降。
    • 经度: 通过修改经度值控制天空中太阳的水平位置。
    • 角度最小值: 控制太阳的大小。
    • 角度最大值: 控制太阳光晕的大小。
    • 曲线: 通过一条曲线来控制太阳的大小。
    • 能量: 通过该值来控制太阳强度的大小。
  • 纹理 :

    • 大小: 设置生成的程序天空纹理的大小,默认值1024。如果想要更高质量的程序天空纹理可以提高精度。
  • 天空 :

    • 顶部颜色: 天空的颜色值。
    • 地平线颜色: 天空靠近地面交界处的颜色值。
    • 曲线: 使用一根曲线来控制天空颜色的变化。
    • 能量: 天空的整体强度值。
    • 辐射率的大小: 用于影响材质的基于真实物理属性(PBR)计算的参数,这里使用默认值128就可以了。

天空自定义视场 : 用于给天空盒一个畸变效果,可以用于一些特殊效果制作。正常情况下建议视场值设为0,使用正常表现的天空盒。下面的x,y,三个值分别代表天空盒的采样的UV值。使用默认的值(1,0,0)就能够得到标的天空盒效果。

天空方向 : 用来设置天空的方向,这里使用默认值即可。需要制作特殊果时可以设置使用。

天空旋转度 : 需要给天空盒整体一个旋转角度的时候,可以设置这个值可以制作一些特殊的画面效果。

能量 : 用这个值来控制天空盒整体的光照强度。

环境光

环境光(如此处定义)是一种以相同强度影响每个几何体的光。它是全局的,与可能添加到场景中的灯光无关。

有两种类型的环境光:环境颜色(一种指定颜色乘以材质反照率得到最后材质显示结果),然后从天空获得一种 (如前所述,但是需要将天空设置为背景才能启用)。

imageCover

将天空设置为背景时,可以使用“天空作用”设置在环境颜色和天空之间进行混合(为方便起见,此值默认为1.0,因此只有天空会影响对象)。

这是不同的环境光如何影响场景的比较:

imageCover

最后,有一个能量设置,它是一个乘数。使用HDR时非常有用。

通常,环境光应仅用于简单的场景,较大的外部环境或出于性能考虑(环境光性能高),因为它不能提供最佳的照明质量。最好从ReflectionProbe或GIProbe生成环境光,这将更忠实地模拟间接光的传播方式。以下是在质量方面使用平面环境颜色和GIProbe的比较:

imageCover

使用上述方法之一,模型对象获得的环境照明是来自于探针的环境光。

在现实生活中,雾会使远处的物体逐渐消失。物理效果实际上很复杂,但是IdeaVR2021提供了一个很好的近似模拟。IdeaVR2021中有两种雾: - 深度雾 :此项基于距相机的距离而产生不同的效果。 - 高度雾 :此项的效果显示条件是高度低于(或高于)一定高度,无论与相机之间的距离如何。

imageCover

这两种雾类型均可调整其曲线,使其过渡或多或少变得更加平滑或者清晰。

可以调整两个属性以使雾效果更加有趣:

第一个是日照量,它利用了雾的太阳的颜色属性。当朝着定向光(通常是太阳)看时,雾的颜色将改变,模拟通过雾的阳光。

第二个是“启用透光率”,它可以模拟更逼真的透光率。实际上,它使光线在雾中更明显。

imageCover

景深模糊

此效果模拟高端相机上的焦距。它模糊给定范围内的对象。它的初始距离带有一部分平滑过渡的效果(以世界单位为单位):

imageCover

数量用来控制模糊的强度,对于较大范围的模糊,可能需要调整质量来确保更好的效果。

通常同时使用这两种模糊来模糊近景和远景,以使观看者的注意力集中在给定的对象上:

imageCover

后处理

!!! 温馨提示:

除SSAO外,其余后处理效果需要打开编辑器的“详细”模式

屏幕空间环境光遮蔽(SSAO)

如“环境”部分所述,该节点功能的作用是让光源无法到达的区域(因为它在半径范围之外或被遮蔽)能够受到环境光的影响。IdeaVR2021可以使用GIProbe,ReflectionProbe,天空或恒定的环境颜色对此进行模拟。然而,问题在于,先前提出的所有方法在较大的规模(较大的区域)上比在较小的区域上面效果更好。

环境颜色和天空在任何地方都是相同的效果,不会产生AO。而GIProbe和ReflectionProbe虽然具有更多局部细节,但是对于一些特殊位置的AO效果却无法模拟。

“屏幕空间环境光遮挡”就是来补足他们的不足之处。如下图所示,其目的是确保凹入区域更暗,模拟真实物理世界的表现:

imageCover

打开灯光的时候,发现无法观察到SSAO是一个常见的问题。这是因为SSAO仅作用于环境光,而不作用于直射光。

这就是为什么在上图中,在直射光下(左侧)效果不太明显的原因。如果您也想强制SSAO使用直接光,请使用Light Affect参数(就算这样子产生的效果会有问题,但是相信一些艺术家还是会喜欢它的)。

当SSAO与GIProbe结合使用时,看起​​来效果最好。

imageCover

可以通过下面几个参数来调整SSAO:

imageCover

  • 半径 : 这个参数用来控制遮挡剔除的影响范围(半径)。
  • 强度 : 这个参数用来控制遮挡剔除的效果强度。
  • Radius2 : 这个参数用来控制二次遮挡剔除的影响范围(半径)。
  • Intensity2 : 这个参数用来控制二次遮挡剔除的效果强度。
  • 偏差 : 可以对它进行调整,以解决自我遮挡的问题,尽管默认设置通常效果很好。
  • 光线影响 : 这个参数用来控制二次遮挡剔除的影响范围(半径)。
  • Ao通道影响 : 如果使用零值,则仅将材质的AO纹理用于环境光遮挡;SSAO将不适用。大于0的值在不同程度上将AO纹理乘以SSAO效果。这不会影响没有AO纹理的材料。
  • 质量 : 根据质量,SSAO将为每个像素采集更多样本。高质量只能在现代GPU上发挥作用。
  • 模糊 : 使用的不同模糊内核来产生模糊。1x1内核是一个简单的模糊,可以更好地保留局部细节,但模糊效果不好(通常在高质量设置下效果更好)。而3x3模糊内核则可以更好地柔化图像(有点抖动效果),但是无法保留本地细节。
  • 边缘锐度 : 可以用于保留边缘的清晰度。

屏幕空间反射(SSR)

虽然IdeaVR2021支持三种反射数据源(Sky,ReflectionProbe和GIProbe),但它们可能无法为所有情况提供足够的细节。模型对象彼此接触时屏幕空间反射效果最明显(例如:当模型对象在地板上,桌子上,在水上漂浮时等等情况)。

imageCover

另一个优点是(即使在启用的同时,值设置到最小)它也可以实时工作(而其他类型的反射是预先计算的)。可以在相机移动过程中使角色,汽车等在周围的表面上产生反射。

参数设置 : - 最大步长: 确定反射的长度。此数字越大,计算成本就越高。 - 淡入: 允许调整淡入曲线,这有助于使接触区域更柔和。 - 淡出: 允许调整淡出曲线,在淡出区域里面能够获得更加平滑的表现。 - 深度阈值: 这个值是用来设置SSR误差的。值越大,将产生更多的效果误差。 - 粗糙度: 根据场景中材质的粗糙度来设置屏幕空间区域的模糊效果,来让最终该区域的画面表现近似相应模型的原本材质表现。

温馨提示

请记住,屏幕空间反射(SSR)仅适用于不透明物体。不适用于透明对象。

发光(Bloom)

在摄影和电影中,当光量超过媒体(模拟或数字)支持的最大光量时,通常会向外渗出到图像的较暗区域。这在IdeaVR2021中使用发光效果进行了模拟。

imageCover

默认情况下,即使启用了效果,效果也会很弱或不可见。要实际显示,需要满足以下两个条件之一:

    1. 像素中的光超过HDR阈值(其中0是所有光都超过HDR阈值,而1.0是超过色调映射器White值的光)。通常,该值预计为1.0,但可以降低该值以允许更多的光渗出。还有一个额外的参数HDR Scale,它允许缩放(超过或超过)阈值的光(使更亮或更暗)。

imageCover

    1. Bloom效果的值设置为大于0。随着它的增大,整个屏幕会有更加强烈的光晕效果。

imageCover

两者都会导致光线开始从较亮的区域溢出。

一旦看到发光,就可以使用一些额外的参数进行控制: - 强度 是效果的总体等级,可以使光晕效果更强或更弱(0.0将其删除)。 - 力度 是用来控制画面的模糊范围。通常,不需要更改此设置,因为可以使用“级别”更有效地调整大小。

效果的混合模式也可以更改:

  • Additive 是最强的一种,因为它只是在图像上增加了发光效果,而没有混合。通常,它太坚固而无法使用,但在低强度Bloom时看起来会很好(产生类似梦的效果)。
  • 屏幕 是默认模式。它确保发光永远不会比自身更亮,并且在周围环境中都可以正常工作。
  • Softlight 是最弱的一种,只会在物体周围产生细微的颜色干扰。此模式在黑暗场景下效果最佳。
  • 替换 可用于模糊整个屏幕或调试效果。它仅显示发光效果,而没有下面的图像。

要更改发光效果的大小和形状,IdeaVR2021提供了Levels。较小的级别是对象周围出现的强烈光晕,而较大的级别是覆盖整个屏幕的朦胧发光:

imageCover

级别系统的真正优势在于结合了等级的概念来创建光晕:

imageCover

勾选启用双三次高档可以有效的柔滑,平滑块状的光晕:

imageCover

色彩校正

IdeaVR2021提供了最终画面调整的功能。

imageCover

勾选启用之后,我们可以用亮度值,对比度值,饱和度值来改变画面的亮度,对比度,饱和度。

imageCover

色彩校正是通过提供颜色校正梯度。规则的黑白渐变不会产生任何效果(您可以使用下面这张图片来校正画面):

imageCover

校正之后的结果:

imageCover

色调图

在电影和游戏行业中经常使用色调图来调整画面色调,色调映射可以让明暗区域更加均匀,色调映射选项包括: - 模式 : 色调映射模式,可以是线性,Reindhart,Filmic或Aces。 - 曝光 : 色调映射曝光,可模拟一段时间内接收到的光量,类似摄影里面的曝光度属性。 - 白色 : 色调映射白色,它模拟白色整个画面中所占据的大概比例。

自动曝光模式

在大多数情况下,照明和纹理都是由艺术家来负责制作,但IdeaVR2021通过自动曝光机制支持简单的高动态范围实现。通常该属性用来模拟从较暗的室内走向室外时,人的眼睛所看到的曝光的真实现象。

imageCover

自动曝光模式中的默认值是符合真实物理效果的,正常情况下您不需要对其进行调整。但是如果有些制作特殊效果的需求,您仍然可以调整它的参数: - 缩放 : 缩放照明的值。较亮的值产生较亮的图像,较小的值产生较暗的图像。 - 最小亮度 : 自动曝光将要调整的最小亮度。 - 最大亮度 : 自动曝光将要调整的最大亮度。 - 速度 : 亮度自行校正的速度。值越高,校正越快。