• 大小: 4KB
    文件类型: .cs
    金币: 1
    下载: 0 次
    发布日期: 2021-05-29
  • 语言: C#
  • 标签: unity3D  c#  

资源简介

U3D对3D物体进行移动旋转缩放的测试脚本,有待改进的地方,望多多指教

资源截图

代码片段和文件信息

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
/// 
/// 拖动、旋转、缩放
/// 

public class Zoom : MonoBehaviour {

    float rotationX;
    float rotationY;
    //灵敏度
    [SerializeField]  
    float delicacyX=5;
    [SerializeField]
    float delicacyY=5;
    //枚举
    public enum Rotation { MouseXAndY MouseX MouseY }
    //赋值
    Rotation axes = Rotation.MouseXAndY;

    void Update()
    {
        //启动旋转方法
        MouseRotation(Rotation.MouseX);

        //鼠标滚轮缩放效果
        #region
        //Camera.main.fieldOfView 摄像机的视野
        //Camera.main.orthographicSize 摄像机的正交投影
        //Zoom 移出
        if (Input.GetAxis(“Mouse ScrollWheel“) < 0)
        {
            if (Camera.main.fieldOfView <= 100)
                Camera.main.fieldOfView += 2;
            if (Camera.main.orthographicSize <= 20)
                Camera.main.orthographicSize += 0.5F;
        }
        //Zoom 进入
        if (Input.GetAxis(“Mouse ScrollWheel“) > 0)
        {
            if (Camera.main.fieldOfView > 2)
                Camera.main.fieldOfView -= 2;
            if (Camera.main.orthographicSize >= 1)
                Camera.main.orthographicSize -= 0.5F;
        }
        #endregion

        //开起协程
        StartCoroutine(onmousedown());
    }


    /// 
    /// 右键控制旋转
    /// 

    public void MouseRotation(Rotation axes)
    {
        //判断是否点击右键
        if (Input.GetMouseButton(1))
        {
            ////全方位旋转
            //if (axes == Rotation.MouseX)
            //{
            //    //获取X轴
            //    rotationX = transform.localEulerAngles.y + Input.GetAxis(“Mouse X“) * delica

评论

共有 条评论