先上效果图,这个开始的时候:
然后可以单击鼠标左键观察到下面的位置:
下面的代码:
using UnityEngine;
using System.Collections;
public class CameraContrller : MonoBehaviour {
public static CameraContrller Instance = null;
public float mDistance = 10;
private Vector3 mRot = new Vector3(-55, 180, 0);
private float mSpeed = 60;
private float mVx = 0;
private float mVy = 0;
private Transform mTransform;
public Transform target;
void Awake()
{
Instance = this;
mTransform = this.transform;
}
void Start()
{
//target = CameraPoint.Instance.transform;
Follow();
}
void LateUpdate()
{
if (Input.GetMouseButton(0))
{
float mx = Input.GetAxis("Mouse X");
float my = Input.GetAxis("Mouse Y");
Control(mx, my);
}
Follow();
}
void Follow()
{
mTransform.position = target.position;
mTransform.eulerAngles = mRot;
mTransform.Translate(0, 0, mDistance);
this.transform.LookAt(target);
}
public void Control(float mx, float my)
{
target.Translate(-mx, 0, -my);
}
}