陈巧倩

Unity中文版-Create Gameplay Editor Features - Shortcuts Manager(自翻译)

· 335 words · 2 minutes to read
Categories: Unity
Tags: Document

翻译Unity中文版的初衷是因为官方提供的中文版存在缺陷,而且翻译的不全。现在基于Unity2023.2版本对官方文档进行翻译。

快捷键管理器 🔗

快捷键管理器允许您查看和管理 Unity 中的键盘快捷键。

快捷键是绑定到 Unity 命令的任何键或键组合。命令是在编辑器中执行的操作。例如,“R” 键绑定到在 “场景” 视图中激活 “缩放” 工具的命令。

您可以从 Unity 的主菜单中访问快捷键管理器:

  • 在 Windows 和 Linux 上,选择 Edit > Shortcuts.
  • 在 macOS 上,选择 Unity > Shortcuts.

A 配置文件下拉菜单: 允许您管理和在不同的快捷键配置文件之间切换。有关详细信息,请参见快捷键配置文件。
B 键位映射: 显示分配给命令的键以及它们所分配的命令。有关详细信息,请参见键位映射。您还可以使用键位映射来管理快捷键。
C 类别列表: 命令按类别排序,这些类别显示在 “类别” 列表中。当您选择一个类别时,它的命令将出现在右侧的 “命令” 列表中。
D 命令和快捷键列表: 列出了所选类别中的所有命令及其分配的快捷键。有关详细信息,请参见命令列表。您还可以使用命令列表来管理快捷键。

将快捷键分配给全局命令和上下文命令 🔗

Unity 命令可以是全局的或上下文的。

全局命令始终可用。例如,默认情况下,撤消操作的命令分配给Ctrl/Cmd + Z快捷键。使用该快捷键始终撤消最后的操作,而不管哪些窗口打开和哪些工具处于活动状态。

上下文命令仅在使用特定视图或工具集时起作用。例如,默认情况下,方括号键 “[” 和 “]” 在 “地形” 工具中分配了一组命令,在网格绘制工具中分配了另一组命令。当您按下这两个键时,Unity 会执行活动工具的命令。

通常情况下,您将为一个全局命令分配一个快捷键,或者为多个上下文命令(来自不同上下文)分配一个快捷键。其他多命令组合(例如,两个全局命令,或来自同一上下文的两个上下文命令)会创建冲突,您需要进行管理。有关快捷键冲突以及如何管理它们的信息,请参见快捷键冲突。

Unity 还有一些特殊的全局命令,可以与其他全局命令共享快捷键而不会创建冲突。例如,“Q”、“W” 和 “E” 键分别分配给视图、移动和旋转工具,但当您激活 “飞行模式” 时,您可以使用这些键向下、向前和向上移动。

键位映射 🔗

本节将介绍如何使用键位映射查看快捷键分配情况。有关如何使用键位映射添加、删除和修改快捷键的信息,请参见管理快捷键。

键位映射显示了分配给命令的键和键组合。

粉色键分配给全局命令。
蓝色键分配给上下文命令。
白色键未分配给任何命令。
灰色键是不能分配给命令的特殊键。例如,修饰键如ShiftCtrl/Cmd,或实用键如ReturnEsc

选择修饰键,如ShiftCtrl/CmdAlt,可以更新键位映射,显示哪些快捷键和修饰键的组合被分配给命令。激活的修饰键在键位映射中显示为蓝色。

激活修饰键会更改键位映射,显示键的组合方式

提示: 要在键位映射中临时激活修饰键,在键盘上按住它们。

要查看某个键分配给哪些命令,请将鼠标指针悬停在快捷键上。工具提示中列出了该键分配给的命令。

“A” 键分配给 3D 视口的 “飞行模式向左” 命令。

对于键组合,通过在键盘上按住修饰键或在键位映射上单击修饰键,然后将鼠标指针悬停在快捷键上。

Ctrl/Cmd + A 的键组合分配给 Edit > Select All 命令

您可以将单个快捷键分配给多个命令。只要 Unity 不能同时执行这些命令,快捷键就可以透明地工作。但是,如果您将快捷键映射到可以同时执行的多个命令,就会创建冲突。要了解有关冲突以及如何管理它们的信息,请参见下面的快捷键冲突部分。

命令列表 🔗

本节将介绍如何使用 “命令” 列表查看快捷键分配情况。有关如何使用 “命令” 列表添加、删除和修改快捷键的信息,请参见管理快捷键。

