일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 단축키
- 3d
- sdk
- 영어
- 배열
- swf
- Game
- flash builder
- builder
- ios
- XML
- AIR
- Build
- unity3D
- texture
- 태그를 입력해 주세요.
- smartfoxserver
- unity
- path
- AS3
- iphone
- 경로
- file
- Android
- Flash
- class
- 게임
- Ane
- Mac
- 아이튠즈
Archives
- Today
- Total
상상 너머 그 무언가...
게임오브젝트와 자식GameObject들의 특정 컴포넌트를 동시에 제어 (GetComponentsInChildren) 본문
개발관련(Development)/유니티3D(Unity3D)
게임오브젝트와 자식GameObject들의 특정 컴포넌트를 동시에 제어 (GetComponentsInChildren)
Clack 2011. 4. 25. 17:02
특정 gameObject와 그 자식 gameObject들이 가지고 있는 특정 컴포넌트들을 한군데에 모아
동시에 제어가 가능하다. GetComponentsInChildren 메소드가 바로 그것이다.
아래 이미지에서 보면 Cube에는 이름이 같은 많은 Capsule 자식(Children)이 있다.
각각 캡슐에는 Collider가 포함되어 있는데 이 많은 자식들의 Collider를 Tirigger 상태로 바꾸러면
자식들의 갯수만큼 반복해서 스크립트를 작성해야 하지만 GetComponentsInChildren 메소드를 사용하면
갯수가 몇개든 쫙~ 찾아서 하나에 담아준다.
public Collider[] colliders;
// Use this for initialization
void Start () {
colliders = gameObject.GetComponentsInChildren<Collider>();
foreach (Collider coll in colliders)
{
coll.isTrigger = true;
}
}
위 스크립트를 Capsule들의 부모 객체인 Cube에 적용시킨 뒤 play를 해보면 아래 이미지와 같이 여러개의 자식 객체들의 특정 컴포넌트의 속성값을 제어할 수 있다.