playerInput.currentActionMap.FindAction("Jump").performed -= OnJump; playerInput.currentActionMap.FindAction("Move").performed -= OnMove; } public void OnJump(InputAction.CallbackContext callbackContext) { Debug.Log("Jump"); } public void OnMove(InputAction.CallbackContext callbackContext) {...
一、InputAction 参数 编写脚本挂载到物体上 public class Lesson7 : MonoBehaviour { [Header("Binding")] public InputAction move; [Header("1D Axis")] public InputAction axis; [Header("2D Vector")] public InputAction vector2D; [Header("3D Vector")] public InputAction vector3D; [Header("Button...
public void 鼠标屏幕坐标(InputAction.CallbackContext context) { 当前鼠标屏幕坐标位置 = context.ReadValue<Vector2>(); } public void 鼠标移动命令(InputAction.CallbackContext context) { switch (context.phase) { case InputActionPhase.Performed: if (context.interaction is PressInteraction) { if (射线...
Actions:Action Maps中包含的Action,每一个就相当于之前在脚本中定义的InputAction变量 Action Properties:对每一个Action进行设定,同上面的设置面板 左上角的Control Scheme,主要用于InputAction较多时进行分类 Scheme Name可以设置每一类别的名称,下方列表可以添加相应的设备,设置好设备后,相应Scheme的InputAction的输入就...
使用InputSystem 时的输入绑定 对应物体的移动轨迹 目前仍然只能返回0,1 为了使新版系统下的一共更平滑,可以自己实现一个插值逻辑。 privateVector2_input2DMove;privateVector2_cur2DMove;[SerializeField]privatefloatinterpolation;...publicvoidOnInputMove(InputAction.CallbackContextcontext){_input2DMove=context...
代码调用 InputAction 推荐一种我用的比较舒服的方式 创建代码 InputManager.cs using UnityEngine; public class InputManager : MonoBehaviour { public static GameControls gameControls { get; private set; } private void OnEnable() { if (gameControls == null) ...
using UnityEngine.InputSystem; using UnityEngine.UI; public class GameManager : MonoBehaviour { //拖拽获取 public GraphicRaycaster m_Raycaster; //拖拽获取 public EventSystem m_EventSystem; private PointerEventData m_PointerEventData; public void OnMouseDown(InputAction.CallbackContext context) { if (con...
输入 public Vector2 RawMovementInput { get; private set; } //X:横轴输入值 Y:纵轴输入值 public int NormInputX { get; private set; } public int NormInputY { get; private set; } private void Start() { playerInput = GetComponent<PlayerInput>(); } public void OnMoveInput(InputAction....
这里面可以拖拽对应的C#脚本,然后选择里面创建好的函数,像这样: 脚本里需要写与下面这种类似的函数: publicclassMyPlayerScript:MonoBehaviour{publicvoidFire(InputAction.CallbackContext context){ Debug.Log("Fire!"); } }
privatevoidStart(){selectAction.action.Enable();selectAction.action.performed+=SelectActivation;}privatevoidSelectActivation(InputAction.CallbackContextcontext){Debug.Log($"Phase {context.phase}");} Copy Additionally, for VR you may need a ray controller, teleport, and many other functionalities. For...