Zum Hauptinhalt springen

xrimagefound

Beschreibung

Dieses Ereignis wird von xrweb ausgelöst, wenn ein Bildziel zum ersten Mal gefunden wird.

imagefound.detail : { name, type, position, rotation, scale, scaledWidth, scaledHeight, height, radiusTop, radiusBottom, arcStartRadians, arcLengthRadians }`

EigentumBeschreibung
NameDer Name des Bildes.
TypEine von "FLAT", "CYLINDRICAL", "CONICAL".
Position: {x, y, z}Die 3d-Position des georteten Bildes.
Drehung: "w, x, y, zDie lokale 3D-Ausrichtung des georteten Bildes.
SkalaEin Skalierungsfaktor, der auf das an dieses Bild angehängte Objekt angewendet werden soll.

Wenn Typ = FLAT:

EigentumBeschreibung
skalierteBreiteDie Breite des Bildes in der Szene, multipliziert mit dem Maßstab.
scaledHeightDie Höhe des Bildes in der Szene, wenn sie mit dem Maßstab multipliziert wird.

Wenn type= CYLINDRICAL oder CONICAL:

EigentumBeschreibung
HöheHöhe der gekrümmten Zielscheibe.
radiusTopRadius der gekrümmten Zielscheibe am oberen Rand.
radiusBottomRadius der gekrümmten Zielscheibe am unteren Rand.
arcStartRadianStartwinkel in Radiant.
arcLengthRadiansZentralwinkel in Radiant.

Beispiel

AFRAME.registerComponent('my-named-image-target', {
schema: {
name: { type: 'string' }
},
init: function () {
const object3D = this.el.object3D
const name = this.data.name
object3D.visible = false

const showImage = ({detail}) => {
if (name != detail.name) {
return
}
object3D.position.copy(detail.position)
object3D.quaternion.copy(detail.rotation)
object3D.scale.set(detail.scale, detail.scale, detail.scale)
object3D.visible = true
}

const hideImage = ({detail}) => {
if (name != detail.name) {
return
}
object3D.visible = false
}

this.el.sceneEl.addEventListener('xrimagefound', showImage)
this.el.sceneEl.addEventListener('xrimageupdated', showImage)
this.el.sceneEl.addEventListener('xrimagelost', hideImage)
}
})