# 【坐标系】
# 2D 坐标系
在以下AB两种2D坐标系中
其中A常用于2D设计软件,如PS,Flash等。
其中B常用于UV坐标。
- A:左上角为原点,x→ y↓
- B:左下角为原点,x→ y↑
A=>B坐标系转换
A:(x1, y1)
B:(x2, y2)
x2 = x1
y2 = 图像高度 - y1
# 3D坐标系
在3D软件里,有着各种各样的坐标系,很多都不统一。 通常,坐标系分成两类,一种是左手系,一种是右手系。
# 轴移动方向
记忆:拇指食指中指分别代表xyz,然后让其相互垂直。三个手指方向即为坐标轴方向。左手不行就用右手。
# 轴旋转方向
记忆:对应手系的手握住旋转轴,拇指是旋转轴的移动方向,手指环绕的方向为旋转方向。
# 3D坐标系参考软件
# Unity 3D坐标系(左手 Y向上)
与DirectX一致。
# Unreal 3D坐标系(左手 Z向上)
# Godot坐标系(右手 Y向上)
与Maya一致。
与OpenGL规范一致。
# Maya 3D坐标系(右手 Y向上)
与Godot一致。
与OpenGL规范一致。
# 3dsMax 3D坐标系(右手 Z向上)
与 blender 一致。
# blender 3D坐标系(右手 Z向上)
与 3dsMax 一致。
# Vulkan DirectX OpenGL
Vulkan:
UV坐标系:原点(0, 0)表示纹理的左上角,(1, 1)表示纹理的右下角。
屏幕坐标系:原点(0, 0)位于屏幕的左上角,x轴向右增加,y轴向下增加。
DirectX:
UV坐标系:原点(0, 0)表示纹理的左上角,(1, 1)表示纹理的右下角。
屏幕坐标系:原点(0, 0)位于屏幕的左上角,x轴向右增加,y轴向下增加。
OpenGL:
UV坐标系:原点(0, 0)表示纹理的左下角,(1, 1)表示纹理的右上角。
屏幕坐标系:原点(0, 0)位于屏幕的左下角,x轴向右增加,y轴向上增加。