小工具知识网

当前位置: 首页 > 行业知识 > Unity编辑器下如何获取物体(GameObject)的中心位置

行业知识

Unity编辑器下如何获取物体(GameObject)的中心位置

2026-10-22 03:52:43 来源:互联网转载

���意仅能在编辑器下才能使用该方法

()

实现方式依靠UnityEditor.Tools提供的参数,具体实现如下:

  • 获取单个物体的中心坐标
    public static Vector3 GetGameObjectCenter(GameObject gameObject){    // 选中物体    Selection.activeObject = gameObject;    // 记录当前Scene窗口的Tool Handle状态    var curPivotMode = Tools.pivotMode;    // 将Handle转成Center模式    Tools.pivotMode = PivotMode.Center;    // 获取Scene的View    SceneView view = SceneView.lastActiveSceneView;    // 聚焦并重绘场景    view.Focus();    view.Repaint();    // 保存当前handle的坐标,即为center坐标    var center = Tools.handlePosition;    // 复原状态    Selection.objects = null;    Tools.pivotMode = curPivotMode;    return center;}
    • 获取一组物体的中心坐标
      public static Vector3 GetGameObjectsCenter(GameObject[] gameObjects){    // 选中所有物体    Selection.objects = gameObjects;    // 记录当前Scene窗口的Tool Handle状态    var curPivotMode = Tools.pivotMode;    // 将Handle转成Center模式    Tools.pivotMode = PivotMode.Center;    // 获取Scene的View    SceneView view = SceneView.lastActiveSceneView;    // 聚焦并重绘场景    view.Focus();    view.Repaint();    // 保存当前handle的坐标,即为center坐标    var center = Tools.handlePosition;    // 复原状态    Selection.objects = null;    Tools.pivotMode = curPivotMode;    return center;}
      ()

上一篇:揭秘激活码获取秘籍,轻松一键启动!

下一篇:Win10组合键秘籍,高效操作技巧大揭秘!