[Unity] 상위 객체의 스크립트에서 하위 객체를 조작합니다!

1814 단어 Unity
개시하다
처음 뵙겠습니다.
이 기사는 Unity 5입니다.5시 물건이에요.
수정된 부분이 있으면 메모를 남겨 주세요.
부모 대상?하위 객체?
Unity에는'친자 관계'가 있습니다.

이거(AI) 부모님!

이것들(Cube와 magic ring 05)은 아이들입니다!
부모 대상의 스크립트에서 여러 개의 하위 대상과 특정한 하위 대상을 조작하는 방법을 소개합니다.
생각보다 쉬워!
각본
transform.GetChild(n).gameObject.~
이거 하나면 충분해!
해설
transform
부모 대상에 스크립트가 있다고 가정합니다.
따라서 이transform은 부모 대상에 속합니다.
다른 게임 대상의 스크립트에서 조작하려면
public Transform(기타 게임 대상의 이름);
검사기에서 다른 게임 대상을 설정합니다
다른 게임 대상의 이름.GetChild(n).gameObject.~
나는 이렇게 하는 것이 비교적 좋다고 생각한다.
GetChild(n)
n은 하위 객체의 번호입니다.
하위 객체에는 0, 1, 2, 3,...의 번호가 순서대로 할당됩니다.

예를 들어 Cube만 작업하려는 경우
AI.GetChild(0).gameObject.~
이렇게 써.
AI의 전체 하위 객체를 조작하려는 경우
foreach(Transform child in transform)
transform (이 글은 부모 대상을 가리킨다!)의
하위 대상의transform 가져오기
child.gameObject.~
나는 이렇게 하는 것이 비교적 좋다고 생각한다.
사용 예
여기서 AI 하위 객체의 MeshRenderer를 삭제할 수 있습니다!
AI에 아래 스크립트를 붙이면 시작하자마자 큐브의 외관이 없어진다.
void Start () {
    transform.GetChild(0).gameObject.GetComponent<MeshRenderer>().enabled = false;  
}

void Update () {

}
다른 예로는 AI의 모든 하위 객체를 비액티브로 설정할 때 이렇게 쓴다.
void Start () {
    foreach (Transform child in transform)
    {
        child.gameObject.SetActive(false);
    }

}

void Update () {

}

좋은 웹페이지 즐겨찾기