当前位置:首页|资讯

工作流程概述 - 使用动作资产和 PlayerInput 组件

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


输入系统提供的最高抽象层次是将动作资产(Actions Asset)与 Player Input 组件结合使用。

Player Input 组件引用一个动作资产,并提供一种将该资产中定义的动作与您自己的 MonoBehaviour 脚本中的 C# 方法建立连接的方式,以便当用户执行输入动作时调用您所需的 C# 方法。

通过检查器中的 UI 设置这些连接,而无需编写代码来建立这些连接(如前一个工作流程示例中所示),并且还可以选择这些方法的调用方式。

通常,您会将 PlayerInput 组件添加到与包含处理动作响应方法的 MonoBehaviour 脚本相同的 GameObject 上。



在上图中,您可以看到 PlayerInput 组件已设置为通过 Unity 事件将“移动”(move)和“跳跃”(jump)动作映射到脚本中的 OnMove 和 OnJump 方法。

下面是一个提供这些方法实现的脚本示例:

与之前的仅使用动作资产而不使用 PlayerInput 组件的工作流程相比,这种工作流程有优点也有缺点。

与之前的工作流程代码示例相比,这种方法需要编写的代码更少,因为您不需要在脚本中引用动作资产或设置事件处理方法。然而,它在编辑器中需要更多的设置,并且可能使调试变得更加困难,因为动作与代码之间的连接不是硬编码的。

与本节描述的其他工作流程一样,这种方法在灵活性、简便性和实现速度之间存在权衡。

使用 Player Input 组件提供了灵活性,能够在不编写代码的情况下将任何动作连接到 GameObject 组件上的任何公共方法,并允许您在不修改代码的情况下更改这些连接。

然而,尽管需要较少的代码,您可能会发现,在自己的脚本中编写这些连接比在 GameObject 上的 PlayerInput 组件中设置和跟踪这些连接更简单、更快捷。

要开始使用这种工作流程,请参阅 Player Input 组件的文档。



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