Unity 控制刚体的移动与旋转的方法
2023-12-14 23:33:23
在场景创建一个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鼠标控制刚体移动旋转(实际效果不好,纯粹用来玩玩)
如视频所示,效果真的不行,只能单纯上下或左右移动旋转刚体,同时用鼠标控制效果更差。所以使用上面方法纯粹就是玩玩。?
文章来源:https://blog.csdn.net/mr_five55/article/details/135006048
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!