4
GameObject enemy = Instantiate(spawnObject,spawnPosition,spawnObject.transform.rotation) as GameObject;
enemy.transform.parent = transform;

上記のコードは、ゲーム モードでゲームをテストすると期待どおりの結果を生成しますが、次のエラー メッセージが表示されます。

「プレハブにある変換の親の設定は、データの破損を防ぐために無効になっています。」

はい、spawnObject 変数にはプレハブが含まれていますが、新しい GameObject を作成すれば問題は解決するはずです。

4

2 に答える 2

2

「変換」変数がプレハブではなく、実際にゲームオブジェクトからのものかどうかを確認してください。

var transform = somePrefab.transform;
enemy.transform.parent = transform; // this won't work

var transform = someOtherGameObject.transform;
enemy.transform.parent = transform; // this will

あなたの変換変数がどこから来たのかについて、もう少し情報を提供できるかもしれません。

于 2013-01-17T08:57:40.247 に答える
0

私もこの問題を見てきました - インスタンス化されたゲームオブジェクト (プレハブではない) がこのエラーメッセージを出しています。私のゲームオブジェクト (A) は、異なるタイプの別のインスタンス化されたゲームオブジェクト (B) の真ん中にペアレント化されていました。A を B の別の部分に再親化したかったのですが、これは指定されたエラーで失敗します。私の唯一の解決策は、最初に A を null に再親化し、次に B に再親化することでした。

于 2014-04-24T20:16:06.747 に答える