Unity 计算所有物体包围盒的中心点


【Unity 计算所有物体包围盒的中心点】转载:https://blog.csdn.net/e295166319/article/details/52934072

[MenuItem ("MyMenu/设置物体的中心点") static void CalculateCenter() { // 1.动态技算 Transform parent = transform; Transform parent =Selection.activeGameObject.transform; // 2.选中技算Vector3 postion = parent.position; Quaternion rotation = parent.rotation; Vector3 scale = parent.localScale; parent.position = Vector3.zero; parent.rotation = Quaternion.Euler(Vector3.zero); parent.localScale = Vector3.one; Vector3 center = Vector3.zero; Renderer[] renders = parent.GetComponentsInChildren(); foreach (Renderer child in renders) { center += child.bounds.center; } center /= parent.GetComponentsInChildren().Length; Bounds bounds = new Bounds(center, Vector3.zero); foreach (Renderer child in renders) { bounds.Encapsulate(child.bounds); }parent.position = postion; parent.rotation = rotation; parent.localScale = scale; foreach (Transform t in parent) { t.position = t.position - bounds.center; } parent.transform.position = bounds.center + parent.position; }


    推荐阅读