zoukankan      html  css  js  c++  java
  • U3D场景摄像机旋转缩放


    var target : Transform;
    var xSpeed = 250.0;
    var ySpeed = 120.0;

    var yMinLimit = -20;
    var yMaxLimit = 80;

    var initDis = 20;
    var minDis = 3.0;
    var maxDis = 50.0;

    var wheelSpeed = 5;

    static var x = 0.0;
    static var y = 0.0;

    static  var distance;

    private var position;
    private var rotation;

    function Start () {

     x = 130;
     y = 30;
     

     transform.rotation = Quaternion.Euler(y, x, 0);;
     transform.position = Quaternion.Euler(y, x, 0) * Vector3(0.0, 0.0, -initDis) + target.position;

     // Make the rigid body not change rotation
        if (rigidbody)
      rigidbody.freezeRotation = true;

    }

    function Update () {
        if (target) {
      distance = Vector3.Distance(target.position,transform.position);
      if(Input.GetMouseButton(1)){
       x += Input.GetAxis("Mouse X") * xSpeed * 0.02;
       y -= Input.GetAxis("Mouse Y") * ySpeed * 0.02;
       
       y = ClampAngle(y, yMinLimit, yMaxLimit);
      }   
     
      distance-= Input.GetAxis("Mouse ScrollWheel")*wheelSpeed;    //获取鼠标中建响应
      distance = Mathf.Clamp(distance,minDis,maxDis);              //距离取最大值和最小值
     
      rotation = Quaternion.Euler(y, x, 0);
      position = rotation * Vector3(0.0, 0.0, -distance) + target.position;
       
      transform.rotation = rotation;
      transform.position = position;
     
     }
    }

    static function ClampAngle (angle : float, min : float, max : float) {
     if (angle < -360)
      angle += 360;
     if (angle > 360)
      angle -= 360;
     return Mathf.Clamp (angle, min, max);
    }

  • 相关阅读:
    SQL Server Profiler使用方法
    RichTextBox控件-主要用于输入输出编辑文本信息
    ComboBox
    另一个 SqlParameterCollection 中已包含 SqlParameter
    GUID全局唯一标识符
    MDI-多文档窗体
    【转】classpath和环境变量设置
    接口、抽象类都要单建(好习惯)
    Java基础部分回顾(为自己)
    Java基础——ArrayList与LinkedList(二)
  • 原文地址:https://www.cnblogs.com/JimmyCode/p/2651863.html
Copyright © 2011-2022 走看看