阴影/Blender

这里描述了在 Verge3D 中为 Blender 设置漂亮实时阴影的设置和最佳实践。

内容

本节是为Blender 2.81(或更高版本)编写的。旧版Blender的阴影设置略有不同。

准备Blender视口

建议按照本节所述设置Blender的视口,让配置阴影更加容易。

Verge3D的目标是类似于Blender的Eevee渲染器。按照以下说明启用:

另请注意,Verge3D并不像Blender那样支持柔和阴影(Soft Shadows)。Blender的柔和阴影选项可以实现渐变的阴影渲染,但Verge3D依赖于实时渲染技术。鉴于上述情况,禁用柔和阴影选项可能更好。另外,为了在Verge3D中实现柔和阴影,可以尝试不同的 阴影过滤方法 ,并调整 阴影模糊半径 的设置。

阴影过滤类型

使用不同的阴影图过滤算法,会在Verge3D场景生成明显差异的阴影。请在渲染属性选项卡中的阴影贴图过滤(Shadow Map Filtering)属性中指定算法。

Basic - 基本

禁用过滤,按原样渲染阴影贴图。这是渲染阴影的最快的方法。

Bilinear - 双线性

使用双线性滤波平滑相邻阴影贴图像素。

PCF

Percentage Closer Filtering,代表 “百分比近距离过滤”。使用多个阴影贴图查询以实现平滑的阴影渲染。质量和性能一般。

PCF (Bilinear) - 双线性PCF

与PCF类似,但对每个阴影贴图查询使用双线性插值。在牺牲更多计算能力的情况下提供平滑的阴影。

PCF (Poisson Disk) - 泊松碟采样PCF

使用伪随机 泊松碟 采样来消除PCF阴影的像素化。这被作为默认设置,因为它最符合您在3D编辑器视口中看到的效果。其性能与双线性PCF算法相当或更好。

ESM

Exponential Shadow Maps,代表指数阴影贴图。阴影是最平滑的,但有可能出现漏光。在灯光上使用 ESM偏移 设置来消除漏光伪影。其性能与双线性PCF算法相当。ESM阴影的设置可能特别棘手,因此请参见 故障排除 章节中的ESM相关问题。

选择哪种过滤类型?

建议首先尝试默认的 泊松碟PCF 阴影,因为它们具有良好的质量和性能。如果您需要质量较低但速度更快的阴影,请尝试 基础双线性。如果您需要更好的质量、更柔和的阴影,可以尝试 ESM ,但缺点是它们对于特定场景的设置(伪影方面)可能很棘手。

全局设置

阴影的渲染是通过Blender的阴影Verge3D Settings面板来调整的,这些面板位于渲染属性选项卡中。

方块大小(Cube Size)
阴影贴图的大小,用于 点光源聚光灯面光 投射的阴影。较高的数值可以提供更好的质量,但会降低性能。
级联尺寸(Cascade Size)
日光 投射的阴影贴图的大小。较高的值可以提供更好的质量,但会降低性能。
光线阈值(Light Threshold)
用于计算阴影体积距离的光照强度阈值。
启用阴影(Enable Shadows)
在Verge3D中启用/禁用阴影。
阴影贴图过滤(Shadow Map Filtering)
阴影贴图过滤算法。见 上文
阴影贴图面(Shadow Map Side)
表示在阴影通道中对多边形的哪一面进行渲染。调整以消除自阴影伪影,或当被渲染的是普通模型时(如树叶或纸张)请调整此值。
ESM距离比例(ESM Distance Scale)
ESM阴影的缩放系数。由于ESM过滤算法使用的是绝对距离值,如果您正在处理的场景比默认的立方体大得多,那么就减少这个比例值,如果您的场景小得多,就增加这个比例。默认为1。只对 ESM 阴影作用。

每个灯光的设置

可以使用阴影Verge3D Settings面板为每个单独的灯光启用、禁用或调整阴影。

剪切开始(Clip Start)
接近剪切距离,较高的值可能会略微改善阴影质量。
偏移(Bias)
应重点调整的参数,以消除自阴影伪影阴影悬浮效果。注:Peter Panning - 阴影悬浮,这个词的名字来源于童话人物彼得潘(他的影子与身体分离并且可以飞翔),此伪影使对象看起来像是悬浮在地表。
模糊半径(Blur Radius)
指定值为1以使阴影更平滑(增加阴影的模糊度)。这个参数只对 PCF双线性PCF泊松碟采样PCFESM 阴影起作用。
ESM偏移(ESM Bias)
偏离一定数值以减少ESM的 漏光 伪影。只对 ESM 阴影作用。

每个对象/材质的设置

可以通过设置面板为每个单独的材质启用或禁用阴影。

阴影模式
材质的阴影投射模式。目前只支持(None)不透明(Opaque)

可以通过Verge3D Settings面板为每个对象单独启用或禁用阴影接收。

接收阴影(Rceive Shadows)
在给定的对象上渲染阴影或不渲染阴影。

配置日光阴影

由于Verge3D还不支持级联阴影贴图,您必须按照以下步骤来配置日光的阴影。

  1. 将级联的数量设置为1。
  2. 使用视图 -> 摄影机 -> 活动摄影机 菜单或按下数字小键盘的0键转到活动摄影机视图。
  3. 调整最大距离参数。

故障排除

Verge3D中的阴影和Blender视口中的阴影看起来不同

阴影看起来太像素化了

在Blender视口中可见阴影,但在Verge3D中没有。

阴影有伪影

阴影没有半影区或半影区很小

ESM阴影看起来变淡了

ESM的阴影看起来太尖锐或没有半影

ESM阴影有伪影

遇到问题?

欢迎您随时在 论坛上提问!您还可以加入中文用户社区QQ群(171678760),在线寻求帮助。