if(GUI.Toggle(new Rect(200,200,50,50),isTrue,"",)){
isTrue=true Transform.Find("camera1").GetComponent().enabled=true
Transform.Find("camera2").GetComponent().enabled=false
}
else {
isTrue=false
Transform.Find("camera1").GetComponent().enabled=false
Transform.Find("camera2").GetComponent().enabled=true
}
然后你也可以在GUISkin改一下Toggle的样式,我的思路大致是这样,细节部分你自己再弄一下吧,我也没试,还可以建立两套灯光,也用类似的方法,一个开的时候另一个关上
这个有几个方法:
1. 做几个Skybox,然后一定时机切换。比如:
function SetSkyLight() {if (daytime) {
RenderSettings.skybox = daySky
skyLight.color = dayColor
}
else {
RenderSettings.skybox = nightSky
skyLight.color = nightColor
}
}
2. 写 Shader 来控制天空贴图的混合
3. 做个方向光,是主光源,用来模拟太阳,然后旋转整个场景或方向光,相当于旋转地球。
4. 用插件,比如 time of day 插件,日夜交替、大气散射、云雾变化、天气系统、日月光照,这些都有。Unity 5 之后的案例工程也有展示日夜轮换的内容。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)