質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%

Q&A

解決済

1回答

233閲覧

プレハブのトランスフォームを認識しなくなった件

tacosaku

総合スコア17

0グッド

0クリップ

投稿2019/03/08 21:02

編集2019/03/09 20:54

下の質問の件

Resources.Load

を使ったら解決しました。
お騒がせして申し訳ございませんでした。

下のコードでプレハブのトランスフォームをとり、
複製を作ろうと思っています。

C#

1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4 5 6public class MasuSet : MonoBehaviour 7{ 8 public float firstx = -1.75f;//最初のX座標 9 public float firsty = -4.25f;//最初のY座標 10 11 12 public static float matsise = 0.5f;//ピースの大きさ 13 public static int masuYoco = 8;//マス横数 14 public static int masuTate = 16;//マス縦数 15 public static int masuTate1 = 8;//マス縦下の数 16 //プレハブのトランスフォーム 17 public Transform MT01G; 18 public Transform MT02LG; 19 20 void Start() 21 { 22 Vector3 placePosition = new Vector3(firstx, firsty, 0);//配置する座標を設定 23 Quaternion q = new Quaternion();//配置する回転角を設定 24 q = Quaternion.identity; 25 for (int i = 0; i < masuTate; i++) 26 { 27 for (int i2 = 0; i2 < masuYoco; i2++) 28 { 29 if (i < masuTate1) 30 { 31 var matNo = Instantiate(MT01G, placePosition, q);//配置 32 placePosition.x += matsise; 33 matNo.name = "Mat" + i + "_" + i2; 34 } 35 else 36 { 37 var matNo = Instantiate(MT02LG, placePosition, q);//配置 38 placePosition.x += matsise; 39 matNo.name = "Mat" + i + "_" + i2; 40 } 41 } 42 placePosition.x -= matsise * masuYoco; 43 placePosition.y += matsise; 44 } 45  } 46

同じ形で色違いオブジェクトです。
一度は配置されたのですが、片方(MT01G)の色を変えたのでプレハブを作り直したらMT01Gを認識しなくなってしまいました。
そもそも、色を変えるのにベースのオブジェクトを変えればよかったのですが、誤ってプレハブのほうを削除してしまい再編成した次第です。
このまま実行すると何も配置されませんが、MT01GをMT02LGに置き換えるとすべてMT02LGで全て配置されます。
下のようなエラーメッセージがでます。

MissingReferenceException: The variable MT01G of MasuSet doesn't exist anymore. You probably need to reassign the MT01G variable of the 'MasuSet' script in the inspector. UnityEngine.Object.Internal_InstantiateSingle (UnityEngine.Object data, UnityEngine.Vector3 pos, UnityEngine.Quaternion rot) <0x3a9f92a0 + 0x00062> in <d0107ededa464b62a3a48cfb7b3e0850>:0 UnityEngine.Object.Instantiate (UnityEngine.Object original, UnityEngine.Vector3 position, UnityEngine.Quaternion rotation) (at C:/buildslave/unity/build/Runtime/Export/UnityEngineObject.bindings.cs:211) UnityEngine.Object.Instantiate[T] (T original, UnityEngine.Vector3 position, UnityEngine.Quaternion rotation) (at C:/buildslave/unity/build/Runtime/Export/UnityEngineObject.bindings.cs:285) MasuSet.Start () (at Assets/MasuSet.cs:59)

どこに問題があるのかわかりません。
どうかご教授お願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

Resources.Load

を使ったら解決しました。
お騒がせして申し訳ございませんでした

投稿2019/03/10 00:26

tacosaku

総合スコア17

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問