標籤:pre engine ace lamp lam nbsp oid bsp layer
using UnityEngine;using System.Collections;public class CameraController : MonoBehaviour { public float distance_v; public float distance_h; public float rotation_H_speed=1; public float rotation_V_speed=1; public float max_up_angle = 80; //越大,頭抬得越高 public float max_down_angle =-60; //越小,頭抬得越低 public Transform follow_obj; //player private float current_rotation_H; //水平旋轉結果 private float current_rotation_V; //垂直旋轉結果 void LateUpdate() { //控制旋轉 current_rotation_H+= Input.GetAxis("Mouse X")*rotation_H_speed; current_rotation_V += Input.GetAxis("Mouse Y")*rotation_V_speed; current_rotation_V=Mathf.Clamp(current_rotation_V, max_down_angle, max_up_angle); //限制垂直旋轉角度 transform.localEulerAngles = new Vector3(-current_rotation_V,current_rotation_H,0f); //改變位置,以跟蹤的目標為視野中心,且視野中心總是面向follow_obj transform.position =follow_obj.position; transform.Translate(Vector3.back * distance_h, Space.Self); transform.Translate(Vector3.up * distance_v, Space.World); //相對於全局座標y軸向上 }}
滑鼠在螢幕上的移動來控制相機水平,垂直旋轉