unity实现鼠标右键控制视角

来源:互联网 发布:指南针软件 股票 编辑:程序博客网 时间:2024/05/21 10:27

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

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的参数分别是围绕的点,围绕的轴,偏移量