XRPose: transform-Eigenschaft

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.

Das schreibgeschützte Attribut transform der XRPose-Schnittstelle ist ein XRRigidTransform-Objekt, das die Position und Orientierung der Pose relativ zum Basis-XRSpace bereitstellt, wie es beim Abrufen der Pose durch den Aufruf von XRFrame.getPose() angegeben wurde.

Wert

Ein XRRigidTransform, das die Position und Orientierung der XRPose relativ zu dem XRFrame bereitstellt, mit dem diese XRPose ausgerichtet ist. Dies ist die gleiche Pose, die von der getPose()-Methode des Frames zurückgegeben wird.

Beispiele

Dieser Handler für das XRSession-Ereignis select bearbeitet Ereignisse für verfolgte Zeiger. Er bestimmt das anvisierte Objekt, indem er die Pose des Ereignisframes in eine Funktion namens findTargetUsingRay() übergibt, und leitet das Ereignis dann unterschiedlich weiter, abhängig von der Händigkeit des Benutzers; dies geschieht durch Vergleich des Wertes der XRInputSource-Eigenschaft handedness mit einem Wert in der Variablen user.handedness. Wenn die Quelle ein Controller in der primären Hand des Benutzers ist, wird eine Funktion am anvisierten Objekt namens primaryAction() aufgerufen; andernfalls ruft sie die offHandAction()-Funktion des anvisierten Objekts auf.

js
xrSession.addEventListener("select", (event) => {
  let source = event.inputSource;
  let frame = event.frame;
  let targetRayPose = frame.getPose(source.targetRaySpace, myRefSpace);
  let targetObject = findTargetUsingRay(targetRay.transform.matrix);

  if (source.targetRayMode === "tracked-pointer") {
    if (source.handedness === user.handedness) {
      targetObject.primaryAction();
    } else {
      targetObject.offHandAction();
    }
  }
});

Spezifikationen

Specification
WebXR Device API
# dom-xrpose-transform

Browser-Kompatibilität

BCD tables only load in the browser