前提・実現したいこと
テトリスと同様のゲームをunityにて作成中ですが、NullReferenceExceptionを改善できません。
あるオブジェクトの隣接オブジェクトをRaycastメソッドで取得したいのですが
Debug.Log()で確認すると取得できるのに、if分の中では取得できないとエラーが出てしまします。
他オブジェクトにアタッチしてあるスクリプト(動作は確認できている)からコピペしても
こちらのスクリプトではエラーが吐かれます。
また、同じスクリプト内の他の箇所で同じ記述をしている部分では、動作が確認出来ています。
発生している問題・エラーメッセージ
NullReferenceException: Object reference not set to an instance of an object
typeCscript.Rotate () (at Assets/typeCscript.cs:176)
typeCscript.Update () (at Assets/typeCscript.cs:68)
該当のソースコード
C#
void Rotate()
{
if (rotcount == 0)
{
Physics.Raycast(c1, new Vector3(1f, 0f, 0f), out RaycastHit obj1, 1.0f);
Physics.Raycast(c1, new Vector3(-1f, 0f, 0f), out RaycastHit obj2, 1.0f);
Physics.Raycast(c1, new Vector3(1f, 0f, -1f), out RaycastHit obj3, 1.0f);
Debug.Log(obj1.collider.gameObject.tag); 【取得可能】 if ((obj1.collider.gameObject.tag != "wallblock") && 【取得不可】 (obj2.collider.gameObject.tag != "wallblock") && (obj3.collider.gameObject.tag != "wallblock")) { transform.Rotate(0f, 90f, 0f); c1 = c1_obj.transform.position; c2 = c2_obj.transform.position; c3 = c3_obj.transform.position; c4 = c3_obj.transform.position; rotcount += 1; RotateCheck(); } }
試したこと
効果的な対処法が思いつかず、あまり試せてはいません。
エディタ側の不備がないか等は確認しています。
補足情報(FW/ツールのバージョンなど)
Unity 2018.3.14f1
回答1件
あなたの回答
tips
プレビュー