차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판이전 판
다음 판
이전 판
unity:troubleshooting [2015/05/22 00:18] – 링크가 옮기기 작업 때문에 적응했습니다 66.249.65.83unity:troubleshooting [2018/02/22 11:34] (현재) – 바깥 편집 127.0.0.1
줄 1: 줄 1:
 +{{tag>유니티 unity}}
  
 ======문제 해결====== ======문제 해결======
줄 4: 줄 5:
 [[#DesktopTroubleShooting]] [[#DesktopTroubleShooting]]
 ======Desktop!====== ======Desktop!======
->>desktop<<+
 ======MonoDevelop에서 디버그 버튼이 비활성화 되어 있어요!====== ======MonoDevelop에서 디버그 버튼이 비활성화 되어 있어요!======
   * 이것은 MonoDevelop가 유니티 실행 파일을 찾을 수 없을 때 입니다. MonoDevelop의 환결 설정에서 Unity/Debugger섹션으로 가서 어디에 유니티 실행 파일이 있는지 입력하세요.   * 이것은 MonoDevelop가 유니티 실행 파일을 찾을 수 없을 때 입니다. MonoDevelop의 환결 설정에서 Unity/Debugger섹션으로 가서 어디에 유니티 실행 파일이 있는지 입력하세요.
줄 28: 줄 29:
 ====그림자가 보이질 않아요!==== ====그림자가 보이질 않아요!====
  
-  * 그림자는 ''유니티 프로''에서만 지원이 됩니다. 물론 [[unity3d:class-Projector|Projector]]같은 간단한 그림자 함수는 가능합니다.+  * 그림자는 ''유니티 프로''에서만 지원이 됩니다. 물론 [[class-Projector|Projector]]같은 간단한 그림자 함수는 가능합니다.
   * 그림자는 특정 그래픽 하드웨어 지원을 필요로 합니다. 좀더 많은 정보는 [[Shadows]]를 보세요.   * 그림자는 특정 그래픽 하드웨어 지원을 필요로 합니다. 좀더 많은 정보는 [[Shadows]]를 보세요.
-  * 그림자가 완전히 비활성화 되지 않으면 [[unity3d:class-QualitySettings|Quality Settings]]를 보세요.+  * 그림자가 완전히 비활성화 되지 않으면 [[class-QualitySettings|Quality Settings]]를 보세요.
   * _그림자는 현재 안드로이드와 iOS에는 지원되지 않습니다._   * _그림자는 현재 안드로이드와 iOS에는 지원되지 않습니다._
  
 ====어떤 객체는 그림자를 내지도 받지도 않습니다==== ====어떤 객체는 그림자를 내지도 받지도 않습니다====
  
-첫째, [[unity3d:class-MeshRenderer|Renderer]]는 자신의 그림자에 그림자 받는 것에는 //Receive Shadows//를 그림자를 내는 것에는 //Cast Shadows//를 가져야 합니다(둘다 기본 입니다).+첫째, [[class-MeshRenderer|Renderer]]는 자신의 그림자에 그림자 받는 것에는 //Receive Shadows//를 그림자를 내는 것에는 //Cast Shadows//를 가져야 합니다(둘다 기본 입니다).
  
 다음으로 불투명한 객체만이 그림자를 내고 받을수 있습니다. 즉 내장된 [[shader-TransparentFamily|Transparent]]나 Particle 쉐이더를 사용하면 그림자를 볼 수 없을 것입니다. 대부분의 경우 [[shader-TransparentCutoutFamily|Transparent Cutout]]쉐이더에 가능합니다(펜스나 생물 객체, 등등). 만약 사용자 정의 [[Shaders]]를 사용한다면 그 쉐이더는 pixel-lit이고 [[SL-SubshaderTags|Geometry render queue]]를 사용하여야 합니다. //VertexLit//쉐이더를 사용하는 객체는 그림자를 받지 않습니다(그러나 낼수는 있습니다). 다음으로 불투명한 객체만이 그림자를 내고 받을수 있습니다. 즉 내장된 [[shader-TransparentFamily|Transparent]]나 Particle 쉐이더를 사용하면 그림자를 볼 수 없을 것입니다. 대부분의 경우 [[shader-TransparentCutoutFamily|Transparent Cutout]]쉐이더에 가능합니다(펜스나 생물 객체, 등등). 만약 사용자 정의 [[Shaders]]를 사용한다면 그 쉐이더는 pixel-lit이고 [[SL-SubshaderTags|Geometry render queue]]를 사용하여야 합니다. //VertexLit//쉐이더를 사용하는 객체는 그림자를 받지 않습니다(그러나 낼수는 있습니다).
  
-마지막으로 ''픽셀 빛'' 많이 그림자를 냅니다. 만약 어떤 빛이 씬에 몇 개의 빛이 있건 항상 그림자를 내기를 원한다면 //Force Pixel//렌더 모드를 설정하세요([[unity3d:class-Light|Light]]를 보세요).+마지막으로 ''픽셀 빛'' 많이 그림자를 냅니다. 만약 어떤 빛이 씬에 몇 개의 빛이 있건 항상 그림자를 내기를 원한다면 //Force Pixel//렌더 모드를 설정하세요([[class-Light|Light]]를 보세요).
  
  
줄 45: 줄 46:
 [[#iPhoneTroubleShooting]] [[#iPhoneTroubleShooting]]
 ======iOS!====== ======iOS!======
->>ios<<+
 ======iOS 장치에서의 문제 해결====== ======iOS 장치에서의 문제 해결======
  
줄 51: 줄 52:
  
 =====Xcode 3.2.x fails to build application with error "libiPhone-lib.a, missing required architecture i386 in file Undefined symbols: "Register_UnityEngine_Input_GetMouseButtonDown()", referenced from: RegisterAllStrippedInternalCalls()     in RegisterMonoModules.o===== =====Xcode 3.2.x fails to build application with error "libiPhone-lib.a, missing required architecture i386 in file Undefined symbols: "Register_UnityEngine_Input_GetMouseButtonDown()", referenced from: RegisterAllStrippedInternalCalls()     in RegisterMonoModules.o=====
-이 빌드 에러는 보통[[unity3d:class-PlayerSettings|Player Settings]]에서 non-simulator SDK가 선택되면 발생하는데 나중에 Xcode 에서는 SDK가 시뮬레이터로 바뀝니다. 시뮬레이터 빌드를 실행하기 위해서는 [[unity3d:class-PlayerSettings|Player Settings]]에서simulator SDK를 선택해야 합니다.+이 빌드 에러는 보통[[class-PlayerSettings|Player Settings]]에서 non-simulator SDK가 선택되면 발생하는데 나중에 Xcode 에서는 SDK가 시뮬레이터로 바뀝니다. 시뮬레이터 빌드를 실행하기 위해서는 [[class-PlayerSettings|Player Settings]]에서simulator SDK를 선택해야 합니다.
  
  
 =====Xcode 4.x fails to build application with error "No architectures to compile for (ARCHS=armv6, VALID_ARCHS=i386)."===== =====Xcode 4.x fails to build application with error "No architectures to compile for (ARCHS=armv6, VALID_ARCHS=i386)."=====
-현재 유니티는 Xcode 4.x에 대한 제한된 지원을 하고 있고 최종 프로그램을 빌드하려면 약간의 수동 작업의 노력이 필요합니다. 빌드하고 실행하면 유니티 iOS가 생성한 Xcode 프로젝트를 엽니다 하지만 이것은 적절한 빌드 타겟와 적절한 목표 장치를 선택하지 못합니다. 장치에서 테스트를 위해 빌드한다면 "Unity-iPhone"과 맥에 연결된 iOS장치를 빌드 타겟으로 선택합니다. 시뮬레이터에서 테스트를 위해 빌드한다면(_주의:_ [[unity3d:class-PlayerSettings|Player Settings]]에서 적절한 SDK가 필요합니다) "Unity-iPhone-simulator"와 적절한 시뮬레이터 장치를 선택해야합니다. +현재 유니티는 Xcode 4.x에 대한 제한된 지원을 하고 있고 최종 프로그램을 빌드하려면 약간의 수동 작업의 노력이 필요합니다. 빌드하고 실행하면 유니티 iOS가 생성한 Xcode 프로젝트를 엽니다 하지만 이것은 적절한 빌드 타겟와 적절한 목표 장치를 선택하지 못합니다. 장치에서 테스트를 위해 빌드한다면 "Unity-iPhone"과 맥에 연결된 iOS장치를 빌드 타겟으로 선택합니다. 시뮬레이터에서 테스트를 위해 빌드한다면(_주의:_ [[class-PlayerSettings|Player Settings]]에서 적절한 SDK가 필요합니다) "Unity-iPhone-simulator"와 적절한 시뮬레이터 장치를 선택해야합니다. 
  
 =====얼마의 시간이 지나면 게임이 멈춥니다. Xcode가 상태바에 "interrupted"를 보여줍니다.===== =====얼마의 시간이 지나면 게임이 멈춥니다. Xcode가 상태바에 "interrupted"를 보여줍니다.=====
줄 124: 줄 125:
 {{:unity3d:ActivityMonitor.png}}  {{:unity3d:ActivityMonitor.png}} 
  
-_주의:_ [[unity3d:iphone-InternalProfiler|internal profiler]]은 .NET스크립트에 의해 할당된 힙만을 보여줍니다. 총 메모리 사용은 위에서처럼 Xcode Instruement에서 얻을 수 있습니다. 이 숫자는 메모리에 로드 되어 7MB를 차지하는 프로그램 바이너리, 어떤 표준 프레임워크 버퍼, 유니티 엔진 내부 상태 버서, .NET 런타임 힙(internal profiler에서 보여주는 값) 그리고 그 밖의 값들을 포함합니다.\\+_주의:_ [[iphone-InternalProfiler|internal profiler]]은 .NET스크립트에 의해 할당된 힙만을 보여줍니다. 총 메모리 사용은 위에서처럼 Xcode Instruement에서 얻을 수 있습니다. 이 숫자는 메모리에 로드 되어 7MB를 차지하는 프로그램 바이너리, 어떤 표준 프레임워크 버퍼, 유니티 엔진 내부 상태 버서, .NET 런타임 힙(internal profiler에서 보여주는 값) 그리고 그 밖의 값들을 포함합니다.\\
  
  
줄 151: 줄 152:
  
 =====Type.GetProperty() / Type.GetValue()가 장치에서 크래쉬를 야기합니다===== =====Type.GetProperty() / Type.GetValue()가 장치에서 크래쉬를 야기합니다=====
-현재 //Type.GetProperty()//와 //Type.GetValue()//는 //.NET 2.0 Subset//에서만 지원합니다. [[unity3d:class-PlayerSettings|Player Settings]]에서 .NET API 호환 레벨을 선택합니다. +현재 //Type.GetProperty()//와 //Type.GetValue()//는 //.NET 2.0 Subset//에서만 지원합니다. [[class-PlayerSettings|Player Settings]]에서 .NET API 호환 레벨을 선택합니다. 
  
-_주의:_ //Type.GetProperty()//와 //Type.GetValue()//는 managed code stripping 과 호환되지 않을 수 있으며 사용자 정의의 스트리핑이 되지 않는 타입 리스트를 제공함으로써 스트리핑을 사용하는 타입을 제외시켜야 할수도 있습니다. 좀더 자세한 사항은 [[unity3d:iphone-playerSizeOptimization|iOS player size optimization guide]]을 보세요.+_주의:_ //Type.GetProperty()//와 //Type.GetValue()//는 managed code stripping 과 호환되지 않을 수 있으며 사용자 정의의 스트리핑이 되지 않는 타입 리스트를 제공함으로써 스트리핑을 사용하는 타입을 제외시켜야 할수도 있습니다. 좀더 자세한 사항은 [[iphone-playerSizeOptimization|iOS player size optimization guide]]을 보세요.
  
 =====게임이 다음 에러와 함께 크래쉬합니다 "ExecutionEngineException: Attempting to JIT compile method 'SometType`1<SomeValueType>:.ctor ()' while running with --aot-only."===== =====게임이 다음 에러와 함께 크래쉬합니다 "ExecutionEngineException: Attempting to JIT compile method 'SometType`1<SomeValueType>:.ctor ()' while running with --aot-only."=====
줄 168: 줄 169:
 .NET 암호화 서비스는 반사에 크게 의존하므로 정적 코도 분석에 의존하는managed code stripping과 호환되지 않습니다. 가끔 가장 쉬운 방법은 스트리핑 프로세스에서 모든 //System.Security.Crypography//네임스페이스를 제외 시키는 것입니다. .NET 암호화 서비스는 반사에 크게 의존하므로 정적 코도 분석에 의존하는managed code stripping과 호환되지 않습니다. 가끔 가장 쉬운 방법은 스트리핑 프로세스에서 모든 //System.Security.Crypography//네임스페이스를 제외 시키는 것입니다.
  
-스티리핑 프로세스는 사용자 정의된 //link.xml//파일을 유니티 iOS //에셋//폴더에 추가함으로써 사용자 정의 할 수 있고 어떤 타입 또는 네임스페이스를 스트리핑에서 제외 시켜야 하는지 지정합니다. 좀더 자세한 사항은 [[unity3d:iphone-playerSizeOptimization|iOS player size optimization guide]]을 보세요.+스티리핑 프로세스는 사용자 정의된 //link.xml//파일을 유니티 iOS //에셋//폴더에 추가함으로써 사용자 정의 할 수 있고 어떤 타입 또는 네임스페이스를 스트리핑에서 제외 시켜야 하는지 지정합니다. 좀더 자세한 사항은 [[iphone-playerSizeOptimization|iOS player size optimization guide]]을 보세요.
  
 ====link.xml==== ====link.xml====
줄 186: 줄 187:
 [[#AndroidTroubleShooting]] [[#AndroidTroubleShooting]]
 ======Android!====== ======Android!======
->>android<<+<
 ======안드로이드 개발 문제 해결====== ======안드로이드 개발 문제 해결======
 =====유니티가 사용자 프로그램을 장치에 설치 실패 ===== =====유니티가 사용자 프로그램을 장치에 설치 실패 =====
줄 231: 줄 232:
  
  
-{{tag>유니티 unity}} 
    * 출처: [[http://unitykoreawiki.com/index.php?n=KrMain.TroubleShooting|유니티코리아위키]] (CC BY-NC-SA 2.0)    * 출처: [[http://unitykoreawiki.com/index.php?n=KrMain.TroubleShooting|유니티코리아위키]] (CC BY-NC-SA 2.0)