2017-04-05 4 views
2

내 보셀 지형 소스 코드로 데이터를 저장할 수 없습니다. 지형이라는 3D 문자 배열이 있는데 저장하면 빈 json이 결과입니다. 그 결과는 다음과 같습니다JSON을 사용하여 Unity 3D에 저장하지 못했습니다.

{} 

소스 코드는 다음과 같습니다

public void TerrainSave() { 
    LoadingSavingClass myObject = new LoadingSavingClass(); 
    myObject.terrain = terrain; 
    string json = JsonUtility.ToJson(myObject); 
    File.WriteAllText(Application.streamingAssetsPath + "/terrain/save.ter", json); 
    if(json == "{}") 
    { 
     Debug.Log("Saved clear data"); 
    } 
} 

클래스는 다음과 같습니다

[Serializable] 
public class LoadingSavingClass 
{ 
    public char[,,] terrain = new char[128, 32, 128]; 
} 

저장된 3D 문자의 문자 배열이 비어 있지, 난 일부 데이터를 넣어 저장하기 전에.

답변

2

JSON Serialization Docs에서 언급했듯이 JsonUtility.ToJson은 Unity의 검사기에서 직렬화 할 수있는 것과 동일한 유형 만 직렬화합니다. char [,,,]는 Unity의 검사기에서 직렬화되지 않으므로 JsonUtility와 직렬화되지 않습니다 .Joe

관련 문제