Unity 3d角色展示脚本(旋转 平移 缩放)展示界面

不考虑性能 很简陋的一个功能,主要是用于角色渲染的观察用,比simplecontroller要好用一点

csharp 复制代码
using System;
using UnityEngine;

public class CharacterViewer : MonoBehaviour
{
    public Transform target; // 人物模型的Transform
    public float rotationSpeed = 5f;
    public float zoomSpeed = 1f;
    public float panSpeed = 0.001f;
    private Vector3 lastMousePosition;
    

    void Update()
    {
        // 旋转
        if (Input.GetMouseButton(0))
        {
            float mouseX = -Input.GetAxis("Mouse X");
            // float mouseY = Input.GetAxis("Mouse Y");
            target.Rotate(Vector3.up, mouseX * rotationSpeed, Space.World);
            // target.Rotate(Vector3.right, -mouseY * rotationSpeed, Space.Self);
        }

        // 缩放
        float scroll = Input.GetAxis("Mouse ScrollWheel");
        if (scroll != 0)
        {
            Vector3 zoomDirection = transform.forward;
            transform.position += zoomDirection * (scroll * zoomSpeed);
        }

        // 平移
        if (Input.GetMouseButtonDown(2))
        {
            lastMousePosition = Input.mousePosition;
        }
        if (Input.GetMouseButton(2))
        {
            Vector3 delta = Input.mousePosition - lastMousePosition;
            Camera.main.transform.Translate(-delta.x * panSpeed, -delta.y * panSpeed, 0);
            lastMousePosition = Input.mousePosition;
        }
    }
}
相关推荐
你不是我我14 小时前
【Java 开发日记】阻塞队列有哪些?拒绝策略有哪些?
java·开发语言
lpruoyu15 小时前
HTTP+XML形式完成请求交互
java
7澄115 小时前
Java Socket 网络编程实战:从基础通信到线程池优化
java·服务器·网络·网络编程·socket·多线程·客户端
2201_7578308715 小时前
反射的概念
java·开发语言
Pocker_Spades_A15 小时前
DeepCore:大模型统一网关,Claude 免费体验与跨模型技术洞察
java·服务器·数据库
Arva .15 小时前
Spring Boot自动配置原理
java·spring boot·后端
寻星探路15 小时前
Java EE初阶启程记15---文件操作和IO
java·java-ee
阿巳helloWorld15 小时前
SpringMVC底层流程解析
java·开发语言
heartbeat..15 小时前
介绍java中常用于处理 Excel 文件的Apache POI
java·apache·excel·poi
路边草随风15 小时前
java 实现 flink 读 kafka 写 iceberg
java·flink·kafka