当前位置:首页|资讯

输入动作资产

作者:unity_某某师_高锦锦发布时间:2024-09-04

创建输入操作资源

要在Unity中创建一个包含输入操作的资源,请在项目窗口中右键单击或通过Unity主菜单选择“资产 > 创建 > 输入操作”。

编辑输入操作资源

要打开操作编辑器,请双击项目浏览器中的.inputactions资源,或者在该资源的检查器中选择“编辑资产”按钮。你可以同时打开多个编辑器窗口,但同一个资源只能打开一个编辑器窗口。

操作编辑器窗口


操作编辑器以独立窗口的形式出现,你也可以将其停靠到Unity的主UI中。



注:有关操作映射、操作和绑定如何工作的详细信息,请参见操作文档。

默认情况下,Unity不会在保存项目时保存你在操作资产窗口中所做的编辑。要保存更改,请在窗口的工具栏中选择“保存资产”。要丢弃更改,请关闭窗口并在提示时选择“不要保存”。你也可以通过在工具栏中启用“自动保存”复选框来启用自动保存功能,这会保存对该资产所做的任何更改。

注:此设置影响所有.inputactions资产,并在Unity编辑器会话之间保持。

操作编辑器窗口分为三个窗格:

  • 左侧窗格列出了资产中的操作映射。每个操作映射是一个操作的集合,你可以批量启用或禁用它们。

  • 中间窗格包含当前选定的操作映射中的操作,以及与每个操作相关联的绑定。

  • 右侧窗格包含当前选定的操作或绑定的属性。

使用以下键盘快捷键可以快速触发常见操作:

快捷键(Mac)                快捷键(Windows)                    描述

⌘X, ⌘C, ⌘V            Ctrl-X, Ctrl-C, Ctrl-V            剪切、复制和粘贴。可以用于操作、操作映射和绑定。

⌘DCtrl-D                    复制。        可以用于操作、操作映射和绑定。

⌘⌫Del            删除。            可以用于操作、操作映射和绑定。

⌥S                    Alt-S                        保存。

⌥M                    Alt-M                        添加操作映射。

⌥A                    Alt-A                            添加操作。

⌥B                    Alt-B                        添加绑定。

提示:你可以直接从搜索框中搜索设备和/或控制方案。例如,“d

”会筛选出绑定到游戏手柄设备的绑定,而“g”会筛选出“gamepad”控制方案中的绑定。匹配不区分大小写,并匹配任何部分名称。


编辑操作映射

操作映射列

  • 要添加新的操作映射,选择操作映射列头部的添加(+)图标。

  • 要重命名现有的操作映射,可以长按名称,或右键点击操作映射并从上下文菜单中选择“重命名”。请注意,操作映射名称不能包含斜杠(/)。

  • 要删除现有的操作映射,可以右键点击它并从上下文菜单中选择“删除”,或使用删除键(Windows)/⌘⌫(Mac)。

  • 要复制现有的操作映射,可以右键点击它并从上下文菜单中选择“复制”,或使用Ctrl-D(Windows)/⌘D(Mac)。

编辑操作



操作列

  • 要添加新的操作,选择操作列头部的添加(+)图标。

  • 要重命名现有的操作,可以长按名称,或右键点击操作映射并从上下文菜单中选择“重命名”。

  • 要删除现有的操作,可以右键点击它并从上下文菜单中选择“删除”,或使用删除键(Windows)/⌘⌫(Mac)。

  • 要复制现有的操作,可以右键点击它并从上下文菜单中选择“复制”,或使用Ctrl-D(Windows)/⌘D(Mac)。

如果你选择了一个操作,可以在窗口的右侧窗格中编辑其属性:

操作属性

编辑绑定

  • 要添加新的绑定,选择要添加绑定的操作上的添加(+)图标,然后从出现的菜单中选择绑定类型。

  • 要删除现有的绑定,可以右键点击它并从上下文菜单中选择“删除”,或使用删除键(Windows)/⌘⌫(Mac)。

  • 要复制现有的绑定,可以右键点击它并从上下文菜单中选择“复制”,或使用Ctrl-D(Windows)/⌘D(Mac)。

如果你选择了一个绑定,可以在窗口的右侧窗格中编辑其属性:

绑定属性

选择控制

任何绑定最重要的属性是其绑定的控制路径。要编辑它,请打开路径下拉列表。这会显示一个控制选择器窗口。


在控制选择器窗口中,你可以浏览Unity识别的输入设备和控制的树状结构,并绑定到这些控制。Unity根据操作的控制类型属性来过滤这个列表。例如,如果控制类型是Vector2,你只能选择生成二维值的控制,比如摇杆。

