Unity 3D从一个天空盒褪色到另一个天空盒
问题描述:
我有四个不同的天空盒,每个季节在我的游戏中有一个。Unity 3D从一个天空盒褪色到另一个天空盒
如何在c#中的天空盒之间创建淡入淡出过渡?
因此,例如,在某个时间点,夏季天空盒会渐渐变成秋季天空盒。
谢谢!
我有四个不同的天空盒,每个季节在我的游戏中有一个。Unity 3D从一个天空盒褪色到另一个天空盒
如何在c#中的天空盒之间创建淡入淡出过渡?
因此,例如,在某个时间点,夏季天空盒会渐渐变成秋季天空盒。
谢谢!
之间4.我已经设置了着色器的作用交换了纹理的材料和材质和天空盒融合使用滑块。我如何在我的代码(c#)中编写它,使它逐渐从blend = 0.0动画到blend = 1?我知道你可以使用\t \t \t \t skyboxmaterial.SetFloat(“_ Blend”,blendNumber); 但我需要混合数量在设定的时间内逐渐递增。 –
您可以使用Mathf.Lerp(开始,结束,时间)来获取两个值之间的值,其中时间介于0和1之间。使用它的简单(但技术上是错误的)方式如下所示: 'material .SetFloat(“_ Blend”,Mathf.Lerp(material.GetFloat(“_ Blend”),1,Time.deltaTime));' 但是这样可以让您在开始时快速融合,并在达到之前减速停止1.最好的方法是在本文中阐述:https://chicounity3d.wordpress.com/2014/05/23/how-to-lerp-like-a-pro/ – Rtyper
然后,如果_Blend参数的范围是0到1,你可能不需要Lerp,你可以使用Time.deltaTime自己增加一个计时器变量并使用它。 – Rtyper