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;
        }
    }
}
相关推荐
三维频道2 分钟前
3C电子制造破局:高精度蓝光3D扫描仪在形位公差分析中的应用
3d·制造·3c电子制造·新拓三维·xtom·形位公差分析·蓝光3d扫描仪
摇滚侠3 分钟前
IDEA 中快捷键的使用和修改 IDEA 中如何调试程序
java·ide·intellij-idea
风筝在晴天搁浅9 分钟前
手撕单例模式
java·开发语言·单例模式
星空ξ11 分钟前
OpenCode + Oh-My-OpenCode 配置指南:集成 GitHub Copilot 模型与 Java LSP (jdtls)
java·github·copilot·opencode·oh-my-opencode
Seven9711 分钟前
Tomcat Request请求处理:Container设计
java
逸Y 仙X13 分钟前
文章十五:ElasticSearch 运用ingest加工索引数据
java·大数据·elasticsearch·搜索引擎·全文检索
京师20万禁军教头23 分钟前
35面向对象(中级)-编程思想
java
yuzhiboyouye24 分钟前
java redis(缓存)
java·redis·缓存
大大杰哥32 分钟前
DAG 学习笔记:从拓扑排序到并行执行
java
2501_9130613434 分钟前
JVM虚拟机——面试中的八股文(下)
java·jvm·面试