asp网站建设 win7,wordpress软件推荐,东莞知名网站推广,wordpress文章专辑1、在包管理器 unity注册表中下载安装InputSystem 2、给玩家添加组件PlayerInput#xff0c;点击CreatAction,创建一个InputAct InputAct,这是玩家的输入文件#xff0c;在里面可以设置玩家输入 3、使用 例如玩家控制角色移动 在InputAct中#xff0c;默认已经设置好了移…1、在包管理器 unity注册表中下载安装InputSystem 2、给玩家添加组件PlayerInput点击CreatAction,创建一个InputAct InputAct,这是玩家的输入文件在里面可以设置玩家输入 3、使用 例如玩家控制角色移动 在InputAct中默认已经设置好了移动的输入 这里是一个二维向量值 W(0,1)A(-1,0)S(0,-1)D(1,0) 当同时按WD时前进距离0.71,0.71 判断玩家向前移动 键盘y1 摇杆y0,但玩家会误触摇杆所以最好设定一个误差值 输入设置阈值变量Threshold0.1若y0.1则前进。 脚本中 获取玩家输入
private Vector2 playerInputVec;
public void GetPlayerMoveInput(InputAction.CallbackContext context)
{playerInputVec context.ReadValueVector2();
}玩家移动举例
void FixedUpdate()
{MovePlayer();
}
void MovePlayer()
{targetSpeed isRuning ? runSpeed : walkSpeed;targetSpeed * playerInputVec.magnitude;//当玩家没按下或没有推动摇杆目标速度为0currentSpeed Mathf.Lerp(currentSpeed, targetSpeed, 0.5f);//*TiredIndex目的是主角运动速度与体力消耗相关联当耗尽则不会在运动只有体力恢复才能继续运动animator.SetFloat(Sports, currentSpeed*TiredIndex);
}回到unity点击主角在右侧打开PlayerInput组件 点击事件——Player在Move那块点击加号将挂载在玩家的脚本拖到黑框处一定要将脚本拖进去直接拖游戏对象不可以在右侧选择刚才写好的输入方法GetPlayerMoveInput 4、如果默认的输入文件不够可以自己添加 例如添加一个奔跑输入 点击InputAct 点击加号就可以新建有个Action,根据自己行为命名 在右侧选择类型 然后点击Action右侧的加号添加Binding 点击Binding在右侧可以改名字选择Path输入类型例如KeyBoard键盘等等 在下面的Use in control scheme中设置具体的按钮即可