Unity简单操作:InputSystem获取WASD键盘输入 移动人物

这篇具有很好参考价值的文章主要介绍了Unity简单操作:InputSystem获取WASD键盘输入 移动人物。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 文章来源地址https://www.toymoban.com/news/detail-592265.html

目录

安装InputSystem

 在编辑的脚本中使用 InputSystem生成的脚本


Unity版本:2019.2.3f1

安装InputSystem

菜单栏/Window/Package Manager/Input System

unity读取键盘输入,Unity,unity,游戏引擎

 工程面板内 右键-->创建Input Actions unity读取键盘输入,Unity,unity,游戏引擎

 选中New Controls改名为PlayerControls 然后属性 面板按下Edit assetunity读取键盘输入,Unity,unity,游戏引擎

 Action Maps添加:PlayerMovementunity读取键盘输入,Unity,unity,游戏引擎

 

Actions添加:New action 改名为MovementAction 

Properties项    修改ActionType=Pass Through

                        修改ControlType= Vector2

unity读取键盘输入,Unity,unity,游戏引擎

 在MovementAction项点击+号 选择Add 2D Vector Composite

 unity读取键盘输入,Unity,unity,游戏引擎

 生成WASD

unity读取键盘输入,Unity,unity,游戏引擎

 绑定Up、Down、Left、Right,如此类推

unity读取键盘输入,Unity,unity,游戏引擎

 回到PlayerControls属性面板 勾选Generate C# Class[*]

unity读取键盘输入,Unity,unity,游戏引擎

工程面板就生成了一份 PlayerControls.cs 脚本 unity读取键盘输入,Unity,unity,游戏引擎

 在编辑的脚本中使用 InputSystem生成的脚本

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class PlayerLocomotion : MonoBehaviour
{

    PlayerControls inputActions;//声明 InputSystem的脚本对象
    public new Rigidbody rigidbody;
    Vector2 movementInput;//存储 WASD输入的值

    [Header("Stats")]
    [SerializeField]
    float movementSpeed = 5;


    // Start is called before the first frame update
    void Start()
    {
        rigidbody = GetComponent<Rigidbody>();
    }

    // Update is called once per frame
    void Update()
    {
        Vector3 vector3 = new Vector3(movementInput.x * movementSpeed, 0, movementInput.y * movementSpeed);
        rigidbody.velocity = vector3;//给刚体 这个方向的速度
    }


    public void OnEnable()
    {
        //获取设备上的输入
        if (inputActions==null)
        {
            inputActions = new PlayerControls();
            //绑定输入的值
            inputActions.PlayerMovement.MovementAction.performed += outputActions => movementInput = outputActions.ReadValue<Vector2>();
        }

        inputActions.Enable();//启用
    }

    public void OnDisable()
    {
        inputActions.Disable();//禁用
    }
}

unity读取键盘输入,Unity,unity,游戏引擎unity读取键盘输入,Unity,unity,游戏引擎

 unity读取键盘输入,Unity,unity,游戏引擎\

完成

 

 

 

 

 

 

 

