这是我的基于回合制策略游戏《垃圾之王》:https://store.steampowered.com/app/2450400/Trash_of_the_Titans/ 我为地图块创建了一个空间图像纹理,并为所有关卡块创建了法线图。 我将每个被照亮的对象的 ID 编码在其自我调节中,并使用该 ID 查找全局纹理中的 3D 位置、最靠近的光源 ID 和其他一些东西。 然后,我在一个存储关卡中的光源颜色和 3D 位置的照明数据纹理中查找这些光源,并根据光源距离和 3D 正常向量计算表面的照明效果。 或许有点过度工程化,但我对结果还是挺满意的!