zoukankan      html  css  js  c++  java
  • Unity3d 控制物体移动、旋转、缩放

      在Unity中通过利用 Input Manager(输入管理器)可以很简单的实现对一个物体进行移动、旋转、缩放操作。

    演示代码:

    //通过虚拟轴控制物体移动、旋转、缩放
    public class MoveCube : MonoBehaviour
    {
        float moveSpeed = 10f;
        float rotateSpeed = 50f;
    
        void Update()
        {
            float horizontal = Input.GetAxis("Horizontal"); //获取横轴参数。(如:按A键返回-1 按D键返回+1,但中间有一个过度,而不是直接变-1或+1。)
            float vertical = Input.GetAxis("Vertical"); //获取垂直参数。
            Debug.Log("horizontal: " + horizontal + ",vertical:" + vertical);
    
            float mouseX = Input.GetAxis("Mouse X");//获取鼠标X轴滑动参数
            float mouseY = Input.GetAxis("Mouse Y");//获取鼠标Y轴滑动参数
            Debug.Log("mouseX: " + mouseX + ",mouseY:" + mouseY);
    
            float mouseScrollWheel = Input.GetAxis("Mouse ScrollWheel");
    
            //键盘ADWS键控制物体移动。(当乘以Time.deltaTime实际表示:每秒移动物体N米,而不是每帧N米。)
            this.transform.Translate(new Vector3(horizontal * Time.deltaTime * moveSpeed, 0, vertical * Time.deltaTime * moveSpeed));
    
            //鼠标XY轴滑动控制物体旋转
            this.transform.Rotate(new Vector3(mouseX * Time.deltaTime * rotateSpeed, mouseY * Time.deltaTime * rotateSpeed));
    
            //鼠标中键控制物体缩放
            this.transform.localScale += new Vector3(mouseScrollWheel, mouseScrollWheel, mouseScrollWheel);
        }
    }
  • 相关阅读:
    ssh登录很慢的问题
    Y480&Y580 刷slic2.1全自动教程
    re正则表达式5_*
    linux下查看内存使用情况
    检查linux网络的状况
    Linux Load average负载详细解释
    查看Linux磁盘空间大小
    Linux 批量重命名文件
    Linux 网卡丢包严重
    linux 下vi /vim 中文汉字乱码解决
  • 原文地址:https://www.cnblogs.com/bigxuan/p/8927504.html
Copyright © 2011-2022 走看看