Unity 通过键盘鼠标控制物体移动、旋转、缩放的方法

在Unity中,使用键盘ADWS键控制物体移动,通过鼠标左键控制物体旋转,鼠标中键控制物体缩放是再常见不过的方法。

方法如下:

复制代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class MoveController : MonoBehaviour
{
    float moveSpeed = 10f;
    float rotateSpeed = 1000f;
    // Start is called before the first frame update
    void Start()
    {
        
    }

    // Update is called once per frame
    void Update()
    {
        //获取横轴参数
        float Horizontal = Input.GetAxis("Horizontal");
        //获取垂直参数
        float Vertical = Input.GetAxis("Vertical");        

        //键盘ADWS键控制物体移动。
        //通过乘于Time.deltaTime,就可以让物体以每秒moveSpeed单位的速度向前移动
        transform.Translate(new Vector3(Horizontal * Time.deltaTime * moveSpeed, 0, Vertical * Time.deltaTime * moveSpeed)); 

        //左键鼠标点击状态下移动鼠标旋转
        if(Input.GetMouseButton(0))
        {
            //通过获取鼠标XY轴移动数值控制物体旋转
            transform.Rotate(new Vector3(Input.GetAxis("Mouse X") * Time.deltaTime * rotateSpeed, Input.GetAxis("Mouse Y") * Time.deltaTime * rotateSpeed));
        }

        //通过获取鼠标中键滑动值控制物体缩放
        transform.localScale += Vector3.one * Input.GetAxis("Mouse ScrollWheel");
    }
}

效果如下:Unity 通过键盘鼠标控制物体移动、旋转、缩放_哔哩哔哩_bilibili

相关推荐
刘欣的博客1 小时前
C# 上传票据文件 调用Dify的API完成OCR识别
c#·ocr·api·dify
hoiii1871 小时前
C#实现近7天天气预报
开发语言·c#
亦陈不染1 小时前
c#入门详解(刘铁锰)06 - 数据持久化:TXT文本保存、序列化与反序列化(附详细源码)
开发语言·计算机视觉·c#·wpf
忧郁的蛋~6 小时前
.NET实现多任务异步与并行处理的详细步骤
后端·c#·asp.net·.net·.netcore
阿登林7 小时前
C# iText7与iTextSharp导出PDF对比
开发语言·pdf·c#
虚行8 小时前
WPF入门
开发语言·c#·wpf
djk88889 小时前
一个完整的 TCP 服务器监听示例(C#)
服务器·tcp/ip·c#
WaWaJie_Ngen9 小时前
【OpenGL】模板测试(StencilTest)
c++·算法·游戏·游戏引擎·游戏程序·图形渲染
虚行12 小时前
C#技术栈
开发语言·c#
唐青枫12 小时前
C#.NET SqlKata 使用详解:优雅构建动态 SQL 查询
c#·.net