在场景创建一个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 updatevoid Start(){rigidbody = GetComponent<Rigidbody>(); }// Update is called once per framevoid 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鼠标控制刚体移动旋转(实际效果不好,纯粹用来玩玩)
如视频所示,效果真的不行,只能单纯上下或左右移动旋转刚体,同时用鼠标控制效果更差。所以使用上面方法纯粹就是玩玩。