using System.Globalization; using System.Text; using UnityEditor; using UnityEngine; public static class InspectMaleExplorerFinal { public static string Execute() { const string path = "Assets/Bundles/Characters/MaleExplorer/MaleExplorer.prefab"; var prefab = AssetDatabase.LoadAssetAtPath(path); var go = (GameObject)PrefabUtility.InstantiatePrefab(prefab); go.transform.position = new Vector3(0f, go.transform.position.y, 2.5f); var sb = new StringBuilder(); sb.AppendLine(string.Format(CultureInfo.InvariantCulture, "root pos={0} rot={1} scale={2}", go.transform.position, go.transform.eulerAngles, go.transform.localScale)); foreach (var r in go.GetComponentsInChildren(true)) { if (r.name == "ShadowDisc") continue; var b = r.bounds; sb.AppendLine(string.Format(CultureInfo.InvariantCulture, "{0} bounds center=({1:F3},{2:F3},{3:F3}) size=({4:F3},{5:F3},{6:F3}) mat={7} shader={8}", r.name, b.center.x, b.center.y, b.center.z, b.size.x, b.size.y, b.size.z, r.sharedMaterial ? r.sharedMaterial.name : "null", r.sharedMaterial && r.sharedMaterial.shader ? r.sharedMaterial.shader.name : "null")); } Object.DestroyImmediate(go); return sb.ToString(); } }