“命令” 列表显示了分配给特定命令的快捷键。从 “类别” 列表中选择一个类别,以在 “命令” 列表中显示该类别的命令和快捷键。

您还可以使用搜索框搜索 “命令” 列表。在输入搜索词时,“命令” 列表会自动缩小范围,以显示与搜索词匹配的命令。

如果您在特定类别中搜索,可以通过在 “搜索” 行中设置范围,在所选类别和 “所有 Unity 命令” 类别之间切换结果。

管理快捷键 🔗

快捷键管理器提供了几种方式来分配、修改、取消分配和重置快捷键。

您可以通过以下方式之一来分配或修改快捷键:

  • 从 “命令” 列表拖放命令到键位映射中。
  • 在 “命令” 列表中键入快捷键。

您可以通过以下方式来取消分配或重置快捷键:

  • 在键位映射或 “命令” 列表中使用上下文菜单。
  • 直接在 “命令” 列表中删除快捷键分配。

为命令分配快捷键 🔗

您可以使用键位映射或 “命令” 列表为命令分配快捷键。

使用键位映射分配快捷键:

  1. 单击要在快捷键中使用的任何修饰键(例如ShiftCtrl/Cmd)。

  2. 将命令从 “命令” 列表拖放到主快捷键上。

    当您在键位映射上悬停时,光标会更改,指示可能的分配方式。

使用 “命令” 列表分配快捷键:

  1. 双击列表中的命令以编辑其快捷键字段。

  2. 输入键盘上常规方式按下所需快捷键的键。

    确保按住您希望包括在快捷键中的任何修饰键(例如ShiftAlt/Option)。

如果快捷键已分配给命令,新的分配将会创建冲突。有关管理冲突的信息,请参见快捷键冲突。

取消分配和重置快捷键 🔗

使用键位映射或 “命令” 列表可以删除命令的分配快捷键,或将修改的快捷键重置为其默认映射方式。

**注意:**Unity 将默认快捷键分配存储在默认配置文件中。有关详细信息,请参见快捷键配置文件。

从键位映射中取消分配或重置快捷键:

  1. 右键单击要取消分配或重置的快捷键。

    如果您要取消分配或重置的是键组合,请在右键单击快捷键之前单击包含的修饰键(例如ShiftCtrl/Cmd)。

  2. 从上下文菜单中:

    • 选择**[COMMAND] > Reset to default** 将默认快捷键重新分配给命令。
    • 选择**[COMMAND] > Remove shortcut** 将快捷键从命令中取消分配。

从命令列表中取消分配或重置快捷键:

  1. 右键单击要取消分配或重置快捷键的命令。
  2. 从上下文菜单中:
    • 选择**[COMMAND] > Reset to default** 将默认快捷键重新分配给命令。
    • 选择**[COMMAND] > Remove shortcut** 将快捷键从命令中取消分配。

或者:

  • 双击要取消分配快捷键的命令,然后按下Return/Enter键从快捷键字段中删除快捷键。

快捷键冲突 🔗

您可以将相同的快捷键分配给多个命令,前提是这些命令不能同时执行。例如,可以将单个快捷键分配给 “场景视图” 中的一个命令和 “动画” 窗口中的另一个命令。因为这两个窗口不能同时获得焦点,所以在使用快捷键时,Unity 会执行哪个命令是明确的。

将快捷键分配给可以同时执行的两个命令会创建冲突。例如,当您将单个快捷键分配给:

  • 来自同一上下文的一个或多个上下文命令。
  • 多个全局命令。
  • 全局和上下文命令组合。

在创建新的快捷键分配时,快捷键管理器提供了处理冲突的选项,以及在使用分配给冲突命令的快捷键时的选项。

在快捷方式管理器中查看冲突 🔗

在快捷键管理器的 “命令” 列表中,具有快捷键冲突的命令会显示一个 “警告” 图标。

您可以通过在 “类别” 列表中选择 “绑定冲突” 类别来获取具有冲突快捷键的命令的完整列表。

在创建快捷键时管理冲突 🔗

将快捷键分配给两个冲突的命令会打开 “绑定冲突” 对话框。

  • 选择 “创建冲突” 将快捷键分配给命令,以及所有现有的命令分配。

    Unity 将快捷键的所有分配命令添加到 “绑定冲突” 类别中。

  • 选择 “重新分配” 将快捷键重新分配给冲突的命令。这将清除任何其他命令分配。

  • 选择 “取消” 以退出而不执行任何操作。

