XRRigidTransform
Ограниченная доступность
Эта функция не является базовой, так как она не работает во всех наиболее распространённых браузерах.
Безопасный контекст: Эта функция доступна только в безопасных контекстах (HTTPS) в некоторых или во всех поддерживающих браузерах.
XRRigidTransform — это интерфейс API WebXR, представляющий 3D геометрическое преобразование, описываемое позицией и ориентацией.
XRRigidTransform используется для указания преобразований во всех API WebXR, включая:
- Смещение и ориентацию относительно родительского пространства отсчёта, используемые при создании нового пространства отсчёта с помощью
getOffsetReferenceSpace(). - Преобразование
transformXRView. - Преобразование
transformXRPose. - Свойство
transformсобытияXRReferenceSpaceEvent, как в событииreset, получаемом отXRReferenceSpace.
Использование XRRigidTransform в этих местах вместо чистых массивов, предоставляющих данные матрицы, имеет преимущество. Оно автоматически вычисляет обратное преобразование и даже кеширует его, что значительно ускоряет последующие запросы.
Конструктор
XRRigidTransform()-
Создаёт новый объект
XRRigidTransform, представляющий преобразование, применяющее заданную позицию и/или ориентацию.
Свойства экземпляра
-
XRRigidTransform.positionТолько для чтения -
Значение
DOMPointReadOnly, задающее 3-мерную точку, выраженную в метрах, описывающую компонент трансляции преобразования. Свойствоwвсегда1.0. -
XRRigidTransform.orientationТолько для чтения -
Значение
DOMPointReadOnly, содержащее единичную кватернион, описывающую компонент вращения преобразования. Как единичная кватернион, её длина всегда нормирована до1.0. -
XRRigidTransform.matrixТолько для чтения -
Возвращает матрицу преобразования в виде 16-элементного
Float32Array. См. раздел Формат матрицы для того, как массив используется для представления матрицы. -
XRRigidTransform.inverseТолько для чтения -
Возвращает
XRRigidTransform, являющийся обратным преобразованием. То есть, если он применяется к объекту, который ранее преобразовывался исходным преобразованием, он отменит преобразование и вернёт исходный объект.
Примечания к использованию
При интерпретации XRRigidTransform, ориентация всегда применяется к затронутому объекту до применения позиции.
Пример
Этот фрагмент кода создаёт XRRigidTransform, чтобы указать смещение и ориентацию относительно текущего пространства отсчёта для использования при создании нового пространства отсчёта. Затем он запрашивает первую функцию обратного вызова анимации, вызывая метод requestAnimationFrame() сессии.
xrSession.requestReferenceSpace(refSpaceType).then((refSpace) => {
xrReferenceSpace = refSpace;
xrReferenceSpace = xrReferenceSpace.getOffsetReferenceSpace(
new XRRigidTransform(viewerStartPosition, cubeOrientation),
);
animationFrameRequestID = xrSession.requestAnimationFrame(drawFrame);
});
Спецификации
| Спецификация |
|---|
| WebXR Device API # xrrigidtransform-interface |
Совместимость с браузерами
| Рабочий стол | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
XRRigidTransform |
79 | 79 | Нет | 66 | Нет | 79 | Нет | 57 | Нет | 11.2 | Нет |
XRRigidTransform |
79 | 79 | Нет | 66 | Нет | 79 | Нет | 57 | Нет | 11.2 | Нет |
inverse |
79 | 79 | Нет | 66 | Нет | 79 | Нет | 57 | Нет | 11.2 | Нет |
matrix |
79 | 79 | Нет | 66 | Нет | 79 | Нет | 57 | Нет | 11.2 | Нет |
orientation |
79 | 79 | Нет | 66 | Нет | 79 | Нет | 57 | Нет | 11.2 | Нет |
position |
79 | 79 | Нет | 66 | Нет | 79 | Нет | 57 | Нет | 11.2 | Нет |
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/XRRigidTransform