全ての子ノードを再帰的に集計するには、unityでどうすればいいですか?

Unityで、すべての子ノードを数えるために再帰メソッドを使用することができます。以下は、すべての子ノードの数を数えるためのサンプルコードです:

using UnityEngine;

public class RecursiveCount : MonoBehaviour
{
    private int count = 0;

    private void Start()
    {
        CountChildren(transform);
        Debug.Log("Total Count: " + count);
    }

    private void CountChildren(Transform parent)
    {
        count += parent.childCount;

        foreach (Transform child in parent)
        {
            CountChildren(child);
        }
    }
}

上記のコードでは、サブノードの数を保存するために、プライベート変数countが使用されています。Startメソッドで、CountChildrenメソッドが呼び出され、現在のオブジェクトのtransformが渡されます。CountChildrenメソッドはまず、現在のオブジェクトのchildCountをcountに追加し、その後、再帰的な方法で各子ノードを走査し、再度CountChildrenメソッドを呼び出して、子ノードの子ノードの数を数えます。

最後に、Startメソッドでcountの値を出力することで、すべての子ノードの数を表示します。

bannerAds