전체 글 썸네일형 리스트형 [Unity 유니티] Api Compatibility Level .Net 4.x 가 없을 때 해결 방법 GPGS 연결을 위해서 여러 글들을 둘러보던 중, Api Compatibility Level 부분에서 .NET 4.x 를 선택하라는 글들이 여러 개 있었는데, 정작 내 프로젝트에서는 2.1 말고는 보이지 않았다. 찾아본 결과, 최근 유니티 업데이트에서 .NET 4.x 가 .NET Framework 로 이름이 바뀌었다고 한다. 따라서 .NET Framework 를 선택 해주면 된다. ( .NET 4.x 와 동일 ) 더보기 [Unity 유니티] Missing Default Layout - No Valid user created or default window layout found. Please revert factory settings to restore the default layouts. 오류 해결 방법 작업하던 도중 재부팅을 하니 이런 오류가 발생하였다. 구글링을 통해 해결 방법을 알아본 결과, 1. C:\Users\bonit\AppData\Roaming\Unity\Editor-5.x\Preferences\Layouts\default 파일 가져오기 2. 다른 정상적인 폴더의 CurrentLayout-default.dwlt 를 복사해서 가져오기 하지만 두 방법 모두 해결되지 않았고, 낙담하던 도중 한 글을 발견. 오류가 있는 프로젝트의 Library 폴더를 삭제 후 프로젝트를 실행시켰더니 해결되었다. (실행 시 오래걸림) 더보기 [Unity 유니티] 버튼을 누르고 있으면 반복 실행되게 만들기 버튼을 여러번 눌러야 되는 상황에서 사용자에게 편리함을 제공하기 위해, 버튼을 정해진 시간 이상 누르고 있으면 일정 시간마다 함수를 실행시킨다. using UnityEngine; using UnityEngine.EventSystems; public class ButtonHoldHandler : MonoBehaviour, IPointerDownHandler, IPointerUpHandler { private bool isButtonHold = false; // 버튼을 누르고 있는지 여부 private float holdDuration = 0.5f; // n초 동안 누르고 있으면 시작 private float repeatInterval = 0.2f; // n초 마다 실행 private float holdTi.. 더보기 [Unity 유니티] Unity Remote 5 작동 안될 때 1. 테스트할 기기에서 설정 > 개발자 옵션 > USB 디버깅이 활성화되어 있는지 확인하기 개발자 옵션이 없다면 기기별로 활성화 방법을 인터넷에 검색하면 나온다. 2. Edit > Project Settings > Editor > Unity Remote > Device가 기기에 맞는 상태인지 확인하기 안드로이드라면 Any Android Device로 iOS라면 Any iOS Device로 바꿔주자. 3. File > Build Settings에서 플랫폼이 Android 또는 iOS로 되어있는지 확인하기 다른 플랫폼으로 되어있다면 테스트 기기에 맞는 플랫폼으로 바꿔주자. 4. 설정 후 유니티 재시작하기 설정을 마쳤다면 유니티를 재실행 해줘야 정상적으로 작동한다. 더보기 [Unity 유니티] 버튼 클릭이 안될 때 / UI 상호작용이 안될 때 1. Hierarchy 창에 EventSystem이 있는지 확인하기 EventSystem이 없다면 작동하지 않는다. 만약 EventSystem이 없다면 Hierarchy 창에서 우클릭 > UI > Event System을 넣어주자. 2. 다른 UI에 가려져 있는지 확인하기 간혹 보이지는 않지만 다른 UI의 Collider에 가려진 경우가 있다. 만약 가려져 있다면 그 UI를 삭제 / 이동하거나, 뒤로 보내면 된다. Component에 있는 RaycastPadding을 이용해 조절할 수도 있다. 더보기 [Unity 유니티] OnTriggerEnter / OnCollision 작동 안될 때 1. 두 오브젝트 모두 Collider 컴포넌트가 있어야 한다. 2. 두 오브젝트 중 적어도 한 오브젝트에는 Rigidbody 컴포넌트가 있어야 한다. 3. 두 오브젝트에 Rigidbody 컴포넌트가 있더라도 둘 다 isKinematic 이 켜져 있다면 작동하지 않는다. 4. OnTriggerEnter 를 사용한다면 Collider 컴포넌트 안에 있는 isTrigger 를 체크해 줘야 한다. 더보기 [Unity 유니티] GetAxis / GetAxisRaw 차이점 Input.GetAxis : -1.0f 부터 1.0f 까지의 범위 값을 반환 / 주로 부드러운 이동에 사용 Input.GetAxisRaw : -1, 0, 1 세가지 값 중 하나를 반환 / 주로 즉각적인 반응이 필요할 때 사용 Input.GetAxisRaw를 이용한 간단한 2D 이동 스크립트 예제 (이동은 보통 즉각적인 반응이 필요하기에 GetAxisRaw를 사용) public class PlayerController : MonoBehaviour { public float moveSpeed = 5f; // 이동 속도 조절을 위한 변수 private Rigidbody2D rb; // 캐릭터의 Rigidbody2D 컴포넌트 private void Start() { rb = GetComponent(); // R.. 더보기 이전 1 2 3 다음