Skip to content

【坐标系】

2D 坐标系

在以下AB两种2D坐标系中

其中A常用于2D设计软件,如PS,Flash等。

其中B常用于UV坐标。

  1. A:左上角为原点,x→ y↓
  2. B:左下角为原点,x→ y↑

A=>B坐标系转换

A:(x1, y1)

B:(x2, y2)

x2 = x1

y2 = 图像高度 - y1

3D坐标系

在3D软件里,有着各种各样的坐标系,很多都不统一。 通常,坐标系分成两类,一种是左手系,一种是右手系。

Markdown 图片

轴移动方向

记忆:拇指食指中指分别代表xyz,然后让其相互垂直。三个手指方向即为坐标轴方向。左手不行就用右手。

Markdown 图片

轴旋转方向

记忆:对应手系的手握住旋转轴,拇指是旋转轴的移动方向,手指环绕的方向为旋转方向。

Markdown 图片

3D坐标系参考软件

Unity 3D坐标系(左手 Y向上)

与DirectX一致。

Markdown 图片

Unreal 3D坐标系(左手 Z向上)

Markdown 图片

Godot坐标系(右手 Y向上)

与Maya一致。

与OpenGL规范一致。

Markdown 图片

Maya 3D坐标系(右手 Y向上)

与Godot一致。

与OpenGL规范一致。

Markdown 图片

3dsMax 3D坐标系(右手 Z向上)

Markdown 图片

与 blender 一致。

blender 3D坐标系(右手 Z向上)

Markdown 图片

与 3dsMax 一致。

Vulkan DirectX OpenGL

Vulkan:

UV坐标系:原点(0, 0)表示纹理的左上角,(1, 1)表示纹理的右下角。

屏幕坐标系:原点(0, 0)位于屏幕的左上角,x轴向右增加,y轴向下增加。

DirectX:

UV坐标系:原点(0, 0)表示纹理的左上角,(1, 1)表示纹理的右下角。

屏幕坐标系:原点(0, 0)位于屏幕的左上角,x轴向右增加,y轴向下增加。

Markdown 图片

OpenGL:

UV坐标系:原点(0, 0)表示纹理的左下角,(1, 1)表示纹理的右上角。

屏幕坐标系:原点(0, 0)位于屏幕的左下角,x轴向右增加,y轴向上增加。

Markdown 图片

MIT Licensed