본문 바로가기

[ 유니티(Unity 3D) 팁 ] GameObject 동적으로 삭제 하기 GameObject 동적으로 삭제 하기 유니티에서 게임실행중에 GameObject 를 제거해야 할때가 있다. 예를 들면 총알이 몬스터에 맞았을 경우 총알을 제거해 줘야 한다. 또 몬스터의 HP가 0보다 작아지면 몬스터 또한 제거해 줘야 한다. Destroy (Object obj, t : float time= 0.0F) 함수를 이용하면 쉽게 제거할 수 있다. obj 는 삭제할 대상 오브젝트 이며, time 은 Destroy 함수 호출후 몇초후에 삭제할지 결정한다. 코드 // 게임 오브젝트를 제거한다.Destroy (gameObject); // 게임오브젝트로부터 현재 스크립트를 제거 한다.Destroy (this); // 게임오브젝트로부터 강체를 제거합니다.Destroy (rigidbody); // 오브젝트.. 더보기
[ 유니티(Unity 3D) 팁 ] List 사용법 List 사용법 C++ 의 STL List 와 같은 자료형을 유니티에서도 사용할 수 있다. System.Collections.Generic 네임스페이스를 스크립트에 포함시킨후 "List 변수명" 식으로 사용하면 된다. 코드 using System.Collections.Generic; 추가 public class MainClass{ void Start(){ List Cars = new List(); Car car = new Car(); car.Name = "MyCar"; Cars.Add(car); }} 참고 http://blog.naver.com/PostView.nhn?blogId=taxhon&logNo=60124971161&redirect=Dlog&widgetTypeCall=true 더보기
[ 유니티(Unity 3D) 팁 ] 커스텀 클래스 멤버를 인스펙터에 노출 시키기 커스텀 클래스 멤버를 인스펙터에 노출 시키기 스크립트를 만들게 되면 스크립트 내부에 스크립트 이름과 똑같은 기본 클래스가 만들어 지게 된다.이 기본클래스의 public 속성을 갖는 멤버는 기본적으로 인스펙터에 노출이 된다. 하지만 기본 클래스 내부에 하위 클래스를 따로 만들게 되면 하위 클래스의 멤버가 인스펙터에 절대로 노출 되지 않는다. 만약 하위클래스의 멤버를 인스펙터에 노출 시키고 싶다면 클래스 선언 문 위에 [System.Serializable] 을 적어주면 된다. 코드 public class MainClass{[System.Serializable] // SubClass 의 public 멤버를 인스펙터에 노출시키겠다.public class SubClass{public string sName;} }.. 더보기