Sfoglia il codice sorgente

gamepadController is now motionController

Raanan Weber 5 anni fa
parent
commit
e43e760a56

+ 3 - 3
src/Cameras/XR/features/WebXRControllerPointerSelection.ts

@@ -349,7 +349,7 @@ export class WebXRControllerPointerSelection extends WebXRAbstractFeature implem
     }
 
     private _attachTrackedPointerRayMode(xrController: WebXRController) {
-        if (!xrController.gamepadController) {
+        if (!xrController.motionController) {
             return;
         }
 
@@ -360,10 +360,10 @@ export class WebXRControllerPointerSelection extends WebXRAbstractFeature implem
         const controllerData = this._controllers[xrController.uniqueId];
 
         if (this._options.overrideButtonId) {
-            controllerData.selectionComponent = xrController.gamepadController.getComponent(this._options.overrideButtonId);
+            controllerData.selectionComponent = xrController.motionController.getComponent(this._options.overrideButtonId);
         }
         if (!controllerData.selectionComponent) {
-            controllerData.selectionComponent = xrController.gamepadController.getMainComponent();
+            controllerData.selectionComponent = xrController.motionController.getMainComponent();
         }
 
         controllerData.onFrameObserver = this._xrSessionManager.onXRFrameObservable.add(() => {

+ 3 - 3
src/Cameras/XR/features/WebXRControllerTeleportation.ts

@@ -318,11 +318,11 @@ export class WebXRMotionControllerTeleportation extends WebXRAbstractFeature imp
         };
         const controllerData = this._controllers[xrController.uniqueId];
         // motion controller support
-        if (xrController.gamepadController) {
-            const movementController = xrController.gamepadController.getComponent(WebXRControllerComponent.THUMBSTICK) || xrController.gamepadController.getComponent(WebXRControllerComponent.TOUCHPAD);
+        if (xrController.motionController) {
+            const movementController = xrController.motionController.getComponent(WebXRControllerComponent.THUMBSTICK) || xrController.motionController.getComponent(WebXRControllerComponent.TOUCHPAD);
             if (!movementController || this._options.useMainComponentOnly) {
                 // use trigger to move on long press
-                const mainComponent = xrController.gamepadController.getMainComponent();
+                const mainComponent = xrController.motionController.getMainComponent();
                 if (!mainComponent) {
                     return;
                 }

+ 8 - 8
src/Cameras/XR/webXRController.ts

@@ -36,7 +36,7 @@ export class WebXRController {
      * Using this object it is possible to get click events and trackpad changes of the
      * webxr controller that is currently being used.
      */
-    public gamepadController?: WebXRAbstractMotionController;
+    public motionController?: WebXRAbstractMotionController;
 
     /**
      * Event that fires when the controller is removed/disposed
@@ -71,10 +71,10 @@ export class WebXRController {
 
         // for now only load motion controllers if gamepad available
         if (this.inputSource.gamepad) {
-            this.gamepadController = WebXRMotionControllerManager.GetMotionControllerWithXRInput(inputSource, _scene, this._options.forceControllerProfile);
+            this.motionController = WebXRMotionControllerManager.GetMotionControllerWithXRInput(inputSource, _scene, this._options.forceControllerProfile);
             // if the model is loaded, do your thing
-            this.gamepadController.onModelLoadedObservable.addOnce(() => {
-                this.gamepadController!.rootMesh!.parent = this.pointer;
+            this.motionController.onModelLoadedObservable.addOnce(() => {
+                this.motionController!.rootMesh!.parent = this.pointer;
             });
         }
     }
@@ -118,9 +118,9 @@ export class WebXRController {
                 }
             }
         }
-        if (this.gamepadController) {
+        if (this.motionController) {
             // either update buttons only or also position, if in gamepad mode
-            this.gamepadController.updateFromXRFrame(xrFrame);
+            this.motionController.updateFromXRFrame(xrFrame);
         }
     }
 
@@ -145,8 +145,8 @@ export class WebXRController {
         if (this.grip) {
             this.grip.dispose();
         }
-        if (this.gamepadController) {
-            this.gamepadController.dispose();
+        if (this.motionController) {
+            this.motionController.dispose();
         }
         this.pointer.dispose();
         this.onDisposeObservable.notifyObservers({});

+ 2 - 2
src/Cameras/XR/webXRInput.ts

@@ -86,8 +86,8 @@ export class WebXRInput implements IDisposable {
             if (sources.indexOf(input) === -1) {
                 let controller = new WebXRController(this.xrSessionManager.scene, input, { forceControllerProfile: this.options.forceInputProfile });
                 this.controllers.push(controller);
-                if (!this.options.doNotLoadControllerMeshes && controller.gamepadController) {
-                    controller.gamepadController.loadModel();
+                if (!this.options.doNotLoadControllerMeshes && controller.motionController) {
+                    controller.motionController.loadModel();
                 }
                 this.onControllerAddedObservable.notifyObservers(controller);
             }