エディタースクリプトを使用してゲームオブジェクトの配列をインスタンス化します。今問題は、私がプレハブをインスタンス化するとき、階層内の親を失うことです。ゲームオブジェクトの配列をインスタンス化すると親トランスフォームを取得できません[Editor Scripting]
for(int i = 0; i < 20; i++){ //_dTarget.halfLength; i++){
GameObject a = (GameObject)PrefabUtility.InstantiatePrefab(_dTarget.wallTile);
a.transform.parent = goTarget.transform;
}
が、私はこのようにインスタンス化していた場合::私は以下のスクリプトのようにインスタンス化していた場合、それだけで正常に動作します
GameObject[] testG = new GameObject[20];
for(int i = 0; i < 20; i++){
testG[i] = _dTarget.wallTile;
}
for(int i = 0; i < 20; i++){ //_dTarget.halfLength; i++){
GameObject a = (GameObject)PrefabUtility.InstantiatePrefab(testG[i]);
a.transform.parent = goTarget.transform;
}
彼らは彼らの親を失い、親の外にインスタンス化:
これが起こる理由はありますか?
あなたがオブジェクトをインスタンス化し、それが1回の呼び出しで親の設定ができることを知っていますか? [インスタンス化(オブジェクトオリジナル、ベクトル3位置、クォータニオンローテーション、親変換)](https://docs.unity3d.com/ScriptReference/Object.Instantiate.html) –
もちろん、私はそれを知っています!しかし、このことは異なっている。エディタのスクリプトです。 –
parentを代入するのではなく、transform.SetParentメソッドを試しましたか? –