unity键盘控制移动操作(WASD)篇

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

    今天仔细重新研究了下移动操作,发现input.key那种方法纯属是讨巧操作,实际上它并不好用,在高性能电脑中,我们的电脑每帧有可能会运行上千帧,如果采用这种方法会发生发卡顿,远远没有以下方案丝滑

方案来自unity官网教学视频改写本篇博客内容,原网址如下:

Lesson 2.1 - Player Positioning - Unity Learnhttps://learn.unity.com/tutorial/lesson-2-1-control-player-bounds-with-if-then-statements?uv=2020.3&missionId=5f71fe63edbc2a00200e9de0&pathwayId=5f7e17e1edbc2a5ec21a20af&contentId=5f7229b2edbc2a001f834db7&projectId=5cdcc312edbc2a24a41671e6#首先我们先

1.在场景中建一个模型。

2创建一个脚本,挂载到模型上。

unity键盘控制移动操作(WASD)篇

然后再脚本中代码书写如下:

    //声明部分
    public float horizontalinput;//水平参数
    public float Verticalinput;//垂直参数
    float speed=10.0f;//声明一个参数,没有规定

    //在update中书写
    void Update()
    {
        
        horizontalinput = Input.GetAxis("Horizontal");
        //AD方向控制
        Verticalinput = Input.GetAxis("Vertical");
        //WS方向控制
        this.transform.Translate(Vector3.right * horizontalinput * Time.deltaTime * speed);
        控制该物体向侧方移动
        this.transform.Translate(Vector3.forward*  Verticalinput * Time.deltaTime * speed);
        //控制该物体向前后移动
    }

之后保存,你就会发现即使WA、WD、AS、SD一起按也会有移动效果

-------------------------------------------------------

WA、WD、AS、SD一起按也会有移动效果,但是你会发现他们在斜着移动时速度变快了

于是加入以下代码进行限制他们斜着移动的速度

        if (horizontalinput!=0&&Verticalinput!=0)
        {
            horizontalinput = horizontalinput * 0.6f;
            Verticalinput = Verticalinput * 0.6f;
        }

最后完善的代码:文章来源地址https://www.toymoban.com/news/detail-504911.html

    //声明部分
    public float horizontalinput;//水平参数
    public float Verticalinput;//垂直参数
    float speed=10.0f;//声明一个参数,没有规定

    //在update中书写
    void Update()
    {
        
        horizontalinput = Input.GetAxis("Horizontal");
        //AD方向控制
        Verticalinput = Input.GetAxis("Vertical");

        if (horizontalinput!=0&&Verticalinput!=0)
        {
            horizontalinput = horizontalinput * 0.6f;
            Verticalinput = Verticalinput * 0.6f;
        }
        //WS方向控制
        this.transform.Translate(Vector3.right * horizontalinput * Time.deltaTime * speed);
        控制该物体向侧方移动
        this.transform.Translate(Vector3.forward*  Verticalinput * Time.deltaTime * speed);
        //控制该物体向前后移动
    }

到了这里,关于unity键盘控制移动操作(WASD)篇的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 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)
  • Unity解决:3D开发模式第三人称视角 WASD控制角色移动旋转 使用InputSystem

    Unity版本:2019.2.3f1 目录  安装InputSystem 1:创建InputHander.cs脚本 挂载到Player物体上 获取键盘输入WADS 2.创建PlayerLocomotion.cs挂载到Player物体上,控制物体移动转向   菜单栏/Window/Package Manager/Input System  工程面板内 右键--创建Input Actions  选中New Controls改名为PlayerControls 然后属

    2024年02月06日
    浏览(38)
  • Unity 通过键盘鼠标控制物体移动、旋转、缩放的方法

    在Unity中,使用键盘ADWS键控制物体移动,通过鼠标左键控制物体旋转,鼠标中键控制物体缩放是再常见不过的方法。 方法如下:  效果如下:Unity 通过键盘鼠标控制物体移动、旋转、缩放_哔哩哔哩_bilibili

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

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

    2024年02月04日
    浏览(42)
  • Unity3D摄像机,键盘控制前后左右上下移动,鼠标控制旋转、放缩

    Unity3D中运行场景时,实现摄像机的前、后、左、右、上、下,以及鼠标滚轮的放缩,鼠标右键的旋转操作。亲测有效,可供参考。 按键功能介绍:W——前;S——后;A——左;D——右;Q——下降;E——上升;鼠标右键——旋转;鼠标滚轮——放缩。 Tourcamera脚本需要挂在摄

    2024年02月11日
    浏览(43)
  • Java使用Maven工程操作OpenGL ES绘制三角形和圆形;绘制完成后操作键盘控制然图形移动

    PS:想快速看到效果的小伙伴,可以在引入依赖后,先跳到完整代码部分 第一步:依赖引入 第二步:创建类,引入需要的包,设置全局参数 1.创建类 2. 包引入 3. 全局参数 第三步:定义一个初始化方法 init() 1. GLFW 错误信息的回调函数 这样做,在发生 GLFW 错误时,错误信息将

    2024年02月08日
    浏览(36)
  • Unity 新建你的第一个游戏,以及如何按WASD控制角色运动 (Unity Demo2D)

    当你打开 Unity Hub,初始化一个 2D 项目,进入了 Unity 编辑器,你会发现在 左侧 : 一个叫 SampleScene (或者其他) 的场景 场景下有一个 Main Camera,主相机 这就是一个新建的 2D 项目自带的内容。 在 Main Camera 同级目录新建: 2D Object - Sprites - Capsule ,这里 Capsule 是精灵的种类,我们

    2024年02月02日
    浏览(38)
  • 键盘怎么控制鼠标?键盘控制鼠标实现点击和移动

    鼠标在电脑操作过程中非常重要,可是有时遇到尴尬的问题,就是摸鱼的时候觉得一直点击鼠标声音太大,或者舍友都睡觉了,你突然之间需要浏览一些网页,一直点击鼠标会产生很大的噪声,这时候该怎么办呢?如果你是笔记本,配合鼠标版可以解决。如果你正好有一个静

    2024年02月06日
    浏览(39)
  • 键盘控制鼠标移动

    记录一下, windows用autohotkeys crtl + 方向键 / 空格 :移动鼠标 / 鼠标左击 crtl + shift + 方向键 / 空格: 快速移动鼠标 / 鼠标右击 mac(更新一下,换了个带小键盘的键盘,直接用系统的鼠标键功能。。。深井冰-)。                                 用hammerspoon ,这个还没做

    2024年02月17日
    浏览(34)
  • 教你用JavaScript实现键盘控制小方块移动

    欢迎来的我的小院,我是霍大侠,恭喜你今天又要进步一点点了! 我们来用JavaScript编程实战案例,做一个键盘控制小方块移动的案例。该案例主要实现通过按下键盘的上下左右按钮来控制小方块在页面中的移动。通过实战我们会学习到position定位,键盘监听事件以及动态给

    2024年02月09日
    浏览(31)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包