效果:实现对物体的自由视角观察
本代码是《Unity3D游戏开发》一书中,7-11的例子,其中有几处注释是我个人的分析
using UnityEngine;
using System.Collections;
public class NewBehaviourScript : MonoBehaviour {
//摄像机参照的模型
public Transform target;
//摄像机距离模型的默认距离
public float distance = 20.0f;
//鼠标在x轴和y轴方向移动的速度
float x;
float y;
//限制旋转角度的最小值与最大值
float yMinLimit = -20.0f;
float yMaxLimit = 80.0f;
//鼠标在x和y轴方向移动的速度
float xSpeed = 250.0f;
float ySpeed = 120.0f;
// Use this for initialization
void Start () {
//初始化x和y轴角度,使其等于参照模型的角度
Vector2 Angles = transform.eulerAngles;
x = Angles.y;
y = Angles.x;
if (gameObject.GetComponent<Rigidbody>() != null) {
gameObject.GetComponent<Rigidbody>().fre