相机控制(Cameramanager)
using UnityEngine;
namespace dgl {
public class CameraManager : MonoBehaviour {
public bool lockon = false;
public float followSpeed = 9;
public float mouseSpeed = 2;
public float controllerSpeed = 7;
public Transform target;
[HideInInspector]
public Transform pivot;
[HideInInspector]
public Transform camTrans;
float turnSmoothing = .1f;
public float minAngle = -35;
public float maxAngle = 35;
float smoothX;
float smoothY;
float smoothXVelocity;
float smoothYVelocity;
public float lookAngle;
public float tilAngle;
public static CameraManager singleton;
public void Init (Transform t) {
target = t;
camTrans = Camera.main.transform;
pivot = camTrans.parent;
}
public void Tick (float d) {
float h = Input.GetAxis ("Mouse X");
float v = Input.GetAxis ("Mouse Y");
float c_h = Input.GetAxis ("RightAxis X");
float c_v = Input.GetAxis ("RightAxis Y");
float targetSpeed = mouseSpeed;
if (c_h != 0 || c_v != 0) {
h = c_h;
v = c_v;
targetSpeed = controllerSpeed;
}
FollowTarget (d);
HandleRotations (d, v, h, targetSpeed);
}
void FollowTarget (float d) {
float speed = d * followSpeed