到了这里,关于Unity简单操作:InputSystem获取WASD键盘输入 移动人物的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Unity InputSystem】实用指南:在PC端(鼠标与键盘)、手机端(触摸屏)、主机手柄上同步实现角色移动与跳跃功能

    随着Unity的不断发展,开发者对于项目的输入系统要求也日益提高。在进行多平台适配和跨平台移植时,常常需要改变输入系统,这给开发者带来了不少困扰。而Unity官方推出的InputSystem插件,则是为了解决这一问题而推出的全新输入方式。 相较于旧版的InputManager,InputSystem的

    2024年03月13日
    浏览(35)
  • Qt使用星空图作为窗口背景,点击键盘的WASD控制小飞机在上面移动。

    事件函数的使用依托于Qt的事件机制,一个来自于外部事件的传递机制模型如下所示 信号槽虽然好用,但是无法包含所有的情况,事件函数可以起到对信号槽无法覆盖的一些时机进行补充,事件函数的使用无需连接。 常用的事件函数如下所示。 // 绘制事件 void QWidget :: pain

    2024年02月11日
    浏览(33)
  • Unity全新的输入系统InputSystem

    在Unity中,默认使用的是旧的输入管理器(InputSystemOld) 在脚本中,利用Input类可以获得用户的输入操作,以及访问移动设备的多点触控或加速感应数据,Input类可以读取输入管理器中设置的按键,在Updata函数中监测用户的输入。 1.虚拟轴 在项目设置中可以看到虚拟轴的相关设

    2024年02月05日
    浏览(42)
  • Unity实现用WASD控制一个物体前后左右移动-小白课程01

      02 根据业务写代码   完成

    2024年02月09日
    浏览(37)
  • Unity之新版输入系统InputSystem入门

    最近Unity版本全面升级到Unity2021了,着色器也全面使用URP,接下来毫无疑问,输入系统也要全面升级InputSystem,这也是Unity官方希望我们做的,毕竟现在都2023年了,我们的技术是需要跟上时代的步伐。 老版本的InputSysten系统,其实就一个Input静态类,官方给我们预定了一些常用

    2024年02月16日
    浏览(30)
  • 【Unity】简单案例脚本实现 | 鼠标观察/键盘控制移动飞行/行走/碰撞检测

    《Unity5实战-使用C#和Unity开发多平台游戏》第二章-构建一个让你置身3D空间的演示 鼠标观察/键盘控制移动飞行/行走/碰撞检测 Unity版本:2019.4.23f1c1 注意脚本名称和组件添加,不在文章中一一强调 场景模型都是在资源商店选择的免费下载(选择Sort by Price(Low to High)排序)搜索

    2024年02月04日
    浏览(43)
  • 【项目复盘Vue2-移动端】IOS使用Vant表单组件输入框获取焦点后放大页面,安卓软键盘遮挡问题

    使用Vue+Vant做的移动端项目,在登录界面使用Vant的表单组件van-input时发现在真机测试IOS会出现获取焦点输入时会撑大原页面的宽度,每一个输入框获取到焦点就会页面就会放大一点点,需要双指缩放才能回到原来的比例。 经过一番百度后发现: 在移动端开发项目中,发现页

    2024年02月12日
    浏览(48)
  • Unity之新版输入系统InputSystem如何自定义InputActions

    上一篇文章,我们介绍了如何使用新版本的InputSystem,我们知道了InputActionsAsset给我们提供了更多的灵活性,扩展性和复用性。那么这篇文章我们就来介绍一下如何创建自定义InputActionAsset Input Action Asset 包含输入 Actions及其关联的Bindings和Control Schemes 的资源。这些资源文件扩展

    2024年02月11日
    浏览(38)
  • Unity使用新输入系统InputSystem制作飞机大战Demo

    @作者 : SYFStrive @博客首页 : HomePage 📌: 个人社区(欢迎大佬们加入) 👉: 社区链接🔗 📌: 觉得文章不错可以点点关注 👉: 专栏连接🔗 💃: 程序员每天坚持锻炼💪 👉 飞机大战专栏 (🔥) 使用Unity创建3D Object 👉 Quad 如 👇 注意❗:背景图片的WrapMode模式改为 Rep

    2024年02月02日
    浏览(35)
  • unity通过脚本实现漫游功能 wasd控制玩家移动,空格跳跃,鼠标控制视野旋转,滑轮控制镜头伸缩

    将场景中的摄像机删除,在玩家的控制面板中添加Camera组件,和rigibody组件   using System.Collections; using System.Collections.Generic; using UnityEngine; public class move : MonoBehaviour {     public float speed;     Rigidbody rigid;     void Start()     {                 rigid = GetComponentRigidbody();     }  

    2024年02月10日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包