transform.Translate(0, 0, Time.deltaTime * 10)
transform.Translate(0, 0, Time.deltaTime),表示一秒移动1米。
Time.deltaTime表示的增量时间,即一帧的时间
这里的“一帧”,指的是一秒内刷新的,比如一秒内刷新30次,那deltaTime的时间就是1/30秒。
所以如果不乘deltaTime,直接transform.Translate(0,0,1),其实速度是很快的。
horizontalInput=Input.GetAxis("Horizontal");对应键盘上的A键和D键 或←键和→键(左右移动)
forwardInput=Input.GetAxis("Vertical");对应键盘上的W键和S键 或↑键和↓键(前进、后退)
transform.Translate(Vector3.forward*Time.deltaTime*speed*forwardInput)
Vector3.forward为z轴坐标,其值为(0,0,1);
Time.deltaTime中deltaTime为一帧的时间;
Unity增量时间Time.deltaTime详解_ChinarCSDN的博客-CSDN博客_deltatime
speed是规定的(public或private都可);
forwardInput是我们手动输入的:Input.GetAxis("Vertical"),
unity中Input.GetAxis()用法_天行九歌-CSDN博客_getaxis
Unity3D_向量(Vector3)数学基础_bobo553443的博客-CSDN博客_vector3
forward =Vector3(0, 0, 1)=向z轴。
right= Vector3(1, 0, 0)=向x轴。
up =Vector3(0, 1, 0)=向y轴。
zero=Vector3(0, 0, 0)
one=Vector3(1, 1, 1)
transform.Translate(Vector3.right * Time.deltaTime * turnSpeed*horizontalInput);
与
transform.Rotate(Vector3.up, horizontalInput*Time.deltaTime*turnSpeed);
不同的是:
前者是滑动,左右平移
后者则是转动,旋转角度
unity引擎之Rotation旋转_Jessica的博客-CSDN博客_rotation
Unity脚本-Rotate旋转相关知识总结_sols的博客-CSDN博客



