坐标空间术语

空间

虚幻引擎中的坐标空间 别名 描述
Tangent(切线空间) 为正交坐标系(插值后将发生偏移),可为左手或右手坐标系。 TangentToLocal(切线空间到局部空间)变换仅包含旋转变换,因此它是标准正交坐标系(可通过转置变换进行反转)。
Local(局部空间) Object Space(对象空间) 为正交坐标系,可为左手或右手坐标系(需调整三角面剔除次序)。LocalToWorld(局部空间到世界空间)变换包含旋转变换、非等比缩放变换(包括改变旋绕顺序的非等比负值缩放)以及平移变换。
World(世界空间) WorldToView(世界空间到视角空间)变换仅包含旋转和平移,所以View(视角)空间中的距离和World(世界)空间中的距离一样。
TranslatedWorld(平移的世界空间)
World(世界空间) TranslatedWorld(平移的世界空间) - PreViewTranslation(在视变换之前进行的平移变换)
TranslatedWorld(平移的世界空间) World(世界空间) + PreViewTranslation(在视变换之前进行的平移变换)
平移矩阵用于从组合变换矩阵开始移动相机位置,这提高了移动顶点时的精确度。
View(观察空间) CameraSpace(相机空间) ViewToClip(观察空间到裁剪空间)变换包括X、Y轴上的缩放变换,但不包括平移变换 (这将造成投影偏离中心)。可在Z轴上缩放以及平移。通过投影变换将它转为齐次ClipSpace(裁剪空间)。
Clip(裁剪空间) HomogeniousCoordinates(齐次坐标系), PostProjectionSpace(后投影空间), , ProjectionSpace(投影空间) 以透视投影矩阵进行变换后的空间。 注意裁剪空间中的W和视察控件中的Z一样。
Screen(屏幕空间) OpenGL 的 NormalizedDeviceCoordinates(规格化设备坐标系)

在透视除法完成之后:

左侧/右侧 -1,1
顶部/底部 1,-1
近/远 0,1 (OpenGL RHI需要把这个值变换为 -1,1)
Viewport(视口空间) ViewportCoordinates(视口坐标系), WindowCoordinates(窗口坐标系)

以像素为单位:

左侧/右侧 0, 宽度-1
顶部/底部 0,高度-1

空间变换

空间变换命名应该使用这样的格式: X To Y

示例: