본문으로 바로가기


유니티를 처음 접하면서 만난 자잘하지만, 알면 도움되는 오류들을 정리해봅니다. 계속 추가예정.

(댓글로 여러분들의 오류경험담을 공유해주시면 감사합니다. :D)


1. 분명히 구문에 맞게 작성하였는데 유니티에서 알수없는 문법적 오류를 계속 지정하는 경우.

- 문제의 원인 : MonoDevelop사용시 발생하는 문제로 스크립트에 한글주석을 작성하거나, 코드의 복사/붙여넣기로 인해 발생하는 랜덤적인 오류로 이 과정에서 유니티에서 지원하지 않는 형식의 문자코드가 들어감으로서 발생.


- 문제 해결법 : 오류가나는 해당 스크립트파일을 MonoDevelop이 아닌, 메모장이나 비쥬얼스튜디오로 불러온후 UTF-8(UTF-8 BOM)형식으로 저장한다.


- 기타 팁 : 한글로 주석을 작성시 주석 끝에 마침표(.)를 찍어주면 위 오류를 방지할 수 있다. 위 오류를 해결한 후 MonoDevelop에서 해당 스크립트파일을 편집 후 저장시에 스크립트 파일의 형식을 변환할것이냐고 묻는 메시지가 나온다. (Keep Change를 누르면 된다. 만약 Convert 할 경우 작성한 한글주석들이 모두 이상한 문자로 바뀔 수 있다.)


2. 텍스쳐(텍스쳐의 메모리)를 read/write 할 수 없다고 하는 경우.

- 문제의 원인 : 텍스쳐를 import하는 과정에서 해당텍스쳐의 옵션을 지정하지 않았거나, 개발 플랫폼이 텍스쳐 메모리 read/write를 지원하지 않는 경우.


- 문제 해결법 : 텍스쳐를 선택 후 'Texture Type'옵션을 'Advanced'로 바꾼 후 Read/Write Enabled를 체크. 이 해결법을 적용후에도 같은 오류가 발생할 경우 개발플랫폼을 확인할 것. 현 개발환경이 Flash개발일 경우 해당오류가 계속 발생하게 됨. File->BuildSetting에서 PC and Mac Standalone으로 개발환경 변경 후 작업할 것.


- 기타 팁 : 나의 경우 개발환경이 맞지 않아서 발생한 초보적인 오류로. 가급적 개발은 일단 PC and Mac Standalone으로 할 것을 추천.


3. 다른 유니티 프로젝트를 불러올 수 없는 경우.

- 문제의 원인 : 해당 프로젝트가 속한 폴더경로에 영어가 아닌 한글이 있는 경우 발생. 강제로 Asset폴더의 Scene들을 불러들일 경우 Temp폴더를 만들 수 없다는 유니티의 경고메시지를 볼 수 있다.


- 문제 해결법 : 한글폴더가 속해있지 않게 영어로만 이루어진 폴더경로로 설정한다.


- 기타 팁 : 유니티가 지정하는 기본프로젝트폴더(내문서 또는 User 폴더)의 경우 한글이 포함되어 있어도 인식을 제대로 한다. 하지만 다른 곳에 넣을경우 인식하지 못하므로 가급적 영문폴더경로를 이용하자.


4. 상위버전에서 하위버전으로 롤백 설치후 Fatal 오류가 발생할 경우

- 문제의 원인 : 유니티 설치시 자동으로 설치되는 예제프로젝트의 버전이 상위버전과 맞지 않아서 발생하는 오류. (하위버전에서 상위버전의 프로젝트를 제대로 불러올 수가 없기때문)


- 문제 해결법 : C:\Users\Public\Documents\Unity Projects 폴더(공용문서폴더 혹은 내문서 폴더) 안에있는 상위버전의 프로젝트를 지우고 재실행혹은 재설치를 시도한다.


- 기타 팁 : 어떤 프로그램이던 삭제시 완벽하게 정리하는 습관을 들이자. 오류로 인한 재설치라면 더더욱


5. 유니티에서 안드로이드로 포팅시 "invocation failed" 에러가 발생하는경우

- 문제의 원인 : 4.1.3f 버전의 유니티와 안드로이드 SDK 리비전 22 이상버전의 충돌 (유니티 자체의 버그)


- 문제 해결법 : 유니티 상위버전을 설치해서 해결(4.1.4 이후) 혹은 안드로이드 SDK 리비전 22 아래버전을 설치


- 기타 팁 : 안드로이드 SDK 리비전 21 다운로드 링크 : http://dl.google.com/android/installer_r21-windows.exe


6. 오브젝트의 애니메이션의 구성이 모두 갖춰져 있는데 구동되지 않는 경우 

- 문제의 원인 : "The AnimationClip '____' used by the Animation component '_____' must be marked as Legacy."라는 오류 메시지가 출력된다. 이는 대상 오브젝트 파일의 Animation Type 세팅이 제대로 되어 있지 않아서 발생하는 문제


- 문제 해결법 : 대상 오브젝트 파일의 Inspector 창에서 Rig 탭을 클릭 AnimationType을 'Legacy'로 바꿔준다.


- 기타 팁



댓글을 달아 주세요

  1. BlogIcon sephia 신고">2013.03.03 10:17 신고

    이 블로그는 이제 컴퓨터 전문으로 바뀐건가요?

    • BlogIcon CarFain 신고">2013.03.15 08:53 신고

      이것저것 잡동사니가 되어가고 있습니다.
      포스팅 없이 방치하기도 뭐 하고 해서 적절하게 활용하려 합니다. ㄷㄷ
      그나저나 꾸준히 방문해주시니 감사할따름이네요.

  2. 철스 2013.06.19 12:39

    외부 프로그램으로 UTF-8 with BOM 으로 저장해서, UNITY3D 로 열었습니다.
    Inspector 탭에서 미리보기엔 한글 주석이 나오는데, MonoDevelop에서는 여전히
    한글 주석이 안 나오네요. 마침표도 찍어 봤는데도 그러네요... UTF8,16/BOM 등
    버전별로 따로 저장해서 해봤는데도 똑같이 안 되네요;; 어렵네요...

    • BlogIcon CarFain 신고">2013.07.17 13:03 신고

      최신버전인 4.0에서는 어떤지 모르겠는데 그렇게 해도 안되신다면...
      어쩔 수 없습니다. 한글주석이 보이는 프로그램에서 텍스트 복사하셔서 메모장으로 넣고 새 파일 만드시는게 속 편하실거에요 ㅠ_ㅠ

  3. BlogIcon 기리기리 2014.01.18 10:52

    다걸림............................................................................................................................................................................................................................................................................................................................
































    때밋!!

  4. BlogIcon Binceline 신고">2014.06.09 02:45 신고

    오 좋은 자료네요!!!
    스크랩 해 가겠습니다~!!^^

  5. BlogIcon 2020.06.13 15:29