유니티 53

Package Manager를 통해 패키지가 설치되지 않는 문제

유니티는 Package Manager를 통해 패키지를 설치하는 것을 권장합니다.그런데 Package Manager를 사용하여 패키지를 설치하는 경우 설치가 이뤄지지 않는 문제가 발생합니다.  위와 같이 로그가 남겨지며 패키지가 제대로 설치되지 않는 문제가 발생합니다.검색을 여러 번 해보며 답을 찾아봤지만,캐시 지우기, 유니티 버전 업 등의 여러 해결책은 큰 도움이 되지 않았습니다.따라서 이 포스트에서 제가 위의 문제를 어떻게 해결했는지 알려드리겠습니다. C:\Users\사용자이름\AppData\Local\Unity\cache 설치 과정에서 따로 경로를 설정하지 않았다면 유니티에서는 패키지와 관련된 캐시를 위의 경로에 저장합니다.위의 경로에는 파일이 2개 존재하는데 각각 다음과 같습니다. (1) npm 폴..

Input Manager와 Input System

유니티에서는 두 개의 입력 시스템을 제공합니다.구형 입력 시스템인 Input Manager와 신형 입력 시스템인 Input System입니다. 사용자의 키 변경에 대응하기 위해 개발된 Input System은 기존의 Input Manager와는 다른 설정방법을 갖고 있습니다.저 역시도 이를 사용하는 방법을 배우는데 많은 문제를 겪어 Input Manager와 Input System을 비교해가면서 설명드리고자 합니다. 1) Input ManagerInput Manager는  Input.GetAxis() 함수로 입력값을 읽어들입니다.이때 GetAxis의 인자는 다음의 과정으로 확인할 수 있습니다.  GetAxis의 인자로 사용할 수 있는 것은 위의 Name입니다.위의 문자열을 통해 GetAxis는 축을 인지..

유니티 에디터에서 게임을 종료하고 싶은 경우

게임을 만들다 보면 특정 상황에서 게임을 종료해야 하는 경우가 있습니다.예를 들어, esc키를 누른다거나 도착지점에 입장을 했다거나 플레이어의 체력이 0이 된 경우가 그런 경우입니다. 그러기 위해서 보통public void QuitGame() { Application.Quit();} 위와 같은 형태로 사용하는 경우가 많습니다.하지만 위와 같은 코드는 게임을 배포한 후에는 문제없이 동작하지만유니티 에디터 상에서 Play 모드일때는 동작하지 않는 경우가 있습니다. 이런 경우에는 다음과 같이 작성해주시면 되겠습니다.public void QuitGame() { #if UNITY_STANDALONE Application.Quit(); #endif #if UNITY_EDITOR ..