Browse Source

Mobile VR Device Gamepad Support

Support gamepad position and button input on mobile vr devices.
MackeyK24 8 years ago
parent
commit
a64126650b
2 changed files with 15 additions and 0 deletions
  1. 13 0
      src/Cameras/VR/babylon.vrDeviceOrientationCamera.ts
  2. 2 0
      src/Cameras/babylon.camera.ts

+ 13 - 0
src/Cameras/VR/babylon.vrDeviceOrientationCamera.ts

@@ -14,6 +14,19 @@ module BABYLON {
         }
     }
 
+    export class VRDeviceOrientationGamepadCamera extends VRDeviceOrientationFreeCamera {
+
+        constructor(name: string, position: Vector3, scene: Scene, compensateDistortion = true, vrCameraMetrics: VRCameraMetrics = VRCameraMetrics.GetDefault()) {
+            super(name, position, scene, compensateDistortion, vrCameraMetrics);
+            
+            this.inputs.addGamepad();
+        }
+
+        public getClassName(): string {
+            return "VRDeviceOrientationGamepadCamera";
+        }
+    }
+
     export class VRDeviceOrientationArcRotateCamera extends ArcRotateCamera {
 
         constructor(name: string, alpha: number, beta: number, radius: number, target: Vector3, scene: Scene, compensateDistortion = true, vrCameraMetrics: VRCameraMetrics = VRCameraMetrics.GetDefault()) {

+ 2 - 0
src/Cameras/babylon.camera.ts

@@ -741,6 +741,8 @@
                     return () => new WebVRFreeCamera(name, Vector3.Zero(), scene);
                 case "VRDeviceOrientationFreeCamera":
                     return () => new VRDeviceOrientationFreeCamera(name, Vector3.Zero(), scene);
+                case "VRDeviceOrientationGamepadCamera":
+                    return () => new VRDeviceOrientationGamepadCamera(name, Vector3.Zero(), scene);
                 case "AnaglyphArcRotateCamera":
                     return () => new AnaglyphArcRotateCamera(name, 0, 0, 1.0, Vector3.Zero(), interaxial_distance, scene);
                 case "AnaglyphFreeCamera":