Unity 是一个快速发展中的引擎,其每年都会推出大量改进,即便是经验丰富的开发者也可能遗漏引擎的部分改进。
我们一直在想方设法地提高用户日常工作的效率,解放用户的生产力。因此推出本系列博文,着重分享多种开发技巧(基于 Unity 2020 LTS 版本)。
本文是第一篇,介绍的是如何加快编辑器的核心流程。
快捷键管理器(Shortcuts Manager)
快捷键管理器(Shortcuts Manager)是管理编辑器快捷键的互动界面。你可以在此处为不同的窗口指定快捷方式,并查看常用工具的键位绑定。
快捷键管理器(Shortcuts Manager):
https://docs.unity3d.com/2020.1/Documentation/Manual/ShortcutsManager.html

你可以将任意键位或键位组绑定到 Unity 编辑器的命令。比如,R 键默认绑定在工具栏的缩放工具上。
Short Manager 窗口中,Category 下的 Binding Conflicts 还可识别是否有快捷键同时分配给了两个命令,你可以在此界面中解决键位冲突。注意:如果若干命令处在不同的使用场景、绝对不会同时执行,则你可以为其指定同一个快捷键。

若想在 Unity 主菜单中打开快捷键管理器:
- 在 Windows 和 Linux 操作系统中,选择 Edit > Shortcuts
- 在 macOS 中,选择 Unity > Shortcuts
你也可以使用 UnityEditor.ShortcutManagement 命名空间的 API 在脚本和软件包中编写自定义快捷键。
UnityEditor.ShortcutManagement:
https://docs.unity3d.com/2019.1/Documentation/ScriptReference/ShortcutMa...


预设(Presets)
预设(Presets)功能允许你自定义检视器中任意面板的默认状态。创建 Preset 是指复制某组件或资源的设置,将其保存为单独的资源,用于在其它项目中使用。
预设(Preset):
https://docs.unity3d.com/2020.3/Documentation/Manual/Presets.html
合理使用 Presets 可以落实你制定的标准设置或为新资源应用恰当的默认设置,这可以保证整个团队执行同一种标准,让那些易被忽视的设置无法影响到项目。

点击组件右上方的 Preset 图标,点击“Save Current to……(保存当前为...)”来保存 Preset 资源,之后你就可以选取并加载预设好的参数了。


Preset 的其他实用技巧:
- 创建带有特定预设的 GameObject:将预设资源拖入层级视图即可新建一个应用了预设的 GameObject。
- 图片 关联预设至特定组件类型:你可在 Preset Manager(Project Settings > Preset Manager)中将一个或多个预设制定给某个组件类型,这样新建的组件就能默认应用预设好的参数。
* 提示:你可以为每种组件创建多个预设,再借助 Filter(筛选)按名称应用预设。 - 保存/加载管理器设置:保存管理窗口的预设可省去重复调整设置的麻烦。例如,如果你打算重新应用相同的 Tags、Layers 或 Physics 设置,可使用预设来快速完成设置。
对象显示设置
在开发后期场景到达一定规模后,你可以暂时隐藏某些对象来选中和编辑其它 GameObjects。
但这时,仅仅禁用 GameObjects 可能会导致运行发生意外,最好使用 SceneVisibility 来控制对象可见与否。SceneVisibility 的隐藏和显示仅会影响场景视图,并不会改变实际游戏里的对象。
你可以在层级视图左侧的工具条中点击来控制场景内的对象显示与否。

注意,对象在层级视图内的显示状态图标会根据其是父对象还是子对象相应改变。


Isolation View 可以选取某个对象及其子对象单独显示。在层级视图中选中一个 GameObject,再按 Shift + H 便可开关 Isolation View,窗口将强制隐藏场景的其他部分,直到退出。

还能用 Shift + 空格键来最大化窗口、隐藏编辑器的其他视图。
对象选取设置
类似于对象能见度设置,你可以设定 GameObjects 能否被选中。该设置同样位于层级视图的左侧工具栏,设为不可选取后,对象将无法在场景中被选中。该功能可以有效避免误选和误编辑复杂场景中的 GameObject。

你可以为整条分支或某个对象设置是否能选取,也能设置部分 GameObjects 可选取,同时其子对象或父对象无法选取。下方表格列出了不同图标所表示的状态。

搜索功能
编辑器分别在场景视图、层级视图和项目窗口中设有搜索功能。

搜索功能除了支持按名称搜索外,还支持按类型搜索,你可以在下拉菜单中选择 类型或使用 t: 关键字进行搜索。
如果你还用到了 Asset Labels,也可以使用 l: 关键字来搜索标签。
Asset Labels:
https://docs.unity3d.com/Manual/AssetPackagesLabels.html
在下例中,我们搜索了场景内所有类型为 Camera 的对象。

快速搜索(QuickSearch)
如果你想搜索上方窗口以外的内容,可以用快速搜索(QuickSearch)来查找 Unity 中的任何东西。
QuickSearch:
https://docs.unity3d.com/Packages/com.unity.quicksearch@2.0/manual/index.html
自 Unity 2021.1 起,QuickSearch 功能已整合至编辑器,用户无需安装即可使用,选择 Edit > Search All(或在 Windows 上按下 Ctrl + K、在 macOS 上按下 Cmd + K)即可开始搜索。

在旧版引擎中,你可以从 PackageManager 中安装 QuickSearch,选择 Help > QuickSearch 或按下 Alt + ' 快捷键来启动功能。
QuickSearch 支持搜索 Unity 引擎的各种内容,包括资源、场景对象、菜单选项、软件包、API、各种设置等等。
下方为使用 QuickSearch 搜索“Camera”的例子:

请在安装向导中根据需求设定搜索设置,来最大化利用功能。

我们将在未来陆续发布更多关于提高工作效率的博文,敬请期待。