Unity 10

[Unity] 안드로이드 휴대폰이 인식이 안될 때

'Make sure USB debugging~블라블라' 아래는 USB 잭으로 기기는 연결은 했지만 휴대폰에 접근할 권한을 갖고 있지 않다는 이야기다. 글쓴이의 경우 아래와 같은 방법으로 위 오류를 해결했다. 1. 휴대폰과 컴퓨터의 연결을 끊는다. 2. 휴대폰 개발자 모드를 켠 후, USB 디버깅 권한 승인 취소와 같은 버튼이 있다면 누른다. 3. sdk 경로에서 platform-tools 파일로 이동 후, cmd 창을 실행한다. sdk 경로는 'Preferences' > External Tools > 'Android sdk ~~ with Unity' 에 있다. 4. cmd 창에서 'adb kill-server'를 시행한다. 5. 'C:\Users\USER\.android' 경로로 들어가 adbkey 파일..

[Unity] Unity 최적화 공부(2)

Unity Profiler 프로파일링을 도와주는 Unity 내의 Tool로, Window > Analysis > Profiler 에 있다. 이와 관련된 정식 문헌은 아래 링크를 참조하기를 바란다. https://docs.unity3d.com/kr/2018.4/Manual/ProfilerWindow.html 프로파일러 창 - Unity 매뉴얼 Unity 에디터에서 툴바를 통해 프로파일러 창에 액세스합니다. Window > Analysis > Profiler. docs.unity3d.com Profiler 창에서 성능 분석을 할 때, Hierachy와 Timeline 속성을 선택할 수 있다. Hierachy는 어떤 기능을 실행할 때, CPU/GPU를 어느 정도 차지하는지를 퍼센트로 보여주고 Timeline은..

Unity 2021.05.12

[Unity] Unity 최적화 공부(1)

유니티 최적화 타이밍 및 고려해야 할 점 Target Platform 및 Device를 정확하게 설정해야 한다. 프로토타입을 만드는 과정에서는 최적화를 할 것이 아니라 기능 구현에 초점을 맞추어야 한다. 프로파일링을 하면서 문제점을 파악한 후, 최적화를 해야 한다. 프로파일링과 최적화는 개발 막바지가 아닌 프로덕션 개발 과정 중간중간에 자주 해줘야 한다. 프로파일링 프로파일링이란, 병목탐지와 병목 제거의 순환 과정이다. 리소스들이 몰리는 지점을 탐지하고 이를 제거하는 것이 중요하다. 병목 제거는 추측이 아닌 프로파일링에 의한 근거를 가지고 임해야 한다. 프로파일링 주의 사항 추측에 의한 최적화 금지 디버거 / 프로파일러 툴의 적극적인 활용 유니티 에디터에서의 프로파일링은 단순 참고용 타겟 플랫폼에서의 프..

Unity 2021.05.12

[Unity] RequireComponent

Unity를 사용해 게임을 만들다보면 어떤 오브젝트 내에 스크립트를 삽입하고 이 스크립트 내에서 꼭 필요한 Component가 있을 것이다. 이 때, RequireComponent라는 스크립팅 API를 쓰면 편리하다. 이 API는 해당 Component가 오브젝트 내에 존재하지 않다면 에러를 발생시켜준다. 작성 방법은 아래와 같다. [RequireComponent(typeof(Collider))] public class SomeScript : MonoBehaviour { }

Unity 2021.04.10

[Unity] 3D object 내의 Canvas가 카메라를 바라보도록

게임을 만들다 보면 적의 닉네임과 남은 hp와 같은 정보를 현재 플레이어에게 보여줄 필요가 있다. 이 때, 적은 3d인 반면에 이를 나타내는 object는 2d이다. 따라서 이 canvas를 항상 카메라 방향으로 돌려줄 필요가 있다. 이럴 때는 Canvas 내에 아래 코드를 입력하여 Update 구문에 넣어주면 해결이 된다. void Update() { transform.LookAt(transform.position + Camera.main.transform.rotation * Vector3.forward, Camera.main.transform.rotation * Vector3.up); }

Unity 2021.04.06

[Unity] 특정 Object의 자식 Object들 제거법

void DestoryChild(GameObject parentObject) { Transform[] childList = parentObject.GetComponentsInChildren(true); if (childList != null) { for (int i = 1; i < childList.Length; i++) { if (childList[i] != transform) Destroy(childList[i].gameObject); } } } 위 함수처럼 작성을 하면 parentObject의 자식 오브젝트들을 모두 제거해준다. 여기서 for 문 내의 i값을 0이 아닌 1부터 시작하는 이유는 childList[0]에는 parentObject가 담겨있기 때문이다.

Unity 2021.03.30

[Unity] Android Device에서 실행 하기

[Unity 내에서 할 일] 1. 플랫폼 바꾸기 File > Build Settings > Android를 누른다. 만약, Android module이 다운로드되어 있지 않다면 다운로드 해준다. 그리고 오른쪽 아래 버튼 중 Switch platform을 눌러 준다. 2. Device 바꾸기 Edit > Project Settings... > Editor로 이동한다. [Android Device 내에서 할 일] 1. USB 디버깅 허용하기 설정 > 휴대전화 정보 > 소프트웨어 정보에 들어간 후, 빌드번호를 연타한다. 그러면 설정에 개발자 옵션이 활성화되었을 것이다. 개발자 옵션에 들어가서 USB 디버깅을 허용해준다. 2. Unity Remote5 설치하기 Play store에서 Unity Remote5를 ..

Unity 2020.08.05