unity 鼠标拖拽旋转 3d物体
脚本挂载需要操作的物体身上。
·
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ObjectRotation : MonoBehaviour
{
public float rotationSpeed = 1.0f; // 旋转速度
private Vector3 lastMousePosition; // 上一个鼠标位置
bool isRotate;
public void Start()
{
}
private void Update()
{
if(isRotate)
{
if (Input.GetMouseButton(0))
{
float deltaX = Input.mousePosition.x - lastMousePosition.x;
float deltaY = Input.mousePosition.y - lastMousePosition.y;
Debug.Log("按住右键旋转");
transform.Rotate(Vector3.up, deltaX * rotationSpeed * Time.deltaTime, Space.World);
transform.Rotate(-Vector3.left, deltaY * rotationSpeed * Time.deltaTime, Space.Self);
}
float scroll = Input.GetAxis("Mouse ScrollWheel");
transform.Translate(Vector3.forward * scroll * rotationSpeed * Time.deltaTime);
lastMousePosition = Input.mousePosition;
}
}
public void OnMouseDown()
{
lastMousePosition = Input.mousePosition;
isRotate = true;
}
public void OnMouseUp()
{
isRotate = false;
}
}
脚本挂载需要操作的物体身上
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)