Unity3D 第二课如何让摄像机跟随你的角色
本帖最后由 fjkrl 于 2013-3-5 00:22 编辑本教程接上面一课
我现在场景中建立一个角色,这里我用一个方块代替,方块命名为Player,
[*] //用来获取一个角色对象
[*] public GameObject target;
复制代码
原先MouseLook代码我不做修改
Update ()里初始化
[*]//这里的Pllayer是我获取的那个对象
[*]target = GameObject.Find("Player");
复制代码
下面贴出全部代码
[*] using UnityEngine;
[*] using System.Collections;
[*]
[*] public class MouseLook : MonoBehaviour {
[*] public enum RotationAxes { MouseXAndY = 0, MouseX = 1, MouseY = 2 }
[*] public RotationAxes axes = RotationAxes.MouseXAndY;
[*] public float sensitivityX = 15F;
[*] public float sensitivityY = 15F;
[*] public float minimumX = -360F;
[*] public float maximumX = 360F;
[*] public float minimumY = -85F;
[*] public float maximumY = 4F;
[*] public float rotationY = 0F;
[*] public GameObject target;
[*] void Update ()
[*] {
[*] target = GameObject.Find("Player");
[*] if(Input.GetMouseButton(1))
[*] {
[*] transform.position = target.transform.position;
[*] if (axes == RotationAxes.MouseXAndY)
[*] {
[*] float rotationX = transform.localEulerAngles.y + Input.GetAxis("Mouse X") * sensitivityX;
[*] rotationY += Input.GetAxis("Mouse Y") * sensitivityY;
[*] rotationY = Mathf.Clamp (rotationY, minimumY, maximumY);
[*] transform.localEulerAngles = new Vector3(-rotationY, rotationX, 0);
[*] }
[*] else if (axes == RotationAxes.MouseX)
[*] {
[*] transform.Rotate(0, Input.GetAxis("Mouse X") * sensitivityX, 0);
[*] }
[*] else
[*] {
[*] rotationY += Input.GetAxis("Mouse Y") * sensitivityY;
[*] rotationY = Mathf.Clamp (rotationY, minimumY, maximumY);
[*] transform.localEulerAngles = new Vector3(-rotationY, transform.localEulerAngles.y, 0);
[*] }
[*] SetDistance();
[*] }
[*] else
[*] {
[*] transform.position = target.transform.position;
[*] SetDistance();
[*] }
[*] }
[*] void Start ()
[*] {
[*] if (rigidbody)
[*] {
[*] rigidbody.freezeRotation = true;
[*] transform.position = target.transform.position;
[*] }
[*] }
[*] //设置相机与人物之间的距离
[*] void SetDistance()
[*] {
[*] transform.Translate(Vector3.forward * theDistance);
[*] }
[*] }
复制代码
现在大家试试动下鼠标摄像机是不是以一个物体为中心点旋转了哇
theDistance参数是怎么来的?谢谢 22sy22sy22sy22sy22sy22sy22sy22sy22sy22sy22sy22sy22sy22sy22sy22sy22sy22sy22sy22sy22sy 可以可以................ 楼主是超人 好帖就是要顶 难得一见的好帖 很好哦 LZ真是人才 楼主是超人