- 计算模型的中心点的方法
下面展示一些 内联代码片。
////// 计算模型的中心点 /// /// ///public Vector3 SetModelCenterEvent(Transform tran) { Vector3 position = tran.position; Quaternion quaternion = tran.rotation; Vector3 scale = tran.localScale; tran.position = Vector3.zero; tran.rotation = Quaternion.Euler(Vector3.zero); tran.localScale = Vector3.one; Vector3 center = Vector3.zero; Renderer[] renders = tran.GetComponentsInChildren (); foreach (Renderer child in renders) { center += child.bounds.center; } center /= tran.GetComponentsInChildren ().Length; Bounds bounds = new Bounds(center, Vector3.zero); foreach (Renderer item in renders) { bounds.Encapsulate(item.bounds); } tran.position = position; tran.rotation = quaternion; tran.localScale = scale; foreach (Transform item in tran) { item.position = item.position - bounds.center; } return bounds.center + tran.position; }



