Unity 控制刚体的移动与旋转的方法

在场景创建一个Cube,并添加刚体,如图:

编写脚本:

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

[RequireComponent(typeof(Rigidbody))]
public class RibRotate : MonoBehaviour
{
    //private Vector3 mouseStartPosition;
    private Rigidbody rigidbody;
    //private bool isMouseDown;

    private float moveSpeed = 5f;
    private float rotationSpeed = 10f;
    // Start is called before the first frame update
    void Start()
    {
        rigidbody = GetComponent<Rigidbody>();        
    }

    // Update is called once per frame
    void Update()
    {
        float vertical = Input.GetAxis("Vertical");
        float horizontal = Input.GetAxis("Horizontal");

        

        if (Input.GetMouseButton(0))
        {    
            //鼠标左键控制左右旋转
            rigidbody.angularVelocity = -transform.up * horizontal * rotationSpeed;
        }
        else if(Input.GetMouseButton(1))
        {
            //鼠标右键控制上下移动
            rigidbody.velocity = -transform.forward * vertical * moveSpeed;
        }

        //if (Input.GetMouseButtonDown(0))
        //{
        //    mouseStartPosition = Input.mousePosition;
        //    isMouseDown = true;
        //}
        //if (Input.GetMouseButtonUp(0))
        //{
        //    isMouseDown = false;
        //}

        //if (isMouseDown)
        //{
        //    // 获取鼠标移动距离和方向,并计算旋转角度
        //    float mouseX = Input.GetAxis("Mouse X");
        //    float mouseY = Input.GetAxis("Mouse Y");
        //    Vector3 rotation = new Vector3(-mouseY, mouseX, 0) * rotationSpeed;

        //    // 应用旋转
        //    transform.Rotate(rotation);
        //}
    }
}

把脚本添加到Cube中,运行:

Unity鼠标控制刚体移动旋转(实际效果不好,纯粹用来玩玩)

如视频所示,效果真的不行,只能单纯上下或左右移动旋转刚体,同时用鼠标控制效果更差。所以使用上面方法纯粹就是玩玩。

相关推荐
游乐码11 小时前
UnityGUI(五)GUI控件综合使用
开发语言·unity·c#
LF男男11 小时前
TshitBullect.cs
unity
游乐码19 小时前
Unity(十六)切换场景及鼠标相关
unity·游戏引擎
FakeEnd20 小时前
Unity开发笔记6
笔记·unity·游戏引擎
游乐码20 小时前
Unity(十七)Unity随机数及Unity委托
unity·游戏引擎
ellis197020 小时前
Unity性能优化之检测工具Profiler
unity·性能优化
RPGMZ1 天前
RPGMZ游戏引擎 一个窗口 文本居中显示
开发语言·javascript·游戏引擎·rpgmz
tohand1 天前
Unity 完美假阴影实现文档
unity·游戏引擎
@蓝莓果粒茶1 天前
【Unity笔记】保姆级AssetBundle详解(含代码+避坑指南)
笔记·游戏·unity
Zephyr_01 天前
Unity2D游戏制作
游戏·unity