목록Develop/Unity (7)
개발자 사카
모바일 환경에서 씬을 변경하면 잠깐 멈추는 현상이 발생한다. 이를 위해서 가장 많이 쓰이는 방법이 1. 한 씬에 모든걸 로드해놓고 카메라 위치를 변경한다. 2. 한 씬에 모든걸 로드해놓고 온/오프로 오브젝트를 관리한다. 필자는 후자의 방식을 애용하는 편이다. 스크립트만 잘 짜놓으면 오브젝트 온오프는 함수 한번으로 가능해지고, 카메라 위치까지 신경쓸 필요가 없기 때문이다. 예를 들어 SceneManager 라는 오브젝트 안에 TitleScene, MainScene, PlayScene 등의 게임오브젝트들을 하위에 두고 필요할 때마다 그 씬만 켜두고 나머지 오브젝트느 켜두는 방식있다. 여기서 조금 관리하기 편하게 매니저 클래스를 작성해서 Scene 오브젝트를 삽입/삭제가 편하게 만들었다. public clas..
Screen.sleepTimeout = SleepTimeout.NeverSleep;이 한줄만 작성을 해주면 모바일에서 적용한 밝기 유지 시간과 관계없이 앱 실행 시에 무조건 켜짐으로 설정이 된다.
회사에서 작업하던 프로젝트를 집에 가져와 작업해서 빌드하는데 "IOException: Win32 IO returned ERROR_BROKEN_PIPE. Path : C:\...somepath...\[Unknown]" 이라는 처음 보는 에러가 떴다. 의외로 해결책은 간단했다. C:\ 에 프로젝트를 옮겨놓고 빌드를 하면 빌드가 정상적으로 된다. 출처 : https://trello.com/c/2JwjcnTP/54-move-the-project-to-c-if-you-get-this-at-the-last-step-of-the-build-ioexception-win32-io-returned-errorbrokenpipe-path-c-somepat
개발하던 앱에 로그인과 회원가입 기능을 넣어야했다. 유저가 실제로 사용하는 이메일이어야하며, 이메일 형식이어야 나중에 마케팅에 쓸 수 있다고 부탁을 했다. 인증 형식을 어떻게 해야할 지가 참 고민이었는데 구글에서 해답을 찾았다. ※ input_email.text -> Unity uGui에 있는 InputFiled컴포넌트를 받아온 것이다. 이것 말고 다른 원하는 자료형을 받아서 작업할 수 있다. using System.Globalization;using System.Text.RegularExpressions; private bool invalidEmailType = false; // 이메일 포맷이 올바른지 체크private bool isValidFormat = false; // 올바른 형식인지 아닌지 체크..
InputField를 클릭했을 때 가상키보드가 올라오면서 하얀색 백그라운드가 올라온다. 여기서 문제는 저 하얀 백그라운드에 하얀색 글씨로 글이 써져서 내가 뭘 입력하는지 볼 수 없다는 점이다. 해결법은 간단하다. plugins/android/AndroidManifest.xml를 열고
유니티 2D도 3D처럼 라이트 효과를 줄 수 있다. 1. 새 Material을 만든다. 2. Material의 Inspector창에서 Shader부분을 Sprites/Diffuse 로 바꿔준다. 3. 자신이 라이트 효과를 주고 싶은 오브젝트에 방금 만든 Material을 넣어준다. 4. 라이트 넣어주면 끝! 뭐 일반적으로 불이나 무언가 정적으로 있는 혹은, 탑뷰로 보여지는 그림들은 딱히 고민하지 않아도 되지만 횡스크롤로 움직이는 캐릭터에게 라이트를 넣어주다가 한가지 문제에 직면했다. 우선 텍스쳐의 용량을 줄이기 위해서 오른쪽으로 움직이는 스프라이트만 가지고 왼쪽으로 움직이는 것도 같이 구현했다. 그냥 간단하게 Y축으로 180도 회전시키는 방법을 사용했다. 하지만 캐릭터에 라이트를 넣어줄 시 오른쪽에서는 ..
유니티에서 안드로이드 빌드를 하다가 다음과 같은 에러가 발생했다. 콘솔에서 확인해보니 다음과 같은 이유로 빌드에 실패했다고 뜬다. "trouble writing output: Too many field references to fit in one dex file: 90410; max is 65536.You may try using multi-dex. If multi-dex is enabled then the list of classes for the main dex list is too large." 하나의 dex 파일에 참조가 너무 많아서 생기는 버그였다.(최대 65536).이를 해결하기 위해서는 'multi-dex' 를 사용하라고 한다. 원인을 찾아보니 한 프로젝트 안에 너무 많은 플러그인을 넣은 것..