반응형
자식 오브젝트를 순회하기 위해 빈 오브젝트들로 만들어서 아래와 같은 하이어라키를 만들어보자.
그리고 Parent에 SearchChild.cs 오브젝트를 추가하자.
첫 번째 순회 방법 - 자식의 오브젝트 개수를 구한 후 GetChild로 접근
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class SearchChild : MonoBehaviour
{
void Start()
{
int numOfChild = this.transform.childCount;
for (int i = 0; i < numOfChild; i++)
Debug.Log(transform.GetChild(i).name);
}
}
실행 결과는 아래와 같다.
자식 오브젝트만 찾고 순회한다.
두 번째 순회 방법 - GetComponentsInChildren
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class SearchChild : MonoBehaviour
{
void Start()
{
Transform[] myChildren = this.GetComponentsInChildren<Transform>();
foreach(Transform child in myChildren)
Debug.Log(child.name);
}
}
실행 결과는 아래와 같다.
자신을 포함한 자식, 자손 오브젝트를 모두 찾고 순회한다.
세 번째 순회 방법 - foreach + transform
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class SearchChild : MonoBehaviour
{
void Start()
{
foreach (Transform child in this.transform)
Debug.Log("here" + child.name);
}
}
첫 번째와 마찬가지로 자식만 루프를 통해 접근한다.
전체 코드는 다음과 같다.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class SearchChild : MonoBehaviour
{
void Start()
{
// 1. 자식만 순회
int numOfChild = this.transform.childCount;
for (int i = 0; i < numOfChild; i++)
Debug.Log(transform.GetChild(i).name);
// 2. 자신을 포함 자손도 순회
Transform[] myChildren = this.GetComponentsInChildren<Transform>();
foreach (Transform child in myChildren)
Debug.Log(child.name);
// 3. 자식만 순회
foreach (Transform child in this.transform)
Debug.Log(child.name);
}
}
Unity Plus:
Unity Pro:
Unity 프리미엄 학습:
반응형
'개발 > Unity' 카테고리의 다른 글
유니티 - 스크립트 모양을 톱니 바퀴 아이콘으로 바꾸기 (Replace Script Icon) (0) | 2022.07.22 |
---|---|
유니티 - OverlapSphere로 주변 콜라이더 탐색하기 (Check Collisions using OverlapSphere) (1) | 2022.07.21 |
유니티 - 다익스트라를 이용하여 최단 경로 이동하기 (Move the Shortest Path using Dijkstra) (7) | 2022.07.17 |
유니티 - BFS를 이용하여 평면을 그리드로 나누기 (Converting a Plane to a Grid with BFS) (0) | 2022.07.16 |
유니티 - 인보크로 일정 시간 이후 함수 실행하기, 반복하기 (Invoke) (0) | 2022.07.16 |
댓글