unity实现鼠标右键控制视角

主要实现的功能是相机跟随主角,鼠标右击移动后,相机的视角会旋转
思路:
在主角里创建空的子物体,把相机绑在空物体上,通过旋转空物体来实现视角的旋转,要把相机调整到适当位置,代码如下

public float rotateSpeed=100;       //设置旋转的速度
public Transform PlayerTrans;       //设置空物体的位置
public float maxh=10;               //设置提升的最高高度

void Start(){
    PlayerTrans.position=PlayerTrans.position+new Vector3(0,maxh,0);//提升空物体的位置,后面做旋转范围用}

void Update () {
    if(Input.GetMouseButton(1)){
    float nor=Input.GetAxis("Mouse X");//获取鼠标的偏移量
    PlayerTrans.RotateAround(PlayerTrans.position,Vector3.up,Time.deltaTime*rotateSpeed*nor);//每帧旋转空物体,相机也跟随旋转
    }

    }

学习到的相关知识点

1.用GetAxis移动,能产生缓冲效果。即物体起步或者停止时,不会直接停下来,而是产生缓冲的过渡效果
2.Transform.RotateAround的参数分别是围绕的点,围绕的轴,偏移量

你可能感兴趣的:(开始做自己的游戏吧-UNITY,unity)