Coordinate Space Terminology

Explanations of the various coordinate spaces used in Unreal Engine.

Windows
MacOS
Linux

Spaces

Space in Unreal

Other Names

Description

Tangent

Orthogonal (can deviate after interpolation), can be left or right handed. The TangentToLocal transform contains rotation only, so it is OrthoNormal (can be inverted by transposing).

Local

Object Space

Orthogonal, can be left or right handed (triangle cull order needs adjustment). The LocalToWorld transform contains rotation, non-uniform scaling (including negative non-uniform scaling which can change the winding order), and translation.

World

The WorldToView transform contains only rotation and translation, so distances in View space are the same as in World space.

TranslatedWorld

World

TranslatedWorld - PreViewTranslation

TranslatedWorld

World + PreViewTranslation

Translated matrices are used to remove camera position from the combined transform matrices, which improves precision when transforming vertices.

View

CameraSpace

The ViewToClip transform contains scale on x and y, but no translation (which would be an off center projection). It scales and translates z. It also applies a projection to convert into the homogeneous ClipSpace.

Clip

HomogeniousCoordinates, PostProjectionSpace, ProjectionSpace

After the perspective projection matrix was applied. Note that W in Clip space is the same as View Space Z.

Screen

NormalizedDeviceCoordinates from OpenGL

After the perspective divide:

left/right

-1,1

top/bottom

1,-1

near/far

0,1 (OpenGL RHI needs to transform this to -1,1)

Viewport

ViewportCoordinates, WindowCoordinates

In pixels :

left/right

0, width-1

top/bottom

0, height-1

Space Transformations

Transformation between spaces should always be named using the form X To Y.

Examples:

  • WorldToView

  • TranslatedWorldToView

  • TangentToWorld

Выбрать тему
Светлая
Темная

Добро пожаловать на новый сайт документации Unreal Engine 4!

Мы работаем над множеством новых функций, включая систему обратной связи, чтобы вы могли рассказать нам, о том, что мы делаем. Этот вариант не совсем готов для использования в конечном релизе, поэтому перейдите на форум обратной связи по документации, чтобы рассказать нам о проблемах с этой страницей или написать нам о любых проблемах, с которыми вы сталкиваетесь в работе с документацией.

Мы обязательно сообщим вам, когда новая система будет запущена.

Отправить отзыв