본문 바로가기

반응형

unity

(17)
[Unity] 데이터 손실 없이 SerializedField 이름 바꾸기 유니티를 이용해 작업하다 보면 데이터를 저장하기 위해 SerializedField와 같은 어트리뷰트를 사용한다. 문제는 개발 도중 이 필드의 이름이 변경되어 기존 저장된 데이터들을 사용하지 못하게 되는 경우가 있다. 이런 경우 FormerlySerializedAs 어트리뷰트를 이용해 기존 버전과의 호환성을 유지해 줄 수 있다. 만일 아래와 같이 m_MyVariable이라는 멤버 변수를 사용하고 있는데 : class MyClass : MonoBehaviour { [SerializeField] private string m_MyVariable; } m_MyVariable의 이름이 다른 것으로, 예를 들자면 m_ABetterName와 같이 바뀐다면 기존에 m_MyVariable의 이름으로 저장된 데이터를 읽어..
Unity를 사용하기 전에 알아두면 좋은 기본 개념들 Unity가 편한 개발 엔진이라고 아무런 기본 지식 없이 마냥 닥치는대로 하려다보니 이래저래 어려움이 많다. 이 포스팅에서는 Unity를 사용하면서 개인적으로 계속 헷깔렸던 부분들을 정리 한다. Transform.SetParent 의 worldPositionStays 인자 worldPositionStays 가 true일 경우 : SetParent시 자식이 되는 오브젝트의 월드 좌표는 변경되지 않는다(화면상으로 보기엔 그냥 그대로 있는것 같다는 말). 하지만 부모가 변경 되었으므로 로컬 좌표가 변경된다(이것을 이해하기 위해서는 월드 좌표와 로컬 좌표의 개념을 알아야 한다. 하지만 나는 이미 알고 있으므로 이 포스트에서는 다루지 않는다). 예를 들어 부모가 없는 두 오브젝트(부모가 없다는 것은 월드 포지션과..
[Unity] Asset Bundle !!NOTE!! 유니티 2018.2 이상 버전 부터 AssetBundleManager의 지원을 중단한다는 공식 발표가 있었습니다. 2019.3 버전 부터 '어드레서블 에셋 시스템'이라는 새로운 에셋 관리 시스템이 추가 되며 , 2018 LTS 릴리스에서도 지원 된다고 합니다. 아래 내용들은 예전에 이런 것들이 있었구나..하는 역사 공부 정도로만 봐주시면 됩니다. 어드레서블 에셋 시스템은 -> https://blogs.unity3d.com/kr/2019/07/15/addressable-asset-system/에 있습니다. 내용도 알차고 한글로 잘 씌여져 있는지라 제가 따로 포스팅을 쓸 건덕지가 없네요. 들러 주셔서 감사합니다. 좋은 하루 되세요. 이번 포스팅에서는 어셋 번들의 기본 개념과 유니티에서 어셋스..
[Unity] Coroutine 코루틴(Coroutine) 이해하기 http://unityindepth.tistory.com/21 https://en.wikipedia.org/wiki/Coroutine
[Unity] Animator 사용하여 애니메이션 종료까지 기다리기 애니메이션이 플레이 중인지 종료가 되었는지는 다음과 같은 체크 코드를 사용하면 간단하게 알아 볼수 있다. animator.GetCurrentAnimatorStateInfo(0).IsName("YourAnimationName") "YourAnimationName" : 메카님 스테이트의 이름(Animator 윈도우를 보면 여러 상태가 있는데 체크하고 싶은 애니메이션이 플레이되는 상태의 이름을 적어주면 된다). IEnumerator WaitForAnimation(Animator animator) { while (true == animator.GetCurrentAnimatorStateInfo(0).IsName("")) { yield return new WaitForEndOfFrame(); } GameObject..
AddComponent 시 return null 현상 GameObject의 AddComponent를 호출 했는데, 맥에서는 아무런 문제 없이 동작했지만 윈도우에서 실행시 null을 리턴 한다. 원인 MonoBehaviour 를 상속 받은 아주 작은 역할을 하는 클래스를(이하 A 클래스) 새로운 파일을 만들지 않고 기존 클래스의(이하 B 클래스) 내부에 작성하였는데 이런 경우 윈도우에서는 AddComponent 시 null을 리턴한다. 해결 A 클래스와 이름이 같은 신규 파일을 생성 사족 유니티에서 MonoBehaviour를 상속받은 클래스는 new 로 생성할 수 없고 GameObject에 AddComponent를 통해서만 생성 할 수 있다. 부록 1. 같이 읽으면 좋은 글 Unity를 사용하기 전에 알아두면 좋은 기본 개념들 http://forum.u..
Unity3D + Facebook 연동 개발 가이드(안드로이드 버젼) 이번 포스팅은 Facebook Unity SDK(https://developers.facebook.com/)를 이용하여 Unity와 facebook을 연동하는 방법에 대해서 다룹니다. 예제 코드는 facebook sdk 패키지를 import하면 만들어지는 Examples/InteractiveConsole이 깔끔하고 쉽게 나와있으므로 그것을 보시는 것이 좋습니다. 본 포스팅에서는 InteractiveConsole 예제를 실행하면서 겪었던 환경 셋팅 문제를 주로 다룹니다. 현재 안드로이드 버젼만 다루고 있으며 ios의 경우에는 해당 작업을 하게 되면 추가하도록 하겠습니다. 준비 작업 Java SDK(ver 1.7) : facebook 앱 인증에 필요한 key hash를 생성하는데 사용됩니다. OpenSSL(..

반응형