查看: 2193|回复: 0
打印 上一主题 下一主题

将GameObject移动到(0,0,0)[Editor Script的威力] (转载)

[复制链接]

2508

主题

2

听众

3万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
32806
精华
12

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

跳转到指定楼层
楼主
发表于 2012-11-3 11:34:35 |显示全部楼层 |倒序浏览
是不是您已经对每次将大堆的GameObject移动到原点几经感到厌烦了呢?

来看看下面的代码是如何为unity3d添加新功能的吧


代码:

using UnityEditor;
using UnityEngine;

class MoveToOrigin {
    /// <summary>
    /// Moves the selected game object(s) to (0, 0, 0).
    /// <summary>
    /// <remarks>Keyboard shortcut: cmd-0 (Mac), ctrl-0 (Windows).</remarks>
    [MenuItem ("GameObject/Move To Origin %0")]
    static void MenuMoveToOrigin () {
        // Move each selected transform to (0, 0, 0)
        foreach (Transform t in Selection.transforms) {
            Undo.RegisterUndo(t, "Move " + t.name);
            t.position = Vector3.zero;
            Debug.Log("Moving " + t.name + " to origin");
        }
    }
   
    /// <summary>
    /// Validates the "Move To Origin" menu item.
    /// </summary>
    /// <remarks>The menu item will be disabled if no transform is selected.</remarks>
    [MenuItem ("GameObject/Move To Origin %0", ***e)]
    static bool ValidateMoveToOrigin () {
        return Selection.activeTransform != null;
    }
}

将此代码命名为MoveToOrigin.cs

并且在你的工程下建立名为Editor的文件夹,并将MoveToOrigin.cs放入其中

你将会在GameObject菜单下发现Move To Origin选项



现在选中一个或多个GameObject然后按cmd+0(Mac系统)/ctrl+0(Windows)

所有选中物体都移动到了原点位置
分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

关闭

站长推荐上一条 /1 下一条

手机版|纳金网 ( 闽ICP备08008928号

GMT+8, 2024-5-14 23:16 , Processed in 0.081061 second(s), 34 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部