Trevor Baron 6 lat temu
rodzic
commit
51929e28ef

+ 5 - 1
src/Cameras/XR/webXRExperienceHelper.ts

@@ -114,11 +114,14 @@ export class WebXRExperienceHelper implements IDisposable {
             throw "XR session not supported by this browser";
         }
         this._setState(WebXRState.ENTERING_XR);
-        this.sessionManager.initializeSessionAsync(sessionCreationOptions).then(()=>{
+        return this.sessionManager.initializeSessionAsync(sessionCreationOptions).then(()=>{
+            console.log("init session")
             return this.sessionManager.setReferenceSpaceAsync(frameOfReference)
         }).then(()=>{
+            console.log("set ref space")
             return outputCanvas.initializeXRLayerAsync(this.sessionManager._xrSession);
         }).then(()=>{
+            console.log("init xr layer")
             return this.sessionManager.updateRenderStateAsync({baseLayer: outputCanvas.xrLayer, outputContext: outputCanvas.canvasContext})
         }).then(()=>{
             console.log("base layer set")
@@ -155,6 +158,7 @@ export class WebXRExperienceHelper implements IDisposable {
         }).catch((e:any)=>{
             console.log("FAILUE")
             console.log(e)
+            console.log(e.message)
         });
     }
 

+ 3 - 3
src/Cameras/XR/webXRSessionManager.ts

@@ -56,7 +56,7 @@ export class WebXRSessionManager implements IDisposable {
     }
 
     public initializeSessionAsync(sessionCreationOptions: XRSessionCreationOptions){
-        return this._xrNavigator.xr.requestSession(sessionCreationOptions).then((session: XRSession) => {
+        return this._xrNavigator.xr.requestSession(sessionCreationOptions.mode).then((session: XRSession) => {
             this._xrSession = session;
 
             // handle when the session is ended (By calling session.end or device ends its own session eg. pressing home button on phone)
@@ -157,10 +157,10 @@ export class WebXRSessionManager implements IDisposable {
      * @returns true if supported
      */
     public supportsSessionModeAsync(sessionMode: string) {
-        if(!(navigator as any).xr || !(navigator as any).xr.supportsSessionMode){
+        if(!(navigator as any).xr || !(navigator as any).xr.supportsSession){
             return Promise.resolve(false);
         }else{
-            return (navigator as any).xr.supportsSessionMode(sessionMode).then(()=>{
+            return (navigator as any).xr.supportsSession(sessionMode).then(()=>{
                 return Promise.resolve(true)
             }).catch((e:any)=>{
                 Logger.Warn(e)