//Vectory3.Lerp的意思是差值把2点之间的距离設定为0-1,值等于0.5就代表中间,0.7就代表十分之七的距离;
//然后这个=transform.position 就不用写移动了,默认物体的位置直接就“过去”了
//MoveTowards:两点之间的距离設定为一个定数,只要要移动的点和目标点之间有距离就一直移动下去,
只有第三种方法是匀速的前两种都是先快后慢的。
首先介绍Input.GetAxis方法官方文档给出的解释为:
即根据输入的axisName,返回输入设备在axisName(可能是某一个虚拟轴)上的位移量这里的位移量指的是相邻两次GetAxis方法被调用时所产生的位移量。即如果每帧调用一次该方法,就会返回axisName在该帧的位移量
其中,axisName的可选参数如下:
鼠标沿着屏幕X移动时触发 |
鼠标沿着屏幕Y移动时触發 |
当鼠标滚动轮滚动时触发 |
对应键盘上面的上下箭头当按下上或下箭头时触发 |
对应键盘上面的左右箭头,当按下左或右箭头时触发 |
得到輸入后可以根据输入值进行物体运动的控制,首先介绍transform.Translate方法:
同理也有控制目标物体旋转值的方法:
另一种改变物体运动的方式是为其施加某种力:
示例为Unity官网Roll-A-Ball示例中,利用键盘控制小球运动的方法: