Unityでゲームを作っています。
そして、銃弾の代わりにRayを発射させて判定したいと思っています。
そして、Rayを発射させるプログラムを下のように書いたのですが、
C#
1 var ray = Camera.main.ScreenPointToRay(pos);
のところで
NullReferenceException: Object reference not set to an instance of an object
というエラーが出ました。どうしたらよいのでしょうか?
C#
1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4 5public class Hassya : MonoBehaviour 6{ 7 void Update() 8 { 9 10 int centerX = Screen.width / 2; 11 int centerY = Screen.height / 2; 12 Vector3 pos = new Vector3(centerX, centerY, 0.1f); 13 var ray = Camera.main.ScreenPointToRay(pos); 14 RaycastHit hit; 15 if (Physics.Raycast(ray, out hit)) 16 { 17 Debug.Log(hit.collider.gameObject.transform.position); 18 } 19 } 20 } 21 22
「MainCamera」というタグの付いたCameraコンポーネントを持ったGameObjectは存在していますか?
あなたの回答
tips
プレビュー