我正在尝试为预制件烘烤照明,而我正在使用this解决方案来尝试这样做。但是,正如标题所示,它没有用。我发现问题出在这里的if
语句中
bool existsAlready = false;
int[] lightmapArrayOffsetIndex;
lightmapArrayOffsetIndex = new int[lightmaps.Length];
var settingslightmaps = LightmapSettings.lightmaps;
for (int i = 0; i < lightmaps.Length; i++)
{
for (int j = 0; j < settingslightmaps.Length; j++)
{
if (lightmaps[i] == settingslightmaps[j].lightmapColor)
{
lightmapArrayOffsetIndex[i] = j;
existsAlready = true;
}
}
}
其中lightmaps[]
是Texture2D[]
我所说的预制照明图是场景的第三个照明图。当for循环到达settingslightmaps[]
中的第三个元素时,if
语句返回false
。我尝试添加断点来调试代码,并且lightmaps[i]
和settingslightmaps[j]
的名称相同,但是if
语句 静止 返回false
。
为什么即使调试器告诉我它们指向相同的光照贴图,也为什么返回false,我该如何解决呢?