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.
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