Поделиться через


Координатные пространства в World Locking Tools для Unity

World Locking Tools (WLT) для Unity в основном предоставляет стабильную систему координат, привязанную к миру, с настраиваемым сопоставлением с физическим миром.

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

В некоторой степени все имена являются произвольными. Вот имена промежуточных пространств, используемых в документации по WLT и коде:

Spongy Space — глобальное координатное пространство Unity, которое можно получить без WLT. Неподвижный объект (координаты которого не меняются) в Spongy Space будет "дрейфовать" относительно компонентов физического мира.

Play Space — преобразование позиции или угла поворота из Spongy Space. Его можно использовать для реализации таких возможностей, как телепорт.

Locked Space — пространство с привязкой к миру, вычисленное Frozen World Engine и реализованное WLT. Неподвижный объект в Locked Space будет оставаться фиксированным относительно компонентов в физическом мире. Однако числовые значения его координат являются условными.

Pinned Space — преобразование Locked Space для требуемого сопоставления координат с физическим миром. Объект с определенной позицией (X, Y, Z) отобразится в известной, предварительно заданной позиции относительно компонентов физического мира.

Frozen Space — преобразование позиции или угла поворота в Pinned Space, позволяющее приложению применить произвольное преобразование к иерархии камер.

Для удобства WorldLockingManager обеспечивает преобразования между всеми этими пространствами. Например, наиболее полезным из них является преобразование FrozenFromSpongy, где Pose преобразуется из пространства Spongy Space в Frozen Space. Это полезно при преобразовании в Frozen Space координат, возвращаемых собственными интерфейсами API, которым ничего не известно об WLT и поэтому они работают в Spongy Space.

Обратите внимание, что при использовании средств MRTK такие преобразования не нужны. В ниж уже используется координатное пространство Frozen Space.

В WorldLockingManager доступны и другие преобразования между различными пространствами, но обычно они не нужны.

См. также