分享

13、 实现相机视角的变化以及旋转

 雪柳花明 2016-09-09

Unity里提供了非常多的方式来创建一个四元数。
例如Quaternion.AngleAxis(float angle, Vector3 axis),它可以返回一个绕轴线axis旋转angle角度的四元数变换.
例如:Quaternion quater=Quaternion.AngleAxis(60,Vector3.up);

在第12个小文章中,讲解了四元数和欧拉角的关系。这里写了个小事例。

本代码 实现相机视角的变化以及旋转。


using UnityEngine;
using System.Collections;

/// <summary>
/// Camera1.
/// 测试相机的前近 ,后退以及旋转。
/// </summary>
public class Camera1 : MonoBehaviour {

//通过给该值赋值,来决定相机视角的大小,前进后退的感觉。
public float value;

//要旋转的角。
public Vector3 vec;

/// <summary>
/// The cam.
/// 这里直接用camera代替的话,就不用写该变量了。
/// </summary>
private Camera cam;

// Use this for initialization
void Start () {
cam = GetComponent<Camera> ();

}
// Update is called once per frame
void Update () {
//transform是默认的。代表的是挂载该脚本的Transform变化组件。

transform.rotation = Quaternion.Euler (new Vector3(vec.x,vec.y,vec.z));
cam.fieldOfView = value;
}
}

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多