设备和控制树是从通用到具体的分层组织。例如,游戏手柄控制路径<Gamepad>/buttonSouth匹配任何游戏手柄上的下按钮。或者,如果你导航到“Gamepad > More Specific Gamepads”并选择PS4控制器,然后选择控制路径<DualShockGamepad>/buttonSouth,这只匹配PlayStation游戏手柄上的“Cross”按钮,不匹配其他游戏手柄。

而不是浏览树来找到你想要的控制,使用Input System监听输入更为方便。为此,选择“监听”按钮。最初,控制列表是空的。一旦你开始按下按钮或激活你想绑定的设备上的控制,控制选择器窗口会开始列出匹配你按下的控制的绑定。选择这些绑定中的任何一个以查看它们。

最后,你可以手动编辑绑定路径,而不是使用控制选择器。为此,选择控制路径弹出菜单旁边的“T”按钮。这会将弹出菜单更改为文本字段,你可以在其中输入任何绑定字符串。这也允许你在绑定中使用通配符(*)字符。例如,你可以使用绑定路径<Touchscreen>/touch*/press来绑定到触摸屏上的任何被按下的手指,而不必手动绑定到<Touchscreen>/touch0/press<Touchscreen>/touch1/press等。

编辑复合绑定

复合绑定是由多个部分组成的绑定,这些部分共同形成一个控制。例如,2D向量复合绑定使用四个按钮(左、右、上、下)来模拟2D摇杆输入。有关更多信息,请参见复合绑定文档。

2D向量复合绑定



要创建复合绑定,在输入操作资产编辑器窗口中,选择要添加复合绑定的操作上的添加(+)图标,然后从弹出菜单中选择复合绑定类型。

重要提示:菜单中显示的复合绑定集会根据操作的值类型进行过滤。这意味着,例如,如果操作设置为类型“Button”,则仅会显示能够返回浮点类型值的复合绑定。



添加2D向量复合绑定

这会为操作创建多个绑定条目:一个是复合体本身,然后在下面一层是每个复合部分。复合体本身没有绑定路径属性,但其各个部分有,你可以像其他绑定一样编辑这些部分。一旦你绑定了所有复合体的部分,复合体就可以像绑定单个控制到操作一样工作。

要从后期更改复合体的类型,选择复合体,然后从属性窗格中的复合体类型下拉列表中选择新类型。

复合体类型

要更改复合体中绑定分配给特定部分的部分,使用绑定属性中的复合体部分下拉列表。


多个绑定可以分配到相同的部分。你还可以复制单个部分绑定:右键点击绑定,然后选择“复制”以创建复合体的新的部分绑定。这可以用来,例如,为“WASD”风格控制和箭头键创建单个复合体。


输入操作资产可以有多个控制方案,这使你可以为不同类型的设备启用或禁用不同的绑定集。

控制方案属性

要查看输入操作资产编辑器窗口中的控制方案,打开窗口左上角的控制方案下拉列表。该菜单让你可以向资产中添加或删除控制方案。如果资产包含任何控制方案,你可以选择一个控制方案,然后窗口仅显示属于该方案的绑定。如果你选择一个绑定,现在你可以在窗口左侧的属性视图中选择此绑定应在控制方案中激活的控制方案。当你添加新的控制方案或选择现有控制方案,然后选择“编辑控制方案…”时,你可以编辑控制方案的名称以及控制方案应在其上激活的设备。

使用输入操作资产

为操作自动生成脚本代码

在脚本中使用.inputactions资产的最方便方法之一是自动生成C#包装类。这消除了手动查找操作和操作映射名称的需要,并提供了更简单的设置回调的方式。

要启用此选项,请在.inputactions资产的检查器中的导入器属性中勾选“生成C#类”复选框,然后选择“应用”。


你可以选择一个路径名称、类名和命名空间,也可以保留默认值。

这将生成一个C#脚本,简化了与资产的交互。




注:要重新生成.cs文件,请右键点击项目浏览器中的.inputactions资产并选择“重新导入”。

使用PlayerInput组件

Player Input组件提供了一种处理一个或多个玩家输入的方便方法。它要求你在输入操作资产中设置所有操作,然后将其分配给Player Input组件。Player Input组件可以自动处理激活操作映射和选择控制方案。


在运行时修改输入操作资产

有几种方法可以在运行时修改输入操作资产。你在Play模式下对输入操作资产所做的任何修改在退出Play模式后不会保留。这意味着你可以在编辑器中以实际的方式测试你的应用,而不必担心意外修改资产。有关如何在运行时修改输入操作资产的示例,请参见文档中的“在代码中创建操作”和“更改绑定”。



Copyright © 2024 aigcdaily.cn  北京智识时代科技有限公司  版权所有  京ICP备2023006237号-1