PostprocessingのDepthofFieldのfocusDistanceの値をゲーム中にボタンをクリックすることで値を変化させたいです。ボタンは値を増加させるものと減少させるものの二つを作ります。
初期値はインスペクタービューで予め設定してある値を使用したいです。
下記のスクリプトだと0から始まってしまいます。また、減少しすぎて、増加ボタンを押したときは最後に減少させた時の値からの変化(逆もそうです。)にしたいです。
どのように改良すればよろしいでしょうか?よろしくお願いいたします。
コード 増加用 using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Rendering.PostProcessing; public class focus_l : MonoBehaviour { public float count; // Post Process Volume がついているGameObject [SerializeField] GameObject postProcessGameObject; // Start is called before the first frame update void Start() { } // Update is called once per frame void Update() { } public void onClickfocus() { count += 0.1f; var dof = ScriptableObject.CreateInstance<DepthOfField>(); dof.enabled.Override(true); dof.focusDistance.Override(count); PostProcessManager.instance.QuickVolume(postProcessGameObject.layer, 1, dof); } } 減少用 using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Rendering.PostProcessing; public class focus_r : MonoBehaviour { public float count; // Post Process Volume がついているGameObject [SerializeField] GameObject postProcessGameObject; // Start is called before the first frame update void Start() { } // Update is called once per frame void Update() { } public void onClickfocus() { count -= 0.1f; var dof = ScriptableObject.CreateInstance<DepthOfField>(); dof.enabled.Override(true); dof.focusDistance.Override(count); PostProcessManager.instance.QuickVolume(postProcessGameObject.layer, 1, dof); } }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。