2016-04-03 333 views

回答

1

你會想在着色器中進行混合,有one on the Unify wiki可以混合兩個天空盒。

你需要使用(使用material.SetTexture)時,它的完成他們的2之間的混合腳本來獲得混合

+0

之間4.我已經設置了着色器的作用交換了紋理的材料和材質和天空盒融合使用滑塊。我如何在我的代碼(c#)中編寫它,使它逐漸從blend = 0.0動畫到blend = 1?我知道你可以使用\t \t \t \t skyboxmaterial.SetFloat(「_ Blend」,blendNumber); 但我需要混合數量在設定的時間內逐漸遞增。 –

+0

您可以使用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

+0

然後,如果_Blend參數的範圍是0到1,你可能不需要Lerp,你可以使用Time.deltaTime自己增加一個計時器變量並使用它。 – Rtyper