我如何才能缓慢而流畅地更换天箱。在我的代码中,它将检查振幅是否小于0.7。它现在可以工作了,但当我测试它时,它会突然改变,我想慢慢地改变它。有什么想法吗?感谢你们的回答伙计们。非常感谢!
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class DayNight : MonoBehaviour {
public Light light;
public Material nightSkyBox;
public Material daySkyBox;
public float duration;
void Update() {
float phi = Time.time / duration * 2 * Mathf.PI;
float amplitude = Mathf.Cos (phi) * 1.0f + 1.0f;
light.intensity = amplitude;
if (amplitude <= 0.7f) {
RenderSettings.skybox = nightSkyBox;
light.color = new Color32 (68, 170, 255, 255);
} else {
RenderSettings.skybox = daySkyBox;
light.color = new Color32 (255, 181, 99, 255);
}
}
}发布于 2019-02-10 20:11:24
对于这个用例,我建议你使用unity内置动画系统。只需为你的相机创建一个动画师,并通过黑夜和白天的关键帧改变天框
发布于 2019-05-23 23:27:18
我现在不能测试,但你应该可以做这样的事情。针对不同的计时调整浮动参数。
RenderSettings.skybox.Lerp(daySkyBox,nightSkyBox,1f);
你可能得再回一次白天的时间
https://stackoverflow.com/questions/54616193
复制相似问题