2017-04-05 25 views
2

我的voxel地形源代碼無法保存數據。我有一個稱爲terrain的3D char數組,當我保存時,它的結果是空的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字符char數組不是空的,我把一些數據轉換成它在保存之前。

回答

2

正如在JSON Serialization Docs中提到的那樣,JsonUtility.ToJson將只序列化相同的類型,你可以在Unity的檢查器中序列化。 char [,,,]不會在Unity的檢查器中序列化,因此它不會使用JsonUtility序列化。ToJson