Unity拷贝运行时数据的世界Trans信息可以得到json数据,稍微改装一下就可以得到对象数据了(没找到官方对应的接口,如果有知道的可以评论区留言),如下图:
代码如下:
[MenuItem("Assets/解析数据")]
public static void Parse() {
string test = @"UnityEditor.TransformWorldPlacementJSON:{{""position"":{ ""x"":0.0,""y"":0.0,""z"":-10.0},""rotation"":{ ""x"":0.0,""y"":0.0,""z"":0.0,""w"":1.0},""scale"":{ ""x"":1.0,""y"":1.0,""z"":1.0} }}";
// 移除前缀 "UnityEditor.TransformWorldPlacementJSON:"
string json = test.Substring(test.IndexOf(":{") + 2, test.Length - test.IndexOf(":{") - 3);
Debug.Log(json);
TransformWorldPlacement placement = JsonUtility.FromJson<TransformWorldPlacement>(json);
Debug.Log("Position: " + placement.position);
Debug.Log("Rotation: " + placement.rotation);
Debug.Log("Scale: " + placement.scale);
}
[System.Serializable]
public class TransformWorldPlacement
{
public Vector3 position;
public Quaternion rotation;
public Vector3 scale;
}