局限

EEVEE’s goal is to be an interactive render engine. Some features may not be there yet or may be impossible to implement into EEVEE’s architecture without compromising performance.

Here is a rather exhaustive list of all the limitations you can expect while working with EEVEE.

相机

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

灯光

  • Only 128 active lights can be supported by EEVEE in a scene.

  • 只能同时支持8个阴影太阳灯。

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

光照探头

  • EEVEE only supports up to 128 active Reflection Cubemaps.

  • EEVEE only supports up to 64 active Irradiance Volumes.

  • EEVEE only supports up to 16 active Reflection Planes inside the view frustum.

间接光照明

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

  • EEVEE does not support “specular to diffuse” light bounces nor “specular to specular” light bounces.

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

阴影

  • Only 128 active lights can be supported by EEVEE in a scene.

  • 只能同时支持8个阴影太阳灯。

体积

  • 仅支持单散射。

  • 体积测量只在相机的 “射线 “中呈现。它们不会出现在反射/折射和探测中。

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

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

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

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

景深

  • Alpha混合的表面不能被后处理模糊处理,但会被基于样本的方法正确处理。为此,你需要通过将 最大尺寸 设置为0来禁用后处理的景深。

屏幕空间效果

EEVEE is not a ray tracing engine and cannot do ray-triangle intersection. Instead of this, EEVEE uses the depth buffer as an approximated scene representation. This reduces the complexity of scene scale effects and enables a higher performance. However, only what is in inside the view can be considered when computing these effects. Also, since it only uses one layer of depth, only the front-most pixel distance is known.

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

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

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

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

  • 作为 排除集合 的一部分的对象将不会渲染成屏幕空间效果。

环境光遮蔽

  • 物体被视为无限厚,如果 距离 真的很大,就会产生遮挡现象。

屏幕空间反射

  • 只有一个有光泽的BSDF可以发出屏幕空间反射。

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

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

屏幕空间折射

  • 仅正确模拟了一个折射事件。

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

次表面散射 (SSS)

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

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

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

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

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

运动模糊

运动模糊 仅在最终渲染中适用,不会在视口中显示包括 视图渲染

材质

折射

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

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

体积物体

对象体积着色器将影响到对象的整个边界盒。体积的形状必须在着色器内使用程序性纹理进行调整。

着色节点

  • All BSDF’s are using approximations to achieve realtime performance so there will always be small differences between Cycles and EEVEE.

  • Some utility nodes are not yet compatible with EEVEE.

See also

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

内存管理

In EEVEE, GPU Memory management is done by the GPU driver. In theory, only the needed textures and meshes (now referred as “the resources”) for a single draw call (i.e. one object) needs to fit into the GPU memory.

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

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

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

CPU渲染

Being a rasterization engine, EEVEE only uses the power of the GPU to render. There is no plan to support CPU (software) rendering as it would be very inefficient. CPU power is still needed to handle high scene complexity as the geometry must be prepared by the CPU before rendering each frame.

多GPU支持

目前不支持多 GPU 系统。

无头(窗)渲染

There is currently no support for using EEVEE on headless systems (i.e. without a Display Manager).