您好,欢迎来到Unity之家!   unity.jb51.net 
  • 首 页
  • 你问我答
  • 当前位置:首页 > 学习培训 > Unity编程 >
    相机旋转代码
    时间:2015-03-16 09:41 来源:Unity之家 作者:unity.jb51.net 浏览:收藏 挑错 推荐 打印



    Unity3D相机旋转代码:这个代码用javascript写的,复制进去保存之后拖到你的相机上,然后绑定一个物体,

    相机就会沿着这个物体的中心点360旋转,用鼠标左键控制旋转的展示单个物体。


    点击图片切换相机代码:


    var target : Transform;
    var distance = 10.0;
    var xSpeed = 250.0;
    var ySpeed = 120.0;
    var yMinLimit = -20;
    var yMaxLimit = 80;
    var distanceMin = 3;
    var distanceMax = 15;
    private var x = 0.0;
    private var y = 0.0;
    @script AddComponentMenu("Camera-Control/Mouse Orbit")
    function Start () {
    var angles = transform.eulerAngles;
    x = angles.y;
    y = angles.x;
    // Make the rigid body not change rotation
    if (rigidbody)
    rigidbody.freezeRotation = true;
    }
    function LateUpdate () {
    if(Input.GetAxis("Fire1")==0)return;
    if (target) {
    x += Input.GetAxis("Mouse X") * xSpeed * distance* 0.02;
    y -= Input.GetAxis("Mouse Y") * ySpeed * 0.02;
    var rotation = Quaternion.Euler(y, x, 0);
    distance = Mathf.Clamp(distance - Input.GetAxis("Mouse ScrollWheel")*5, distanceMin, distanceMax);
    var hit : RaycastHit;
    if (Physics.Linecast (target.position, transform.position, hit)) {
    distance -= hit.distance;
    }
    var position = rotation * Vector3(0.0, 0.0, -distance) + target.position;
    transform.rotation = rotation;
    transform.position = position;
    }
    }



    OK。代码很简单。赶快测试下吧。也可以留言哟。大家一起讨论。。。




    (责任编辑:脚印)
    免责声明:Unity之家部分内容来源于互联网,如有侵权,请联系我们,本站将立即进行处理。