2013. 6. 16. 19:30

제가 유니티의 구조를 잘못 알고 있는지 좀 이해하기 힘든 코드를 많이 보게 됩니다.

 

 

1. 문제 발견

박스충돌체(BoxCollider)의 크기를 수정하기 위해 속성을 타고 들어갔는데....

 

글쿤요.

일반적인 객체지향프로그래밍에서 자주 목격되는 메시지죠 ㅎㅎㅎ

말 그대로 해당 속성이 읽기전용이라는 소리죠.

 

해당 속성의 선언을 확인 해 봅시다.

읽기 전용이라고?

 

 

박스충돌체를 수정하려면

GameObject.collider.bounds.size

를 수정해야 합니다.

그런데 시작부터 읽기전용이라니....

 

 

2. 해결 방법

인터넷을 뒤져보니 'BoxCollider'로 캐스팅을 한 후 수정하면 된다고 합니다.

그래서 제가 한번 해봤습니다.

((BoxCollider)[GameObject].collider).size 
			= new Vector3((float)1.5, (float)1.5, (float)1.5);

 

오호 이제 잘됩니다.

 

 

마무리

아래 스크린샷은 박스충돌체의 크기를 랜덤하게 지정하고 생성한 박스입니다.

 

위치한 높이가 들쑥날쑥 한 거 보이죠?