본문 바로가기

이것 저것 공부/Unity

(16)

[Unity] 유니티 Awake의 호출 시점에 관하여 유니티는 기본적으로 싱글 스레드로 돌아가도록 설계되어 있다. 그 중 Awake는 씬이 시작했을때 프리팹의 인스턴스화 직 후에 호출되는 유니티 콜백함수다. 이때 게임 오브젝트가 비활성화 상태라면 오브젝트가 활성화 되거나 연결된 다른 스크립트 함수에서 호출될 때 까지 Awake의 호출이 지연된다. 이런 조건부 호출 때문에 Awake 호출 시점을 혼동하는 경우가 있다. 예시를 들어보겠다. public class A : MonoBehaviour{ private void Awake(){ Debug.Log("Awake"); } public void FunctionA(){ Debug.Log("FunctionA"); } } public class B{ public void InitA(){ var a = GameObje..
[Unity] GooglePlayGames 로그인 에러 해결 logcat 이용하여 디버깅 하는법 : https://dobby-the-house-elf.tistory.com/192 [Unity] 유니티 모바일 디버깅 방법 (adb logcat 사용법) 안드로이드 APK 로 빌드된 유니티 프로젝트를 logcat을 이용해서 디버깅 하는 법을 정리한 글 입니다. logcat은 adb의 기능 중 하나이고 adb는 안드로이드 sdk설치시 자동으로 설치됩니다. 목차 1. 유니티 안드로.. dobby-the-house-elf.tistory.com 1. 빌드가 안돼...... GooglePlayGames API 때문에 빌드가 안되는 경우는 별로 없었습니다. 제가 겪은 문제는 구글 패키지를 임폴트 한 뒤 바로 폴더를 이동 했을때 Play Servies Resolver가 제대로 작동..
[Unity] 유니티 모바일 디버깅 방법 (adb logcat 사용법) 안드로이드 APK 로 빌드된 유니티 프로젝트를 logcat을 이용해서 디버깅 하는 법을 정리한 글 입니다. logcat은 adb의 기능 중 하나이고 adb는 안드로이드 sdk설치시 자동으로 설치됩니다. 목차 1. 유니티 안드로이드 빌드시 설정 2. 휴대폰 설정 3. 안드로이드 SDK 위치 ( + ADB 경로 환경변수 설정하는 법) 4. adb logcat 사용법 ( + adb 무선(wifi) 연결방법) 1. 유니티 안드로이드 빌드시 설정 Development Build와 Script Debugging에 체크해 줍니다. 2. 휴대폰 설정 1. 설정에서 개발자 옵션을 켜준다. 2. 개발자 옵션의 USB 디버깅을 활성화 시켜준다. 3. 안드로이드 SDK 위치 SDK의 기본 설치 경로는 C:\Users\t사용자..
에셋 스토어(Asset Store)에서 다운로드 받은 패키지의 저장 위치 윈도우 드라이브:\Users\계정명\AppData\Roaming\Unity\Asset Store mac open ~Library/Unity/Asset Store
NGUI & UGUI NGUI (Next-Gen UI) UGUI가 나오기 이전부터 많은 개발사가 사용하던 플러그인 레퍼런스가 많다 다양한 크기의 화면에 최적화시키기 쉽다 (비교적) 정적인 화면에 최적화가 잘되어 있다. 동적 할당을 할 때 Sprite를 다시 그리기 때문에 비효율적 UGUI (Unity GUI) Unity Engine (4.6 이후부터) 내에서 제공하는 UI System 추가 구매 없이 바로 사용 가능 직관적인 UI 구성요소 간의 Depth 조절 Canvas 단위로 Draw Call이 관리됨 Sprite Atlas 관리 (폴더 단위로도 가능) Particle Rendering 문제가 있음 Tweening을 기본으로 지원하지 않음 소스 코드가 공개되어 있음 (https://bitbucket.org/Unity-Te..
[Unity Assetbundle] 에셋 번들이란? 1. 에셋 번들이란? 에셋 번들은 말 그대로 에셋을 하나로 묶어 놓은 것입니다. 유니티의 에셋들을 묶어 하나로 관리하는 것이죠. 에셋은 프리펩, 사운드, 텍스트, 이미지, 폴더 등 유니티 내부에서 사용하는 모든 자원들을 칭합니다. 2. 에셋 번들의 흐름 개발자는 에셋들을 묶어 에셋 번들로 만든 뒤 FTP클라이언트를 사용하여 외부에 있는 스토리지에 에셋 번들을 로드하고 저장합니다. 런타임시 유니티 씬의 스크립트를 통해 외부 스토리지에 로드한 에셋번들을 다운로드 합니다. 그리고 서버로부터 로드한 에셋번들에서, 각각의 에셋을 로드하여 사용합니다. 3. 에셋 번들을 사용하는 이유 에셋 번들을 사용하지 않아도 유니티 프로그램은 정상적으로 작동 합니다. 그렇다면 왜 에셋 번들을 사용하는 걸까요? 1. 업데이트가 용..
[Unity] UGUI Multiple Sprite 만들기 + 이미지 자동으로 자르기 UGUI를 쓰다보면 Sprite 하나에 여러개의 이미지가 붙어 있는 것을 보게됩니다. 요것을 만들어 보겠습니다. 1. 이미지 파일 Multiple Sprte로 만들기 우선 Multiple Sprite 로 만들 이미지를 프로젝트에 추가시켜 줍니다. 한개의 이미지에 1부터 4까지의 숫자가 들어가 있는 이미지를 사용해 보겠습니다. 클릭해서 Inspector창을 열어줍니다. 제일 위에 있는 Texture Type을 Default에서 Sprite (2D and UI) 로 바꿔줍시다. 그 다음 Sprite Mode를 Multiple로 바꿔주고 Apply 해줍니다. 이제 Sprite Editor로 Sprite를 여려개로 잘라주시기만 하면 됩니다. 1,2,3,4 를 각각 드레그 해줘서 4개의 이미지로 만들어 줬습니다...
[Unity] GraphicRaycaster (UGUI 레이캐스팅 하기) 유니티의 UGUI는 Canvas의 Render Mode가 'Screen Space - Overlay' 일 경우 카메라를 사용하지 않고 렌더링 과정에서 그려진 오브젝트들 위에 덧그려진다. 이때 UI에 Raycast를 사용하려면 어떻게 해야 할 까? UGUI 오브젝트를 생성하면 자동으로 Canvas가 생성된다. 이때 Canvas를 살펴보면 Graphic Raycaster가 달려있는것을 볼 수 있다. 유니티 메뉴얼에 따르면 Graphic Raycaster는 캔버스 안을 검색하는 Raycaster이며, EventSystem이 이벤트를 검출하는 수단으로 사용된다는 것을 알 수 있다. 하지만 메뉴얼에는 Graphic Raycaster를 어떻게 써야하는지 스크립트 예시가 적혀있지 않다. 그래서 예시를 만들어 두려고 ..