在统一中通过脚本更改skybox会使场景中的所有游戏对象都变得超级黑暗



我想根据玩家选择的skybox,通过脚本更改游戏中的skybox。这是的代码

if(SaveGame.Load<string>("Map").Contains("Night"))
{
dayLight.SetActive(false);
nightLight.SetActive(true);
RenderSettings.skybox =skyboxes[1];
}
else if(SaveGame.Load<string>("Map").Contains("Day"))
{
dayLight.SetActive(true);
nightLight.SetActive(false);
RenderSettings.skybox =skyboxes[0];
}

我可以确认错误不在SaveGame.Load<string>("Map),因为它确实改变了skybox。它改变了它从晚上到白天。然而,我的场景中的所有游戏对象都变得超级暗淡和黑色。我解决这个问题的唯一方法是将skybox材质从"项目"选项卡拖动到场景视图中,所有东西都会再次变亮,但当我从脚本中进行操作时,它会非常暗。控制台中也没有任何错误。我该如何解决这个问题?

如果使用动态全局照明(Dynamic GI(,则需要在更改skybox后更新环境立方体贴图。可以这样做:

DynamicGI.UpdateEnvironment();

相关内容

  • 没有找到相关文章

最新更新