Spec-Zone.ru › Web APIs

XRRigidTransform

Ограниченная доступность

Эта функция не является базовой, так как она не работает во всех наиболее распространённых браузерах.

  • Подробнее
  • Полная совместимость
  • Отправить отзыв

Безопасный контекст: Эта функция доступна только в безопасных контекстах (HTTPS) в некоторых или во всех поддерживающих браузерах.

XRRigidTransform — это интерфейс API WebXR, представляющий 3D геометрическое преобразование, описываемое позицией и ориентацией.

XRRigidTransform используется для указания преобразований во всех API WebXR, включая:

  • Смещение и ориентацию относительно родительского пространства отсчёта, используемые при создании нового пространства отсчёта с помощью getOffsetReferenceSpace().
  • Преобразование transform XRView.
  • Преобразование transform XRPose.
  • Свойство 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API