Game Programming/Unity Note
[유니티] SDK 경로 찾기 :: "Unable to detect SDK in the selected directory"
[유니티] SDK 경로 찾기 :: "Unable to detect SDK in the selected directory"
2020.04.12문제 최신 안드로이드 스튜디오를 사용해서 SDK를 설치한 경우 2018 이하의 Unity가 올바른 SDK 경로를 입력해줬음에도 인식을 못하는 경우가 있다 왜 SDK 경로임에도 왜 "Unable to detect SDK in the selected directory" 문제가 발생할까? 보통 Android SDK Tools를 인식하지 못했기 때문에 발생한다. 해결법 기본으로 설치되지 않은 Android SDK Tools를 깔아주면 된다. "Unable to detect SDK in the selected directory" 해결법 부분을 보고 해결하자. 경로 찾기 1. SDK가 설치된 경로를 찾는다 ▶ Android Studio를 실행한 후, 하단의 Configure를 클릭한 후 SDK Manager 실행한..
[유니티] 모든 자식들 접근하기
[유니티] 모든 자식들 접근하기
2020.02.26유니티에서 간단하게 모든 자식들 접근하기 1. 선택한 게임 오브젝트 바로 아래에 있는 자식만 iterate하고 싶은 경우 foreach(Transform child in transform) { Debug.Log(child.name); } 2. 선택한 게임 오브젝트 아래에 있는 모든 자식을 iterate하고 싶은 경우 Transform[] allChildren = GetComponentsInChildren(); foreach(Transform child in allChildren) { // 자기 자신의 경우엔 무시 // (게임오브젝트명이 다 다르다고 가정했을 때 통하는 코드) if(child.name == transform.name) return; Debug.Log(child.name); } GetComp..
[유니티/C#] StringBuilder 정리 및 사용법
[유니티/C#] StringBuilder 정리 및 사용법
2020.02.26C# 공식 문서에 잘 정리되어있지만 필요할 때마다 코드를 찾아보기가 귀찮고 기계 번역된 한국어 문서는 너무 어색해서 영어로 봐야 하는 번거로움이 있어서 정리할 겸 쓰는 글이다. 문제 자바든 C#이든 String을 짧은 시간 동안 (예를 들어서 반복문) 계속 수정(Concat)해주면 계속 동적 활당을 해서 성능이 크게 저하가 될 수 있다. 문제가 되는 코드 예시 using System; public class Program { string BadCodeExample() { string myString = ""; for (int i = 0; i StringBuilder 클래스 (System.Text) 변경할 수 있는 문자열을 나타냅니다.Represents a mutable string of character..
[유니티] Bool 난수 생성하기
[유니티] Bool 난수 생성하기
2020.02.26깔끔하게 Bool 난수 생성하는 법 예전에 본 코드인데 가끔 사용해서 노트로 남깁니다. Random.value를 써서 간단하게 구현할 수 있습니다. void Update() { bool randBool = (Random.value > 0.5f); Debug.Log(randBool); } 대표 이미지 출처: Icons made by Good Ware from www.flaticon.com
[유니티] GameObject 없이 코드 실행하기
[유니티] GameObject 없이 코드 실행하기
2019.07.19GameObject와 무관하게 코드를 실행하는 법 유니티에서 코드를 실행하기 위해서는 항상 GameObject에 Script를 Component로 달아줘야 한다고 알고 있습니다. 하지만 RuntimeInitializeOnLoadMethod Attribute를 사용하면 GameObject에 안달아도 실행시킬 수 있습니다. (MonoBehavior를 상속 받지 않는 클래스여도 상관 없습니다.) 단순하게 Attribute만 달면 됩니다. 아래의 코드를 참고하세요. using UnityEngine; static class nonGameObjectScript { [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.AfterSceneLoad)] static void..
유니티 meta 파일
유니티 meta 파일
2019.07.10유니티 *.meta 파일은 뭐길래 모든 Asset(파일)마다 생성이 될까? 유니티의 메타(meta) 파일은? Asset을 식별할 수 있게 하는 값이랑 그 Asset에 대한 설정 값, 예를 들어서 크기, pivot 위치, 상태, ... 등,을 저장하는 파일이다. 위의 사진을 보면 모든 asset(위의 사진에서는 스크립트)에 대응하는 메타 파일이 존재한다는 사실을 알 수 있다. 유니티의 메타 파일을 이해하려면 먼저 유니티가 Asset을 내부에서 처리하는 방식에 관해서 이해해야 한다. Asset 내부 처리 방식부터 알아보자. * 출처: 이 부분에 대한 내용은 [유니티 매뉴얼: Behind the Scenes]을 보면서 정리했습니다. Asset을 Import하거나 새로운 파일을 (유니티 Assets폴더 안에) ..