Unity3D Layout 快捷键
我的需求是开发的时候一种布局,运行的时候一种布局,Unity3D 选项中的自定义快捷键的太少,只能另想办法。Google 之后,找到解决方法:Editor layout hotkeys?
1、创建菜单
Unity3D 支持自定义菜单,在 Assets 目录下创建目录 Editor,然后创建脚本 Layout.cs,如下:
using UnityEngine;
using UnityEditor; public class Layout : EditorWindow { [MenuItem("Window/Layouts/Development Hotkey %#&e", false, )]
static void Development() {
EditorApplication.ExecuteMenuItem("Window/Layouts/Development");
} [MenuItem("Window/Layouts/Run Hotkey %#&d", false, )]
static void Run() {
EditorApplication.ExecuteMenuItem("Window/Layouts/Run");
} }
以下,会在相应的菜单下增加菜单项,并且增加相应的快捷键 ctrl+shift+alt+e 和 ctrl+shift+alt+d,更多信息请参见:MenuItem。
另外,相应的 Layout 必须存在,如下:
2、快捷键映射
以上快捷键设置比较复杂,主要是防止快捷键冲突,如果能确保不冲突的话,这一步可以忽略。
利用 AutoHotkey 进行快捷键映射,如下:
f5::
if WinActive("ahk_class UnityContainerWndClass")
{
Send ^p
Send ^p
}
else
{
Send {f5}
}
Return
f7::
if WinActive("ahk_class UnityContainerWndClass")
{
Send ^!+e
Send ^!+e
}
else
{
Send {f7}
}
Return
f8::
if WinActive("ahk_class UnityContainerWndClass")
{
Send ^!+d
Send ^!+d
}
else
{
Send {f8}
}
Return
这样,按 F5 是运行,F7 是开发模式,F8 是运行模式。
3、打包 dll
每新建一个工程,就需要在相应的目录下面增加 Editor 和 Layout.cs,有点麻烦,我想找到一个方法可以让 Unity3D 全局都运行这个脚本,目前还没找到方法,不过有其他的发现,就是可以通过 MonoDevelop 生成 C# Library 供 Unity3D 使用。
打开 MonoDevelop 新建 Solution,选择 C# Library。将以上的 Layout.cs 拷贝到该工程下。
接着在工程目录下的 References 右键编辑,将以下的 dll 加入工程引用:
D:\Program Files (x86)\Unity\Editor\Data\Managed\UnityEngine.dll
D:\Program Files (x86)\Unity\Editor\Data\Managed\UnityEditor.dll
然后 Build,生成的 dll 在 bin 目录下,拷贝到 Unity3D 工程的 Assets 目录下,最好创建一个专门的目录叫 Plugins,用于引用外部库。
4、导出 Package
新建工程的时候,会有一个对话框,提示你哪些包需要导入,而这些可选择的包都保存在 Unity3D 标准的 Packages 目录下面:
D:\Program Files (x86)\Unity\Editor\Standard Packages
所以,只要把自定义的包导出到该目录下,就可以在新建工程的时候直接导入。
导出自定义包的方法非常简单,选定需要导出的目录或者文件,右键 Export Package,指定目录就行了。
以下就是我的两种开发模式截图:
Unity3D Layout 快捷键的更多相关文章
- unity3D 常用快捷键
http://blog.csdn.net/ganlijianstyle/article/details/7985509 此页面提供了Unity3D默认的快捷键. shift +方向键 ...
- [Unity3D]MonoDeveloper快捷键(补全代码补全引用中文乱码tab转空格)
Hello亲爱的观众朋友们大家好,我是09. vs支持各种插件,一般推荐用vs.不过总有人(例如我)由于各种原因用MonoDeveloper.苦于每次上网找各种设置,此处集中写下我用MonoDevel ...
- ahjesus Unity3D界面快捷键
F Frame selection Tab Shift focus between first column and second column (Two columns) Ctrl/Cmd + F ...
- Unity3D默认的快捷键
shift +方向键 向“向方向键前进” Windows系统Unity3D中的快捷键 组合键 键 功能 File 文件 Ctrl N New Scene 新建场景 Ctrl ...
- unity3d快捷键大全
Unity是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏.建筑可视化.实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面 整合的专业游戏引擎.Unit ...
- 【转】unity3d的常用快捷键
Unity3D默认的快捷键. shift +方向键 向“向方向键前进” Windows系统Unity3D中的快捷键 组合键 键 功能 File 文件 Ctrl N New ...
- 从零开始Unity3D游戏开发【1 常用快捷键】
Unity3D近两年起来的很快.自己对游戏一直很有兴趣,所以想找机会转游戏开发.目的之一是赚钱,目的之二是完成自己的小梦想. Unity3D的人才还是紧缺的,招聘网站上各个公司真敢拿着钱砸.让.NET ...
- Windows系统Unity3D中的快捷键
Windows系统Unity3D中的快捷键 组合键 键 功能 File 文件 Ctrl N New Scene 新建场景 Ctrl O Open Scene 打开场景 Ctrl S Sav ...
- Unity3d 快捷键
Windows系统Unity3D中的快捷键 组合键 键 功能 File 文件 Ctrl N New Scene 新建场景 Ctrl O Open Scene 打开场景 Ctrl S Sav ...
随机推荐
- Monkey中ADB命令参数详解
Monkey命令行可用的全部选项: --help列出简单的用法.-v命令行的每一个-v将增加反馈信息的级别.Level 0(缺省值)除启动提示.测试完成和最终结果之外,提供较少信息.Level 1提供 ...
- svn版本搭建
安装步骤如下: 1.yum install subversion 2.输入rpm -ql subversion查看安装位置,如下图: 我们知道svn在bin目录下生成了几个二进制文件. 输入 ...
- 电脑装的是office2013,右键新建却是2007,或者右键新建菜单中没有excel2013问题解决办法。
我的office出现了两个问题,因为工作比较忙,也没有着急解决,今天实在受不了了,花费一下午才找到解决方法. 原来万恶之源都是可恶的wps,以后千万不安装kingsoft了. 第一个问题:excel打 ...
- 《在纹线方向上进行平滑滤波,在纹线的垂直方向上进行锐化滤波》 --Gabor增强的具体实践
<在纹线方向上进行平滑滤波,在纹线的垂直方向上进行锐化滤波> --Gabor增强的具体实践 一.问 ...
- shell crontab执行结果不同问题处理
shell脚本手工执行结果正确,但是放到crontab中执行,结果却是错误的. 脚本执行的路径肯定是没有问题的,比较怀疑crontab执行和手工执行两者的环境不同,在手工执行脚本时,通过ssh登录到服 ...
- [TCPIP] IP路由表及选路 Note
TCP/IP IP路由表及选路 1.路由表信息 路由表一般包含信息:目的IP地址.下一站路由器的IP地址.标志. 为数据报传送指定的一个网络接口. 查看路由表信息mac-abeen:~ abeen$ ...
- cmp函数
cmp(x,y),既可以比较数字大小,也可以比较字符串.如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1. 数字的比较 >>> ...
- Dagger2 使用初步
Dagger2 是一个Android依赖注入框架,由谷歌开发,最早的版本Dagger1 由Square公司开发.依赖注入框架主要用于模块间解耦,提高代码的健壮性和可维护性.Dagger 这个库的取名不 ...
- Eclipse中安装配置Tomcat
Eclipse(4.4.x及以上)中安装配置Tomcat 以下配置说明全部针对免安装版本 基于tomcat的安装目录和运行目录是可以不同的,本文都会进行说明 首先简单介绍一下tomcat的目录结构,一 ...
- 7. Swift 基于Xmpp和openfire实现一个简单的登录注册
1. 基本步骤:首先导入Xmpp框架,配置环境 ->由于我们使用的是OC的Xmpp框架,再进行Swift开发时需要进行桥接. 具体方法就是创建一个基于c的.h的头文件,然后将我们需要编译OC的语 ...