在使用快捷键时管理冲突 🔗

当您在 Unity 中使用分配给冲突命令的快捷键时,会打开快捷键冲突对话框。

  • 从列表中选择一个命令,并单击 “执行所选” 按钮执行该命令。

    在执行命令之前启用 “重新绑定到所选命令” 选项,以清除任何其他分配,使快捷键仅分配给所选命令。这相当于删除其他分配。

  • 选择 “解决冲突” 以打开快捷键管理器,在其中可以修改快捷键以消除冲突。

  • 选择 “取消” 以退出而不执行任何操作。

快捷键配置文件 🔗

快捷键存储在配置文件中。每个配置文件是 Unity 快捷键的完整集合,您可以根据需要进行修改。您可以创建任意数量的配置文件,并根据需要在它们之间进行切换。除了默认配置文件(见下文)之外,可以在任何活动配置文件中添加、删除或修改快捷键。对活动配置文件的更改是即时的。Unity 会自动保存这些更改,并不提示您接受或拒绝它们。

Unity 将快捷键配置文件存储在项目之外的 Unity 首选项目录中:

  • 在 Windows 上:%APPDATA%/Unity\Editor-5.x\Preferences\shortcuts
  • 在 macOS 上:~/Library/Preferences/Unity/Editor-5.x/shortcuts
  • 在 Linux 上:~/.config/unity3d/Preferences/Editor-5.x/shortcuts

这意味着您创建的任何配置文件都可在所有项目中使用。

升级:当您从较旧的 Unity 版本升级时,Unity 会将您在首选项中配置的任何快捷键迁移到一个名为 UserProfile 的新快捷键配置文件中。

管理快捷方式配置文件 🔗

您可以通过快捷键管理器顶部的配置文件下拉菜单来管理配置文件:

A 配置文件列表:列出所有可用的配置文件。选择一个配置文件使其成为活动配置文件
B 配置文件选项:用于创建新配置文件或重命名或删除活动配置文件的选项。

默认配置文件 🔗

Unity 有一个默认配置文件,其中包含 “出厂” 设定的快捷键。当您创建一个新的配置文件时,Unity 会复制默认配置文件。

您无法修改默认配置文件。如果您尝试进行修改,Unity 会自动创建一个副本(称为 “默认副本”),将这个副本作为活动配置文件,并将您的更改应用于该副本。

跳过快捷键管理器使用自定义工具 🔗

当您在键盘上选择一个键或键组合时,Unity 会生成一个键盘事件,并将该事件发送到活动视图。如果活动视图可以使用该事件,例如触发一个操作,则会这样做。如果不能,该事件将发送到快捷键管理器,并且 Unity 会执行分配给该快捷键的命令。

在开发自定义工具时,您可以在它们到达快捷键管理器之前以编程方式拦截键盘事件。例如,您可能希望自定义工具以比使用快捷键管理器配置更复杂的方式对按键进行响应。

拦截键盘事件的方式取决于您用于创建自定义工具界面的系统。

如果您使用的是 IMGUI 系统,请参阅以下脚本参考主题:

  • Event.current

如果您使用的是 UI Elements 系统,请参阅以下脚本参考主题:

  • KeyDownEvent
  • CallbackEventHandler.RegisterCallback
  • CallbackEventHandler.HandleEvent

用户定义的快捷键 🔗

除了从快捷键管理器修改快捷键之外,您还可以使用 UnityEditor.ShortcutManagement 命名空间中的类来定义其他位置(如脚本和包)的自定义快捷键。例如,您可以使用 ShortcutAttribute 和 ClutchShortcutAttribute 属性创建新的快捷键。

当 Unity 加载来自其他来源的命令和快捷键时,它会执行以下操作:

  • 将主菜单中的任何新命令添加到 “命令” 列表中的 “所有 Unity 命令” 类别,以便您可以使用快捷键管理器为它们创建快捷键。
  • 将自定义命令类别添加到 “类别” 列表中。
  • 将自定义键盘快捷键添加到快捷键数据库中,以便它们出现在所有快捷键配置文件中。
  • 在 “命令” 列表中的 “快捷键冲突” 类别中显示自定义快捷键与当前配置文件中的快捷键之间的冲突。

结论 🔗

搬砖愉快!