Unity问题:
Vector3:
位置由三个量表示(0,0,0)
缩放由三个量表示(0,0,0)
旋转由三个量表示(0,0,0) 这里的三个量都是一样的,都可以进行向量之间的+ - * /
例如:缩放*(2,2,2);//表示的是放大2倍
位置+(0,10,0);//表示位置向y正向移动10
Vector3.up:与this.transform.up不一样,前者相对世界,后者相对自己 举例:
This.transform.rotate(vector3.up,10*time.deltatime,space.world);//结果是围绕世界z坐标轴旋转
This.transform.rotate(this.transform.up,10*time.deltatiem.space,space.world);//结果是围绕自己坐标轴旋转
使用vector3.forward ...............space.self!!!!!!!!!!!!!!!不要使用this.transform.forward(因为这会让后面的space.self失效,而且会导致不会按本地坐标移动)
为什么不能直接调用rotation实现旋转?
Rotation:名词
Rotate:动词
相对世界和相对父级:
相对世界:(绝对的世界位置,父级若动必然带动子级移动改变)(角度:绝对世界角度,父动改子)(缩放:绝对世界缩放,父动改子)
相对父级:(以父级作为唯一原点坐标,数值不变)(角度:父级z轴正向为原点Z轴正向,数值不变)(缩放:相对父级数值不变但形态改变)
10*time.delta.time:
This.transform.position=this.transform.position+this.transform.forward(方向)*1(速度)*time.deltatime(时间);//这里可以用路程表示路程
This.transform.rotate(vector3.up,10*time.dalta.time,space.self);//这里用路程表示速度
单位向量:
(0,0,1) (0,1,0) (1,0,0)
this.transform.forward也是单位向量(0,0,1)!!!!!!