[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 () {
}
Reference
이 문제에 관하여([Unity] 상위 객체의 스크립트에서 하위 객체를 조작합니다!), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Armyporoco/items/391776d4c79d25cfbbfe텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)