【Unity】C#:2つずつ分岐していく木のツリー構造が作りたい

実現したいこと

自身と同じプレファブを2つずつ分岐させて木のツリー構造を作りたいです。

発生している問題・分からないこと

public GameObject hueru; インスペクターでプレハブ参照

Instantiate(hueru, transform); // 2つ分岐させて木のツリー構造を作りたい。
Instantiate(hueru, transform);

上記の様に、自身を親として同じプレファブを2つ複製して分岐していく木のツリー構造が作りたいのですが、徐々に3、4、5… と複製される子の数が増えていきます。
恐らく、自身と自身の子供まで複製されているのかな?と思います。
Instantiate(hueru)の様に親を指定しなければ問題は起こりませんが、
ツリー構造なので親子関係を維持したまま作りたいです。
解決方法ご教示いただけたらと思います。

実行結果のヒエラルキービュー
hueru
---hueru(Clone)
------hueru(Clone)(Clone)
------hueru(Clone)(Clone)
---hueru(Clone)
------hueru(Clone)(Clone)
------hueru(Clone)(Clone)
------hueru(Clone)(Clone)  ← 複製ごとに3、4、5と子供が増えていってしまう。

該当のソースコード

C#

1using System.Collections;2using System.Collections.Generic;3using UnityEngine;4 5public class Hueru : MonoBehaviour 6{7 public GameObject hueru; // インスペクターで自身と同じプレファブを参照8 9 void Start()10 {11 Instantiate(hueru, transform); // 2つ分岐させて木のツリー構造を作りたい。12 Instantiate(hueru, transform);13 }14}

試したこと・調べたこと

上記の詳細・結果

Resources.Loadを使うと回避できましたが、リソースを多く使い公式も非推奨との事ですので、ゆくゆくは使わない様にしたいです。

public GameObject hueru = Resources.Load<GameObject>("hueru");
Instantiate(hueru, transform);
Instantiate(hueru, transform);

補足

特になし

コメントを投稿

0 コメント