Pink Transparent Star

카테고리 없음

[해결 시도 중]Unity Editor에선 실행이 되는데 APK를 실행하면 안된다

채유나 2023. 4. 20. 15:09
728x90

빌드를 성공했다는 기쁨도 잠시.. Oculus에 APK 파일과 Obb 파일을 넣고 실행 한 결과.. 

 

에러 메시지도 존재하지 않았는데 빌드 화면 속에서는 회색화면이 나타나게 되었습니다..

 

이것저것 테스트를 해보면서 내린 결론으론 Camera를 가지고 있는 Player를 실행을 진행하면서 Prefab으로 불러와 작동을 하는데 Prefab를 가져오는 과정에서 오류가 생겨 Camera를 인식하지 못해 회색화면이 나오지 않는게 아닐까 추측을 하고 있었는데 구글링을 해본 결과 대부분의 상황은

 

1. Camera 문제 

EX)

여러 개의 Camera를 사용하면서 끄고 키고하는 중에 문제가 생기는 경우도 있음

 

2. 텍스쳐, 쉐이더 문제 

EX)

쉐이더를 추가하지 않는 경우 문제가 생기는 경우

 

대표적으로 2개의 무제였고 이후에도 여러가지 변수가 많았는데 해당 해결방안은 나에게 도움이 되지 않았습니다..

 

 

이번에는 요즘 인기가 많은 Chat GPT한테 물어본 결과 아래와 같이 답변을 받아보았습니다.

 

 

< Oculus PlayerSetting >

Color Space : Linear

API Level : Android 10( API Level 29)

Target Architectures : ARM64

Scripting Backend : IL2CPP

 

 


카메라 의심

 

VR 컨텐츠로 Scene 안에 Main Camera가 없고 Player의 CenterEye에 Main Camera가 들어가 있는 상황..

Player를  Prefab으로 만들어 Scene이 넘어갈때 Player의 Load 될 수 있도록 구현이 되어있습니다.

 

Player를 불러들이는 Script는 비활성화 하고 Player를 Scene에 배치해본 결과 정상 작동은 되지 않았지만 Scene안에 공간에 Oculus 기기 안에 보여지고 있었습니다.

 

그럼 Player를 Load하는 중에 문제가 발생하는 것이 아닐까? 라는 의심을 가지게 되었고 데이터가 흘러가는 흐름을 찾아내고 예외 처리를 해야겠다고 생각했습니다.

 

APK Debugging

Unity에서 에러메시지는 콘솔 자체에서 Error가 보여지지만 기기 자체에서는 해당 로그를 볼 수 있는 방법을 알아 보았습니다.

 

Development Build / Script Debugging 체크 후 디바이스를 빌드하는 중

 

 

 

...? Build가 되지않았다.. 해결 방안을 찾아보았지만 나같은 사례는 안나오고 ..결국 Unity 제공 에셋 Android Logcat을 사용해서 보는게 편하다는 사수님의 추천으로 사용을 하게 되었습니다...

 

Android Logcat Debugging

기기를 연결한 후 Build And Run 을 통해 앱을 실행하면 로그들이 나오는것을 확인 할 수 있습니다.

 

또 다른 시련을 겪게 되었습니다..

 

 

 

Error OVRPlugin [GetBoundaryGeometry] ovrpBoundary_Outer is not supported (arvr/projects/integrations/OVRPlugin/Src/Util/CompositorOpenXR.cpp:8295) 

 

 

Unity  문서를 확인 해 보았습니다. GetBoundary___ 지정된 경계에 대한 값인 것같은데 뭘까..

 

Class Boundary | Oculus XR Plugin | 1.6.1

Class Boundary Inheritance Boundary Assembly : solution.dll Syntax public static class Boundary Methods GetBoundaryConfigured() Returns true if the boundary system is currently configured with valid boundary data. Declaration public static bool GetBoundary

docs.unity3d.com

 

728x90