我想根据玩家选择的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();