Zum Hauptinhalt springen

XR8.Babylonjs.xrCameraBehavior()

XR8.Babylonjs.xrCameraBehavior(config, xrConfig)

Beschreibung​

Schafft ein Verhalten, das an eine Babylon-Kamera angehängt werden kann, wie folgt: camera.addBehavior(XR8.Babylonjs.xrCameraBehavior())

Parameter​

ParameterBeschreibung
config [Optional]Konfigurationsparameter zur Ăśbergabe an XR8.run()
xrConfig [Optional]Konfigurationsparameter zur Ăśbergabe an XR8.XrController

config [Optional] ist ein Objekt mit den folgenden Eigenschaften:

EigentumTypStandardBeschreibung
webgl2 [Optional]BooleschefalseBei Wahr verwenden Sie WebGL2, falls verfĂĽgbar, andernfalls wird auf WebGL1 zurĂĽckgegriffen. Wenn Falsch, verwenden Sie immer WebGL1.
ownRunLoop [Optional]BooleschefalseWenn Wahr, sollte XR seine eigene Laufschleife verwenden. Wenn Falsch, stellen Sie Ihre eigene Laufschleife bereit und sind selbst fĂĽr den Aufruf von runPreRender und runPostRender verantwortlich [Nur fĂĽr fortgeschrittene Benutzer]
cameraConfig: {direction} [Optional]Objekt{direction: XR8.XrConfig.camera().BACK}Zu verwendende Kamera. UnterstĂĽtzte Werte fĂĽr Richtung sind XR8.XrConfig.camera().BACK oder XR8.XrConfig.camera().FRONT
glContextConfig [Optional]WebGLContextAttributenullDie Attribute zur Konfiguration des WebGL-Canvas-Kontextes.
allowedDevices [Optional]XR8.XrConfig.device()XR8.XrConfig.device().MOBILEGeben Sie die Klasse der Geräte an, auf denen die Pipeline laufen soll. Wenn das aktuelle Gerät nicht zu dieser Klasse gehört, schlägt die Ausführung vor dem Öffnen der Kamera fehl. Wenn allowedDevices XR8.XrConfig.device().ANY ist, öffnen Sie immer die Kamera. Beachten Sie, dass die Weltverfolgung nur mit XR8.XrConfig.device().MOBILE verwendet werden kann.

xrConfig [Optional] ist ein Objekt mit den folgenden Eigenschaften:

ParameterBeschreibung
enableLighting [Optional]Wenn wahr, wird eine Schätzung der Beleuchtungsinformationen zurückgegeben.
enableWorldPoints [Optional]Wenn wahr, werden die fĂĽr die Verfolgung verwendeten Kartenpunkte zurĂĽckgegeben.
disableWorldTracking [Optional]Wenn ja, schalten Sie die SLAM-Verfolgung aus EffizienzgrĂĽnden aus.
imageTargets [Optional]Liste der Namen der zu erkennenden Bildziele. Kann während der Laufzeit geändert werden. Hinweis: Alle derzeit aktiven Bildziele werden durch die in dieser Liste angegebenen Ziele ersetzt.
leftHandedAxes [Optional]Wenn wahr, verwenden Sie linkshändige Koordinaten.
imageTargets [Optional]Wenn wahr, spiegeln Sie in der Ausgabe links und rechts.

Returns​

Ein Babylon JS-Verhalten, das die XR-Engine mit der Babylon-Kamera verbindet und den Kamera-Feed und die Verfolgung startet.

Beispiel​

let surface, engine, scene, camera

const startScene = () => {
const canvas = document.getElementById('renderCanvas')

engine = new BABYLON.Engine(canvas, true, { stencil: true, preserveDrawingBuffer: true })
engine.enableOfflineSupport = false

scene = new BABYLON.Scene(engine)
camera = new BABYLON.FreeCamera('camera', new BABYLON.Vector3(0, 3, 0), scene)

initXrScene({ scene, camera }) // FĂĽgen Sie der Szene Objekte hinzu und setzen Sie die Startposition der Kamera.

// Verbinden Sie die Kamera mit der XR-Engine und zeigen Sie den Kamera-Feed
camera.addBehavior(XR8.Babylonjs.xrCameraBehavior())

engine.runRenderLoop(() => {
scene.render()
})

window.addEventListener('resize', () => {
engine.resize()
})
}