限制

Eevee的目标是成为交互式渲染引擎。在不影响性能的前提下,一些功能还没有加入或不可能整合进Eevee的架构中。

以下是在使用Eevee时你可以预见到的功能限制详尽列表。

相机

  • 目前只支持透视和正交。

灯光

  • Eevee场景中仅支持最多128个激活灯光。

  • 只能同时支持8个投影阳光。

  • 到目前为止, 灯光只能有一种颜色, 不支持灯光节点组。

光照探针

  • Eevee仅支持至多128个活动立方体反射贴图。

  • Eevee仅支持至多64个活动的体积辐射。

  • 在相机视野内,Eevee仅支持最多16个活动的反射平面。

间接光照明

  • 体积不接收体积辐射光但接收世界环境漫射照明。

  • Eevee既不支持“镜面到漫反射”的光反弹,也不支持“镜面到镜面”的光反弹。

  • 在烘焙过程中,所有镜面照明都会关闭。

阴影

  • Eevee场景中仅支持最多128个激活灯光。

  • 只能同时支持8个投影阳光。

体积

  • 仅支持一次散射。

  • 只在相机光线中渲染体积。 它们在屏幕空间反射/屏幕空间折射和光照探针不可见。

  • 体积不接收体积辐射的光照但接收世界环境漫射照明。

  • 体积阴影仅在其它体积物体上有效。它们不能在场景实物上投射阴影。

  • 仅在视锥体(视野)中的体积会有阴影。

  • 体积光照明不支持设置灯光形状。它们都被视为点光。

Depth of Field

  • Rendered at half resolution which can create blocky pixel artifacts on tiny features that are nearly in focus.

  • The near and far defocus buffers are in fact one single continuous texture. This can make some bleeding appear on the left and right size of the image. This can be fixed by using the overscan feature.

屏幕空间效果

Eevee不是光线追踪引擎,不会计算全部的光线反弹。而是使用深度缓冲区作为近似场景表示,这会降低场景缩放效果的复杂性并实现了更高的性能。 eevee计算那些效果时,仅计算视图范围的内容。另外它只利用一层深度,因此仅知道最前面的像素距离。

这些限制会产生一些问题。

  • 屏幕空间效果会在屏幕(视图)边框消失。可以使用 过扫描 功能来修复此问题。

  • 屏幕空间效果缺乏深层信息(或者物体的厚度)。这就是为什么大多数效果都有厚度参数来控制如何考虑潜在的相交像素。

  • 这些效果不考虑混合表面。 它们不是深度预处理的一部分,不会出现在深度缓冲区中。

环境光遮蔽(AO)

  • 对象被视为无限厚,如果距离非常大,投影会混叠。

屏幕空间反射

  • 仅光泽BSDF支持屏幕空间反射。

  • 目前任意选择评估的BSDF。

  • 屏幕空间反射将使用屏幕空间折射反射透明对象和对象,但由于单层深度缓冲区而没有精确定位。

屏幕空间折射

  • 只有第一个折射是精确的。

  • 只能折射不透明或者alpha hashed材质的物体。

次表面散射

  • 只有一个BSSRDF可以产生屏幕空间次表面散射。

  • 目前任意选择评估的BSSRDF。

  • 最多254个次表面散射材质的物体。

  • 每个像素只能调整缩放比例。 单个RGB半径可在插槽默认值中调整。

  • 在模糊期间,每个表面的输入辐射不被隔离,导致光从表面泄漏到表面。

材质

折射

通过对光泽 BSDF使用的相同反射探头进行采样,但使用折射视图方向而不是反射视图方向来折射。 只有第一次折射事件才是精确的。 使用折射深度可以将第二折射事件的近似用于相对较薄的物体。 使用屏幕空间折射将折射视图内部可见的内容,并在没有命中时使用最近的探测器。

屏幕空间反射和环境光屏蔽(AO)与屏幕空间折射不兼容; 它们将在使用它的表面上禁用。 使用屏幕空间折射的曲面不会出现在屏幕空间反射的反射中。 使用屏幕空间折射的曲面不会将环境光屏蔽(AO)投射到其他曲面上。

凹凸贴图

As of now, bump mapping is supported using OpenGL derivatives which are the same for each block of 2×2 pixels. This means the bump output value will appear pixelated. It is recommended to use normal mapping instead.

Tip

如果您绝对需要使用Bump节点进行渲染,请以目标分辨率的两倍渲染并缩小最终输出。

体积物体

体积着色器将影响对象的整个边缘。 必须使用着色器内的程序纹理调整形状。

着色器节点

  • 所有BSDF都使用近似值来实现实时性能,因此Cycles和Eevee之间总会存在细微差别。

  • 某些实用节点尚未与Eevee兼容(例如 天空贴图节点)。

See also

不支持节点完整列表 节点支持.

内存管理

目前为止Eevee使用OpenGL,而且 GPU 内存处理由OpenGL驱动实现。理论上,只需要贴图和网格(现在称为“资源”)作为一次(例如 一个物体)合理的GPU内存的请求。

如果场景非常大,驱动会交换切换物体进出来保证所有物体被正确渲染。

在实践中,使用太多的GPU内存会导致GPU驱动崩溃,冻结,或终止其它应用程序。所以请小心做出您的请求。

目前没有好办法估计资源是否适合GPU内存,或者GPU是否能成功渲染它们。

CPU渲染

作为光栅化引擎,Eevee仅使用 :abbr:GPU(图形处理器,也叫显卡) 的功能进行渲染。不打算支持 :abbr:CPU(中央处理单元) 渲染,因为效率太低。但工作中仍然需要CPU来处理场景的复杂任务,因为在渲染每个帧之前必须由CPU准备几何数据。

多GPU支持

目前不支持多 GPU 系统

无头(窗)渲染

目前Eevee不支持无头渲染系统(例如没有显示管理器)。