using UnityEngine; using UnityEditor; using System.IO; using System; public class jiexi {//第一種解析方法, [MenuItem("Tool/jiexi")] static void Creat() { string path = Application.dataPath + "/jsondata.json"; if (!File.Exists(path))//判斷路徑是否存在 { return; } string s = File.ReadAllText(path); objxl ox = JsonUtility.FromJson<objxl>(s);//從json文件中解析 for (int i = 0; i < ox.list.Count; i++) { GameObject ob = GameObject.CreatePrimitive((PrimitiveType)Enum.Parse(typeof(PrimitiveType), ox.list[i].name));//字符串轉枚舉 ob.transform.position = ox.list[i].pos; ob.transform.eulerAngles = ox.list[i].rot; ob.transform.localScale = ox.list[i].sc; } } }
using UnityEngine; using System; using System.IO; public class jiexi2 : MonoBehaviour { // Use this for initialization void Start () { string path = Application.dataPath + "/jsondata.json"; if (!File.Exists(path)) { return; } string s = File.ReadAllText(path); objxl ox = JsonUtility.FromJson<objxl>(s); for (int i = 0; i < ox.list.Count; i++) { GameObject ob = GameObject.CreatePrimitive((PrimitiveType)Enum.Parse(typeof(PrimitiveType), ox.list[i].name));//字符串轉枚舉 ob.transform.position = ox.list[i].pos; ob.transform.eulerAngles = ox.list[i].rot; ob.transform.localScale = ox.list[i].sc; } }
[System.Serializable] public class objxl {//用list來存對象信息 public List<objinfo> list = new List<objinfo>(); }
[System.Serializable] public class objinfo//對象信息 { public Vector3 pos; public Vector3 rot; public Vector3 sc; public string name; }