标题 unity 实现了鼠标滚动拉近拉远相机的效果以及相机的跟随玩家
首先创建一个脚本起名为CamerFollow
把该脚本挂在相机上
给玩家添加标签为Player
定义一个目标向量tagreat该向量是Vector3类型
定义一个距离
其次在start里面通过标签找到玩家
player = GameObject.FindGameObjectWithTag(“Player”);
其次获取到tagreat向量
tagreat = player.transform.position - transform.position;
然后在Update里面写相机的坐标这样就实现了相机的跟随
transform.position = player.transform.position - tagreat;
然后在写关于相机的拉近和拉远效果
unity3d左上角 idet上有一个progect settings 里面有一个input 点击可以看见关于一些键位的设置 比如Mouse ScrollWheel 就是关于滚轴的缩放 向上滚动返回的是一个正值 向下滚动返回的是一个负值
其次写一个方法 这里我写的方法名叫mouse
首先让距离等于这个向量的长度也就是
distance = tagreat.magnitude;
然后向上滚动镜头拉近向下滚动镜头缩小
distance -= Input.GetAxis(“Mouse ScrollWheel”)*10;
其次设置了一下镜头的拉近及缩小的限制范围
distance = Mathf.Clamp(distance, 4, 21);
最后保证向量的方向不变 滑动滚轮长度改变
tagreat = tagreat.normalized * distance;
这样就实现了相机的拉近和缩放