前提・実現したいこと
Unityでスクロールビューを使用する際に、視差スクロールを実現させたいです。
完成イメージとしては、こんな感じのWebサイト ( https://www.hidagyu-yoromeat-honten.com/ ) のように,スクロールすれば奥行きが感じられるようにしたいです。
Scrollbarのvalueの割合によって、GameObjectのtransform.positionを移動させればうまくいくと思ったのですが、エラーが出てしまいます。
考えられる原因をお教えください。よろしくお願いいたします。
発生している問題・エラーメッセージ
NullReferenceException: Object reference not set to an instance of an object ScrollEffect.Start () (at Assets/Scripts/ScrollEffect.cs:20)
該当のソースコード
C#
1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4using UnityEngine.UI; 5 6public class ScrollEffect : MonoBehaviour 7{ 8 Scrollbar scrollbar; 9 public GameObject OBJE; 10 public float minY = 0.0f; 11 public float maxY = -180.0f; 12 float nowscroll; 13 14 void Start() 15 { 16 scrollbar = GetComponent <Scrollbar>(); 17 nowscroll = scrollbar.value; 18 Debug.Log("YPOS: " + maxY * nowscroll); //ここにNullのエラーがでます 19 } 20 21 public void ScrollParallax() 22 { 23 OBJE = GameObject.Find("OBJECT").GetComponent<GameObject>(); 24 Vector3 OBJEpos = transform.position; 25 OBJEpos.y = maxY * nowscroll; 26 } 27}
試したこと
Scrollbarの「値の変化時」のところにScrollParallax()を適用しましたが駄目でした。
補足情報(FW/ツールのバージョンなど)
Unity 2020.3
あなたの回答
tips
プレビュー