Unity/Shader/skybox/徐々に変更/色
提供: 初心者エンジニアの簡易メモ
色が暗くなったり、明るくなったりするサンプル
Shaderを作成し、Skybox/Procedualを設定
using UnityEngine;
public class SkyboxColorScene : MonoBehaviour
{
[SerializeField] Material skyboxMaterial;
[SerializeField] bool orderFlag = true;
[SerializeField] Color color;
Material tmpSkyboxMaterial;
void Start()
{
tmpSkyboxMaterial = new Material(skyboxMaterial); // skyboxMaterialのMaterialAssetの値が変化するのを防止
RenderSettings.skybox = tmpSkyboxMaterial;
// Skybox/Procedualを使う
tmpSkyboxMaterial.SetColor("_SkyTint", Color.white);
}
void Update()
{
color = tmpSkyboxMaterial.GetColor("_SkyTint");
Debug.Log("color.r=" + color.r);
if (color.r > 1)
{
orderFlag = true;
}
else if (color.r < 0)
{
orderFlag = false;
}
if (orderFlag)
{
color -= new Color(0.01f, 0.01f, 0.01f);
}
else
{
color += new Color(0.01f, 0.01f, 0.01f);
}
tmpSkyboxMaterial.SetColor("_SkyTint", color);
}
}
