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;
        }
    }
}
相关推荐
dllxhcjla7 小时前
微服务全套
java
张老师带你学7 小时前
unity TerrainSampleAssets
科技·游戏·unity·游戏引擎·模型
亚历克斯神8 小时前
JVM 内存管理 2026:深度解析与调优实战
java·spring·微服务
逻辑驱动的ken8 小时前
Java高频面试题:03
java·开发语言·面试·求职招聘·春招
广师大-Wzx9 小时前
一篇文章看懂MySQL数据库(下)
java·开发语言·数据结构·数据库·windows·python·mysql
野生技术架构师9 小时前
Java NIO到底是个什么东西?
java·开发语言·nio
likerhood10 小时前
简单工厂设计模式
java·ide·intellij-idea
RReality11 小时前
【Unity Shader URP】色带渐变着色(Ramp Shading)实战教程
ui·unity·游戏引擎·图形渲染
派大星酷11 小时前
Java 调用 Kimi API 实战:实现与大模型的简单对话
java·开发语言·ai编程
猫耳球团12 小时前
IDEA与Cursor跨平台协作指南
java·ide·intellij-idea