我的体素地形源代码无法保存数据。我有一个名为terrain的3D char数组,当我保存时,它的结果是空的json。结果是:
{}
源代码是:
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 char数组不是空的,我在保存之前将一些数据放入其中。
答案 0 :(得分:2)
正如JSON Serialization Docs中提到的那样,JsonUtility.ToJson将仅序列化与Unity检查器中序列化相同的类型。 char [,,,]不会在Unity的检查器中序列化,因此它不会使用JsonUtility.ToJson进行序列化