Kotlin과 Python에서 ‘is’ 키워드의 다른 사용

python에서 ‘is’ 키워드는 ‘==’와 비교될 수 있는데, ‘==’가 값이 같은지 검사한다면, ‘is’는 어떤 오브젝트를 참조하는지 비교한다. 다음의 stack overflow질문을 참고. https://stackoverflow.com/questions/132988/is-there-a-difference-between-and-is Kotlin에도 ‘is’ 키워드가 있지만, 의미는 전혀 다르다. Kotlin에는 ‘is’, ‘as’ 키워드가 있으며, ‘is’는 타입체크를 위해, ‘as’는 타입 캐스팅을 위해 존재한다. 다음의 공식 문서 참고. https://kotlinlang.org/docs/reference/typecasts.html 그러니까 Kotlin의 ‘is’는 python의 isinstance()에 해당한다. 이름이 같다고 헷갈림 […]

유니티 안드로이드 최척화에 대한 고민

지금 작업중인게 최종적으로는 모바일, 1차로 안드로이드를 목표로 하기 때문에 최적화를 위한 고민이 생겼다. 몇가지를 찾아봤는데, 명쾌하게 정리된걸 못찾다가 Unity: Android Optimization Guide 라는 블로그를 찾았다. 제일 잘 정리된거 같아서 몇가지 추려 정리해보려한다. 1. 프로파일링 어디서든 개발시 최적화라면 프로파일링을 생각해야한다. 유니티도 당연히 이를 지원하며, 모바일도 SDK를 이용한 리모트 프로파일링도 가능한거 같다. 다만, 지금 작업이 완성과 거리가 먼 […]

Unity 2018.2.2f1 업그레이드시 Textmesh Pro 문제

Unity 2018.1 을 쓰다가 2018.2.2f1 업그레이드를 하고 문제가 발생했다. 사용하던 Textmesh Pro가 충돌을 일으킨건데, 2018.2 부터는 기본으로 포함되서 중복문제가 발생했던 것. 해결책을 찾아보니 다음과 같은걸 찾았다. https://forum.unity.com/threads/tmp-and-2018-2.539848/ To summarize these steps (1) Backup your project (2) Close all open scenes. (3) Remove previous version of TextMesh Pro by deleting the “TextMesh Pro” folder. Be sure […]

Unity 의 Coroutine에 대해 알아보기

유니티를 공부하던 중, 알아야 하지만 이해하기 어려운 개념을 접했다. 바로 Coroutine. 일반적인 사용은 다음과 같다. 위 코드는 유니티 공식 사이트에서 Script 설명중 Coroutine에 대한 설명에서 따온 것이다. StartCoroutine 호출이 보이고, MyCoroutine은 IEnumerator 반환값을 갖는다. 함수안에는 yield return null;,  yield return new WaitForSeconds(3f) 와같이 사용한다. 첫 감상은 “이게 다 대체 뭐야?” 일단, 키워드들을 추출해 봤다. StartCoroutine, IEnumerator, […]