阴影/Blender

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

内容

准备Blender视口

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

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

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

阴影过滤类型

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

有关使用示例,请查看 Tea Ceremony 演示(也可在资源商店中找到)。

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),在线寻求帮助。