본문 바로가기

개발/유니티 3D3

유니티에서 부모 자식간의 관계 설정 유니티에서 게임 오브젝트를 동적으로 생성할때(Instantiate() 사용) 특정 부모 밑에 생성해주고 싶을때가 있다. public class DungeonUIHandler : MonoBehaviour { [SerializeField] private GameObject m_prefabMainUI; [SerializeField] private UIPanel mainPanel; public void OpenMainUI() { var mainUIObject = Instantiate(m_prefabMainUI) as GameObject; mainUIObject.transform.parent = mainPanel.transform; mainUIObject.transform.localPosition = Vector.. 2014. 8. 19.
유니티에서 싱글톤 대신 사용하는 DontDestroyOnLoad 유니티에서 싱글톤 대신 아래와 같은 코드를 사용한다. public class MyCalss : MonoBehaviour { private static MyCalss s_instance; #region Public Properties public static MyCalss Instance { get { return s_instance; } } #endregion private void Awake() { DontDestroyOnLoad(gameObject); s_instance = this; } private void OnDestroy() { s_instance = null; } } 위와 같은 스크립트를 컴포넌트로 갖고 있는 게임 오브젝트를 씬에 넣어두면 싱글톤 처럼 활용할 수가 있다. 2014. 8. 16.
유니티에서 Missing (Mono Script) 가 발생하는 이유 회사에서 유니티로 작업하던중, 유독 내가 작업하던 프리팹에서스크립트 파일이 Missing (Mono Script)가 되는 상황이 발생하였다. http://unitygems.com/wp-content/uploads/2012/11/Screen-Shot-2012-11-14-at-18.14.41-300x171.png 이유는 바로 유니티3D의 버전! 내가 사용하던 버전과 팀원이 사용하던 버전이 달라서, Meta파일의 정보가 달랐고, 이때문에 내 자리에선 잘 되던게 SVN 커밋후 버전이 다른 팀원 자리에 가면 Missing (Mono Script)상태가 되면서 말썽을 부렸던 것이다. diff를 돌려보면 .meta 파일 내에 guid가 있는데 이 값이 변하게 되어 위와 같은 상황이 발생하게 된것이다. 해결책? 간단하.. 2014. 8. 16.