40代ゲーム制作初心者の手記

40代でゲーム制作に挑む無謀なプロジェクトです。とりあえずUnityでやってみます。

変なエラーでますよ

こんなエラーが出て怒られましたよ

 

UnassignedReferenceException: The variable bulletPrefab of CannonScript has not been assigned.
You probably need to assign the bulletPrefab variable of the CannonScript script in the inspector.
UnityEngine.Object.Internal_InstantiateSingle (UnityEngine.Object data, UnityEngine.Vector3 pos, UnityEngine.Quaternion rot) (at <a0ef933b1aa54b668801ea864e4204fe>:0)
UnityEngine.Object.Instantiate (UnityEngine.Object original, UnityEngine.Vector3 position, UnityEngine.Quaternion rotation) (at <a0ef933b1aa54b668801ea864e4204fe>:0)
UnityEngine.Object.Instantiate[T] (T original, UnityEngine.Vector3 position, UnityEngine.Quaternion rotation) (at <a0ef933b1aa54b668801ea864e4204fe>:0)
CannonScript.FireBullet () (at Assets/CannonScript.cs:58)
CannonScript.Update () (at Assets/CannonScript.cs:41)

 

発生しているエラー メッセージは「UnassignedReferenceException」であり、CannonScript スクリプトの bulletPrefab 変数が割り当てられていないことを示しています。 これは、スクリプト内の bulletPrefab 変数が有効なオブジェクトに設定されていないことを意味します。したがって、FireBullet メソッド内の Instantiate の呼び出しは、許可されていない null オブジェクトをインスタンス化しようとしています。

この問題を解決するには、Inspector で bulletPrefab 変数を割り当てる必要があります。 方法は次のとおりです。

Unity エディターで大砲ゲーム オブジェクトを選択します。
インスペクタで、「bulletPrefab」フィールドを見つけます。
フィールドの右側にある小さな円をクリックして、オブジェクト ピッカーを開きます。
前の手順で作成した弾丸プレハブを選択します。
[再生] ボタンを押してゲームを開始し、エラーが解決したかどうかをテストします。
これらの手順を実行すると、 bulletPrefab 変数が弾丸プレハブに設定され、エラー メッセージが表示されなくなります。