1인 개발/나홀로 성 지키기

나홀로 성 지키기 개인 프로젝트 20일차

잼잼재미 2024. 4. 12. 02:39

트러블 슈팅


1. 빌드 후, Json 데이터 불러오기


 

원래 기존에 Json 데이터를 관리하는 폴더를 만들어서 경로를 지정했는데, 이 경로를 지우니 Window 빌드는 문제 없이 잘 실행이 됐다. 하지만 WebGL, Android 빌드에서는 위와 같이 데이터를 찾을 수 없다는 오류가 발생했다.

 

 

https://kkln2486.tistory.com/390

 

Json 데이터 저장

Json (JavaScript Object Notation) 데이터를 저장하거나 교환하는데 사용되는 경량의 데이터 교환 형식 텍스트 기반의 데이터 형식 키-값 쌍으로 이루어진 데이터 객체와 배열을 포함 유니티에서 JSON Util

kkln2486.tistory.com

 

문제는 WebGL과 Android의 경로 설정은 Window와 다르게 설정해야 했다. Window 빌드는 Application.dataPath 경로를 사용해도 잘 작동하지만, WebGL과 Android의 경로는 Application.persistentDataPath 경로를 사용해야지 저장/불러오기가 가능했다.

 

void SaveGameDataToJson()
{
    if (Application.platform == RuntimePlatform.WebGLPlayer || Application.platform == RuntimePlatform.Android)
    {
        string jsonData = JsonUtility.ToJson(GameData, true);
        string path = Path.Combine(Application.persistentDataPath, "GameData.json");
        File.WriteAllText(path, jsonData);
    }
    else
    {
        string jsonData = JsonUtility.ToJson(GameData, true);
        string path = Path.Combine(Application.dataPath, "GameData.json");
        File.WriteAllText(path, jsonData);
    }
}

 

그래서 사용 플랫폼에 맞게 경로를 다르게 설정하도록 DataManager의 코드를 수정했다.

 

 

2. WebGL 빌드 후, 화면 짤림


 

 

해상도에 맞게 빌드를 했는데, 위와 같이 Web에서 화면 가장자리가 잘려서 실행됐다. 이 문제는 유니티에서 Build And Run을 해서 실행 했을 때만 나타나는 현상이었다. 결과적으로 Itch.io에 빌드를 했으며, 잘 실행 됐고 저장도 잘 됐다!

 

https://jaemin111.itch.io/castledefencealone

 

 

회고


드디어 몇일에 걸쳐 WebGL 빌드를 성공해서 Itch.io에 업로드를 성공했다. 하지만 업로드를 하니 우측 하단에 For educational Use Only 라는 문구가 떠있었다. 내일배움캠프 유니티 과정을 하면서 교육용 라이선스를 받았는데 그대로 작업을 했기 때문에 생성된 것 같다. 조금 검색을 해보니 교육용 라이선스는 상업적 용도로 사용할 수 없다는 것 같다.. 최종 목표는 광고 코드를 넣어서 안드로이드 빌드를 해서 구글 플레이에 업로드 하는 것이기 때문에, 개인용 무료 라이선스로 바꾸는 작업이 필요할 것 같다. 그리고 광고 코드를 넣고 업로드를 하도록 하겠다!