|
|
| (同じ利用者による、間の14版が非表示) |
| 行1: |
行1: |
| − | 公式のCubeBlend.shaderを使って行う
| + | [[Unity/Shader/skybox/徐々に変更/色]] |
| | | | |
| − | #Shaderのdirを作成して、新規でShaderを作り、"Skybox_CubeBlendShader"にファイル名を変更して、こちらをコピー
| + | [[Unity/Shader/skybox/徐々に変更/cubebox]] |
| − | https://github.com/TwoTailsGames/Unity-Built-in-Shaders/blob/master/DefaultResourcesExtra/Cubemaps/CubeBlend.shader
| + | |
| − | #Materialを新規作成して、InspectorのShaderを、Skybox/CubeBlendに変更する。
| + | |
| − | #2箇所のskyboxにcubemapをドラッグして設定。
| + | |
| − | | + | |
| − | | + | |
| − | <pre>
| + | |
| − | using System.Collections;
| + | |
| − | using UnityEngine;
| + | |
| − | | + | |
| − | public class SkyboxCubeBlend : MonoBehaviour
| + | |
| − | {
| + | |
| − | [SerializeField] Material _skyMat = default;
| + | |
| − | [SerializeField, Range(0f, 1f)] float _rate = 0.05f;
| + | |
| − | Coroutine _coroutine = default;
| + | |
| − | Material _runtimeMaterial = default;
| + | |
| − | | + | |
| − | public void Start()
| + | |
| − | {
| + | |
| − | FadeSkybox();
| + | |
| − | }
| + | |
| − | public void FadeSkybox()
| + | |
| − | {
| + | |
| − | if (_coroutine == null)
| + | |
| − | {
| + | |
| − | _runtimeMaterial = Instantiate(_skyMat);
| + | |
| − | RenderSettings.skybox = _runtimeMaterial;
| + | |
| − | _coroutine = StartCoroutine(FadeSkyboxRoutine(_rate));
| + | |
| − | }
| + | |
| − | }
| + | |
| − | | + | |
| − | IEnumerator FadeSkyboxRoutine(float rate)
| + | |
| − | {
| + | |
| − | float blend = 0f;
| + | |
| − | while (blend < 1)
| + | |
| − | {
| + | |
| − | _runtimeMaterial.SetFloat("_value", blend);
| + | |
| − | blend += rate;
| + | |
| − | Debug.Log("_value=" + blend);
| + | |
| − | yield return null;
| + | |
| − | }
| + | |
| − | _runtimeMaterial.SetFloat("_value", 1);
| + | |
| − | _coroutine = null;
| + | |
| − | }
| + | |
| − | }
| + | |
| − | </pre>
| + | |
2022年12月7日 (水) 13:55時点における最新版
Unity/Shader/skybox/徐々に変更/色
Unity/Shader/skybox/徐々に変更/cubebox