通过鼠标的滚轮控制摄像机视野的拉近拉远效果
游戏中常常见到视野的拉近拉远效果,比如英雄联盟中就可以通过鼠标滚轮进行视野的拉近与拉远,同时你也会发现在视野进行拉近拉远到一定程度时,在进行操作就不起作用了,因为视野的拉近拉远有一定的限制范围。所以今天分享一个摄像机视野拉近拉远的代码。
代码如下:
using System.Collections;using System.Collections.Generic;using UnityEngine;public class FllowPlayer : MonoBehaviour {public float scrollSpeed = 10;//滑轮滚动速度private Transform player;//主角的位置变量private Vector3 offsetPosition; //位置偏移public float distance = 0;//位置偏移的向量长度void Start () {player = GameObject.FindGameObjectWithTag(Tags.player).transform;//找到主角的位置offsetPosition = transform.position - player.position;//主角与摄像机之间的偏移}void Update () {//调用处理视野的拉近和拉远方法ScrollView();}private void ScrollView(){//向后滑动返回负值 向前滑动返回正值distance = offsetPosition.magnitude;//位置偏移的向量长度distance -= Input.GetAxis("Mouse ScrollWheel") *scrollSpeed;//获取滚轮值的改变distance = Mathf.Clamp(distance, 2, 15);//限制滚轮距离的范围,此数值可根不同需求设置相应的值offsetPosition = offsetPosition.normalized * distance; //单位向量 方向不变 距离改变}}
=