목록프로그래밍 (61)
Unity에선 split application binary 기능을 지원한다. 이 기능을 통해 기본 앱(APK)파일과 .obb확장 파일을 만들어 낼 수 있다. 하지만, Application.dataPath를 이용해 특정 경로에서 파일을 가져와 사용하는 처리가 있다면 주의해야한다. Unity Documentation에 다음과 같은 내용이 있다. *** Android: Normally it would point directly to the APK. The exception is if you are running a split binary build in which case it points to the the OBB instead. *** 기본적으로 Android Platform에서 Application.da..
Android플랫폼의 Unity에서 .mp4등 미디어 파일을 재생해야 할 일이 있을 것 이다. 게임 실행시 인트로에서 동영상을 재생시킨다든가, 튜토리얼을 영상으로 제공한다든가 등 사용되는 곳이 많다. 프로젝트가 마무리 단계에 접어들어, shell command를 통해 빌드를 자동화 하는 중 처음보는 현상을 마주치게 되었다. E/Unity: AndroidVideoMedia::VideoDecoder::Blit failed. Decode shader probably unsupported. 원래, 게임 설치 후 최초 실행하면 인트로 영상이 나와야 할 타이밍에 영상이 나오지 않고 검은 화면만 노출되는 현상이었다. 자동화 빌드에 문제가 생겼나? 하고 원인을 파악해보니 다음과 같았다. - Unity Editor를 통..
안녕하세요 이번엔 안드로이드 빌드 결과물로 나온 APK의 AndroidManifest를 디컴파일(Decompile)해서 해당 내용을 들여다보고, 분석하는 자동화 배치 파일을 만들어보겠습니다. 규모가 큰 하나의 프로젝트를 여러 플랫폼으로 빌드하다 보면, 플랫폼에 따라 필요한 .aar이나 기타 라이브러리 파일의 관리가 점점 어려워집니다. Google Play Resolver를 사용하고, 직접 aar파일을 관리해주곤 해도 결국 어디선가 실수를 하거나 구멍이 나거나 하면 이유를 찾지 못해 시간을 낭비하곤 합니다. 저는 원스토어, 플레이스토어, 여러 국외 마켓 등 여러가지 플랫폼으로 빌드하는 과정에서 AndroidManifest에 의도치 않은 Permission등이 들어가 중복 설치가 안되거나 하는 것 때문에 꽤..
Windows Batch Command나 젠킨스(Jenkins)등을 이용해 자동화 시스템 등을 만들어야 하는 일이 종종있다. 필자는 비개발자들도 사용할 수 있도록 툴을 제공하기 위해 가장 많이 만들었던 것 같다. 윈도우의 경우 배치 명령어를 통해 .bat 확장자 파일을 만들어 사용해도 되지만, 쉘 스크립트가 익숙하다면 .sh확장자 파일을 만들어 사용하자 아무 폴더에나 .bat혹은 .sh파일을 생성하고 다음과 같이 적는다 "유니티설치경로\Unity\Editor\Unity.exe" -quit -batchmode -logFile "빌드 로그파일이 생성될 위치"\build_log.log -buildTarget win32 -projectPath "프로젝트경로" -executeMethod "클래스명"."함수명" U..
출근 하자마자 클라이언트 앱이 뻗는 이슈를 제보받았다. 발생 시점을 조사해보니 캐릭터가 다리를 지나가면 해당 다리가 뒤따라오며 무너지는 연출이 발생하는 시점에서 간헐적으로 해당 이슈가 발생했다. 에러 구문 중 핵심은 다음과 같다. transform.position assign attempt for 'monster_agent(Clone)' is not valid. Input position is { Infinity, Infinity, Infinity }. UnityEngine.AI.NavMeshAgent:Warp(Vector3) ... ... CalculatePolygonPath: invalid input position(s). Source position { Infinity, Infinity, Infin..