# 【坐标系】

# 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 图片