[Unity3D]Unity3D游戏开发之鼠标滚轮实现放大缩小
2014-04-05 14:18
281 查看
大家好,欢迎大家关注由我为大家带来的Unity3D游戏开发系列文章,我的博客地址为:http://blog.csdn.net/qinyuanpei。
今天为大家分享的是在Rpg游戏中十分常见的鼠标滚轮调整摄像机视野效果,首先我们先创建一个游戏场景:
接下来我们编写一段脚本代码:
2014年10月6日更新
起初写这篇文章的时候,对于很多概念都没有较为清楚地认识,如今渐渐地懂了,只好回头再来补上当时没有解决的问题。在这段脚本中我们是通过改变摄像机的视野大小来实现这样的一个缩放效果的,这是一种方法。当然我们可以选择另外的一种方法,即根据透视成像原理,摄像机离物体越近,则物体成像相当越大,摄像机离物体越远,则物体成像相对越小。利用这个原理,我们可以很容易的想到我们可以通过改变摄像机到物体地距离来实现缩放效果。于是,我们有了下面的代码:
今天为大家分享的是在Rpg游戏中十分常见的鼠标滚轮调整摄像机视野效果,首先我们先创建一个游戏场景:
接下来我们编写一段脚本代码:
using UnityEngine; using System.Collections; public class CameraZoom : MonoBehaviour { void Start () { } void Update () { //Zoom out if (Input.GetAxis("Mouse ScrollWheel") <0) { if(Camera.main.fieldOfView<=100) Camera.main.fieldOfView +=2; if(Camera.main.orthographicSize<=20) Camera.main.orthographicSize +=0.5F; } //Zoom in if (Input.GetAxis("Mouse ScrollWheel") > 0) { if(Camera.main.fieldOfView>2) Camera.main.fieldOfView-=2; if(Camera.main.orthographicSize>=1) Camera.main.orthographicSize-=0.5F; } } }从上面的代码中,我们可以看出,我们通过改变摄像机的视野就可以实现场景的放大和缩小,而对于鼠标滚轮的监听我们这里用到了GetAxis()方法,下面给出演示动画:
2014年10月6日更新
起初写这篇文章的时候,对于很多概念都没有较为清楚地认识,如今渐渐地懂了,只好回头再来补上当时没有解决的问题。在这段脚本中我们是通过改变摄像机的视野大小来实现这样的一个缩放效果的,这是一种方法。当然我们可以选择另外的一种方法,即根据透视成像原理,摄像机离物体越近,则物体成像相当越大,摄像机离物体越远,则物体成像相对越小。利用这个原理,我们可以很容易的想到我们可以通过改变摄像机到物体地距离来实现缩放效果。于是,我们有了下面的代码:
//鼠标滚轮缩放 Distance-=Input.GetAxis("Mouse ScrollWheel") * ZoomSpeed; Distance=Mathf.Clamp(Distance,MinDistance,MaxDistance); //重新计算位置 Vector3 mPosition = mRotation * new Vector3(0.0F, 0.0F, -Distance) + Target.position;这段代码可以让我们在一个由MinDistance、MaxDistance所确定地范围内对Distance按照一定地ZoomSpeed进行缩放,这样我们就可以根据Distance的值来重新计算摄像机的位置,这样我们同样能实现类似与这篇文章中地效果。本次更新就是这样了,希望大家喜欢啊。如果对这段代码有疑问,可以访问/article/1479851.html或者给博主留言,谢谢大家。
相关文章推荐
- [Unity3D]Unity3D游戏开发之鼠标滚轮实现放大缩小
- [Unity3D]Unity3D游戏开发之鼠标滚轮实现放大缩小
- [Unity3D]Unity3D游戏开发之鼠标滚轮实现放大缩小
- 【Unity3D自学记录】Unity3D游戏开发之鼠标滚轮实现放大缩小
- js实现图片滚轮放大缩小以及鼠标拖动
- 用HTML5实现鼠标滚轮事件放大缩小图片的功能
- [Unity3D]Unity3D游戏开发之鼠标旋转、缩放实现3D物品展示
- [Unity3D]Unity3D游戏开发之鼠标旋转、缩放实现3D物品展示
- 图片实现鼠标滚轮滚动放大缩小图片
- mxGraph绘图区域使用鼠标滚轮实现放大/缩小
- 鼠标滚轮实现放大缩小
- 使用鼠标滚轮实现放大缩小地图
- ExtJs 完美实现图片在Window窗口中通过鼠标滚轮放大缩小以及点击拖拽
- 鼠标滚轮实现地图放大缩小 并以滚轮点为中心点
- [Unity3D]Unity3D游戏开发之鼠标旋转、缩放实现3D物品展示
- 修改ArcMap默认的鼠标滚轮放大缩小,AE实现修改鼠标滚轮放大缩小
- [Unity3D]Unity3D游戏开发之史上最简单的鼠标点击控制人物走动实现
- Unity3D 通过鼠标滚轮来放大或缩小视角的大小
- JS实现鼠标滚轮缩小放大拖动图片代码
- 鼠标滚轮实现单文档视图的放大与缩小