Unity 相机的移动旋转以及拉近拉远的原理

不管是在游戏(如超级玛丽游戏)中,还是在工艺仿真中,还是在手机app开发中,相机都是必不可少的模块,本篇文章重点讲解一下相机背后的原理


下面这幅图引入两个角色,第一就是我们需要控制的相机,第二就是相机所盯的目标点


Unity 相机的移动旋转以及拉近拉远的原理_第1张图片


下面来看看一个简单的相机程序:

Unity 相机的移动旋转以及拉近拉远的原理_第2张图片



上面的代码做一个简单的总结吧:

Unity 相机的移动旋转以及拉近拉远的原理_第3张图片


从上图可知,相机的旋转和拉近拉远都是靠红框圈住的那一行代码来完成的,下面就分析一下这行代码:


首先我讲一下高中数学中常讲的方向向量,三句话对向量做个总结:


向量是矢量,有大小和方向
向量是一个有方向的线段
向量的计算遵循这个公式 : 向量=箭头-箭尾


Unity 相机的移动旋转以及拉近拉远的原理_第4张图片


对上图中代码做一下简单的代码调整,如下:

xiangji.transform.position = mubiao.transform.position - xiangji.transform.forward * distance;

mubiao没动,forward方向向量变化,很容易推导出相机的position肯定在变化


FR:海涛高软(QQ技术交流群:386476712)

你可能感兴趣的:(Unity)