public class example : MonoBehaviour { public Color colorStart = Color.blue; public Color colorEnd = Color.green; public float duration = 1.0F; void Update() { float lerp = Mathf.PingPong(Time.time, duration) / duration; RenderSettings.skybox.SetColor("_Tint", Color.Lerp(colorStart, colorEnd, lerp)); } }
修改天空盒材质的例子(C#):
// 加载所有 skybox 纹理 Texture2D sbFront = Resources.Load("Texture/Skybox/skybox_Front") as Texture2D; Texture2D sbBack = Resources.Load("Texture/Skybox/skybox_Back") as Texture2D; ...
// 创建新的 SkyBox 材质 Material mySkyBoxMat = new Material(Resources.Load("Shaders/myOwnSkyboxShader") as Shader);
public class SkyboxSetter : MonoBehaviour { // 创建Skybox材质 public static Material CreateSkyboxMaterial(SkyboxManifest manifest) { Material result = new Material(Shader.Find("RenderFX/Skybox")); result.SetTexture("_FrontTex", manifest.textures[0]); result.SetTexture("_BackTex", manifest.textures[1]); result.SetTexture("_LeftTex", manifest.textures[2]); result.SetTexture("_RightTex", manifest.textures[3]); result.SetTexture("_UpTex", manifest.textures[4]); result.SetTexture("_DownTex", manifest.textures[5]); return result; }
public Texture2D[] textures;
void OnEnable() { SkyboxManifest manifest = new SkyboxManifest(textures[0], textures[1], textures[2], textures[3], textures[4], textures[5]); Material material = CreateSkyboxMaterial(manifest); SetSkybox(material); enabled = false; }