「Unity/Shader/skybox/徐々に変更/色」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→色が暗くなったり、明るくなったりするサンプル) |
(→色が暗くなったり、明るくなったりするサンプル) |
||
行12: | 行12: | ||
void Start() | void Start() | ||
{ | { | ||
− | tmpSkyboxMaterial = | + | tmpSkyboxMaterial = Instantiate(skyboxMaterial); // skyboxMaterialのMaterialAssetの値が変化するのを防止(実行のたびにgitで差分が出ないように) |
RenderSettings.skybox = tmpSkyboxMaterial; | RenderSettings.skybox = tmpSkyboxMaterial; | ||
// Skybox/Procedualを使う | // Skybox/Procedualを使う |
2022年12月10日 (土) 02:20時点における最新版
色が暗くなったり、明るくなったりするサンプル
Shaderを作成し、Skybox/Procedualを設定
using UnityEngine; public class SkyboxColorScene : MonoBehaviour { [SerializeField] Material skyboxMaterial; [SerializeField] bool orderFlag = true; [SerializeField] Color color; Material tmpSkyboxMaterial; void Start() { tmpSkyboxMaterial = Instantiate(skyboxMaterial); // skyboxMaterialのMaterialAssetの値が変化するのを防止(実行のたびにgitで差分が出ないように) 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); } }