Unity 使用一种称为阴影贴图的技术来渲染实时阴影。
阴影贴图使用称为阴影贴图的纹理。阴影贴图类似于深度纹理。灯光以类似于 摄像机一个组件,它创建场景中特定视点的图像。输出要么绘制到屏幕上,要么捕获为纹理。 更多信息
参见 词汇表 生成深度纹理的方式生成阴影贴图。如果你想象一个与灯光位于相同位置的摄像机,摄像机看不到的场景区域与灯光射线无法到达的场景区域相同;因此,它们处于阴影中。
Unity 使用有关灯光射线在击中表面之前传播的距离的信息填充阴影贴图,然后对阴影贴图进行采样以计算 游戏对象Unity 场景中的基本对象,可以代表角色、道具、场景、摄像机、航点等等。游戏对象的的功能由附加到它的组件定义。 更多信息
参见 词汇表 的实时阴影,这些游戏对象被灯光照射。
有关阴影贴图的更多信息,请参见 维基百科上的阴影贴图页面。
灯光阴影贴图的分辨率决定了其阴影贴图的大小。阴影贴图越大,阴影越精确,Unity 捕获阴影投射几何体中的小细节越好。以更高分辨率渲染阴影贴图会使它们看起来更清晰。
Unity 为每个灯光渲染的阴影贴图数量取决于灯光的 类型
Unity 将尝试根据场景中需要的阴影贴图数量以及阴影图集的大小来使用最佳分辨率。
点光源的尺寸下限低于其他类型,因为它们使用立方体贴图来生成阴影。这意味着六个 立方体贴图六个方形纹理的集合,可以代表环境中的反射或绘制在几何体后面的天空盒。这六个方形构成了一个包围物体的假想立方体的面;每个面代表沿世界轴方向(上、下、左、右、前和后)的视图。 更多信息
参见 词汇表 面必须同时保留在视频内存中。它们也相当昂贵,因为潜在的阴影投射器可能需要渲染到所有六个立方体贴图面中。