So bringen Sie das übergeordnete Objekt und das untergeordnete Objekt in eine Einheit

Fügen Sie hier eine Bildbeschreibung ein

Holen Sie sich das übergeordnete Objekt

In Unity können Sie Transformdie Eigenschaften einer Komponente verwenden, um das übergeordnete Element eines Objekts abzurufen. Im Folgenden finden Sie einen Beispielcode zum Abrufen des übergeordneten Objekts in einem C#-Skript:

using UnityEngine;

public class GetParentExample : MonoBehaviour
{
    
    
    void Start()
    {
    
    
        // 获取当前物体的父物体
        Transform parentTransform = transform.parent;

        if (parentTransform != null)
        {
    
    
            // 打印父物体的名称
            Debug.Log("Parent object name: " + parentTransform.name);
        }
        else
        {
    
    
            Debug.Log("No parent object found.");
        }
    }
}

In diesem Beispiel transformstellt die Transform-Komponente das Objekt dar, an das das aktuelle Skript angehängt ist. Durch Zugriff auf transform.parentEigenschaften können Sie das übergeordnete Objekt des aktuellen Objekts abrufen. Wenn das aktuelle Objekt kein übergeordnetes Objekt hat (es ist beispielsweise das Stammobjekt in der Szene), transform.parentwird es zurückgegeben null.

Untergeordnete Objekte abrufen

Um in Unity die Unterobjekte eines GameObjects abzurufen, können Sie die entsprechenden Methoden der Transform-Komponente verwenden. Hier sind einige gängige Methoden zum Abrufen von Unterobjekten:

  1. Verwendung Transform.Find:
    Transform.Find Die Methode kann die Transformationskomponente eines Unterobjekts finden und zurückgeben, indem sie den Namen des Unterobjekts angibt. Diese Methode ist nützlich, wenn die Suchebene relativ einfach ist. Beispiele sind wie folgt:

    using UnityEngine;
    
    public class FindChildExample : MonoBehaviour
    {
          
          
        void Start()
        {
          
          
            // 在当前物体的子物体中查找名为 "ChildObjectName" 的子物体
            Transform childTransform = transform.Find("ChildObjectName");
    
            if (childTransform != null)
            {
          
          
                Debug.Log("Found child object: " + childTransform.name);
            }
            else
            {
          
          
                Debug.Log("Child object not found.");
            }
        }
    }
    
  2. Untergeordnetes Objekt nach Index abrufen:
    Wenn Sie die Indexposition des untergeordneten Objekts kennen, können Sie Transform.GetChilddie Methode verwenden, um das untergeordnete Objekt an der angegebenen Indexposition abzurufen. Der Index beginnt bei 0 und steigt. Beispiele sind wie folgt:

    using UnityEngine;
    
    public class GetChildByIndexExample : MonoBehaviour
    {
          
          
        public int childIndex = 0; // 要获取的子物体的索引
    
        void Start()
        {
          
          
            if (childIndex >= 0 && childIndex < transform.childCount)
            {
          
          
                Transform childTransform = transform.GetChild(childIndex);
                Debug.Log("Found child object at index " + childIndex + ": " + childTransform.name);
            }
            else
            {
          
          
                Debug.Log("Invalid child index.");
            }
        }
    }
    
  3. Alle Unterobjekte durch Durchlaufen abrufen:
    Wenn Sie alle Unterobjekte erhalten möchten, können Sie dies durch Durchlaufen tun. Hier ist ein Beispiel, das alle untergeordneten Objekte abruft und ihre Namen ausgibt:

    using UnityEngine;
    
    public class GetAllChildrenExample : MonoBehaviour
    {
          
          
        void Start()
        {
          
          
            foreach (Transform childTransform in transform)
            {
          
          
                Debug.Log("Child object name: " + childTransform.name);
            }
        }
    }
    

Diese Methoden können je nach Bedarf ausgewählt werden. Stellen Sie bei der Verwendung sicher, dass Sie die Hierarchie der Spielobjekte und die relativen Beziehungen der Unterobjekte verstehen, damit Sie die benötigten Unterobjekte korrekt erhalten.

Acho que você gosta

Origin blog.csdn.net/weixin_74850661/article/details/132612776
Recomendado
Clasificación