Unity --- 3d数学 --- 坐标系统

Unity --- 3d数学 --- 坐标系统_第1张图片

 Unity --- 3d数学 --- 坐标系统_第2张图片

 1.世界坐标系是固定不动的

2.每一个游戏物体在世界坐标系中都有对应的坐标和方向Unity --- 3d数学 --- 坐标系统_第3张图片

 1.轴心点的位置不是固定的,是可以人为设定的Unity --- 3d数学 --- 坐标系统_第4张图片

1.Screen Space --- 屏幕坐标 

2.我们看到的屏幕其实就是相机所在的平面的位置 --- 而屏幕坐标系的Z其实就是游戏中的物体到相机平面的垂直距离

1.视口坐标和屏幕坐标的差别是 --- 屏幕坐标以像素为单位,而视口坐标则是没有单位的(可以看作是一种比例) 

2.屏幕坐标系是根据具体的硬件屏幕参数获得的,由于不同的屏幕硬件会带来不同的屏幕坐标系,如果我们在设计程序的时候,只根据当前屏幕坐标系来操作的话,一旦更换屏幕坐标系就可能出问题 --- 为了解决这个麻烦,人们做出了视口坐标系

3.视口坐标系说白了就是比例坐标系,其左下脚为原点,右上角坐标为(1,1)也就是说x轴和y轴的值最大为1(无单位) --- 此时该坐标系中的坐标真实含义其实就是比例 --- 如(0.5,0.5) ---映射到屏幕坐标系就是 --- (屏幕坐标x轴*0.5,屏幕坐标y轴*0.5)

4.对的,视口坐标和屏幕坐标是相互映射的关系,视口到屏幕是比例放大,屏幕到视口则是比例缩小

Unity --- 3d数学 --- 坐标系统_第5张图片

Unity --- 3d数学 --- 坐标系统_第6张图片Unity --- 3d数学 --- 坐标系统_第7张图片

Unity --- 3d数学 --- 坐标系统_第8张图片

1.上面这些Api需要的参数都是一个 Vector3类对象(以坐标的形式出现)Unity --- 3d数学 --- 坐标系统_第9张图片

1.屏幕坐标系的右上角的坐标为上面这个 --- x轴坐标是屏幕的宽度,y轴坐标是屏幕的高度 --- 获取高度和宽度的方法是通过Screen类+点操作符直接调用静态属性width和height 

2.修改物体的屏幕坐标并不会切实改变物体在游戏场景中的实际位置,如果想在修改了物体的屏幕坐标后,物体发生相应的位置变化的话,我们就需要将修改后的屏幕坐标转换为世界坐标,然后再赋值给this.transform.position才行。

你可能感兴趣的:(unity,3d)