ソースを参照

add camera control option

Nikolay Suslov 4 年 前
コミット
cc1520f4b5

+ 31 - 0
public/vwf/model/aframe/addon/aframe-components.js

@@ -13,6 +13,8 @@ AFRAME.registerComponent('scene-utils', {
     init: function () {
         this.mirrors = {};
 
+        //this.setCameraControl();
+
         const sceneEnterVR = (e) => {
 
             let driver = vwf.views["vwf/view/aframe"];
@@ -78,6 +80,35 @@ AFRAME.registerComponent('scene-utils', {
 
     },
 
+    setCameraControl(){
+
+        let avatarEl = document.querySelector('#avatarControl');
+
+        document.addEventListener('keydown', (event) => {
+            const keyName = event.key;
+          
+            if (keyName === 'Alt') {
+              // do not alert when only Control key is pressed.
+              console.log(keyName, ' pressed');
+              avatarEl.setAttribute('look-controls', 'enabled', true)
+              return;
+            }
+        })
+        
+        document.addEventListener('keyup', (event) => {
+            const keyName = event.key;
+          
+            if (keyName === 'Alt') {
+              // do not alert when only Control key is pressed.
+              console.log(keyName, ' released');
+              avatarEl.setAttribute('look-controls', 'enabled', false)
+              return;
+            }
+        })
+
+
+    },
+
     update: function () {
 
     },

+ 5 - 1
public/vwf/view/aframe.js

@@ -817,11 +817,15 @@ define(["module", "vwf/view"], function (module, view) {
 
         controlEl.setAttribute('id', 'avatarControl');
         controlEl.setAttribute('wasd-controls', {acceleration:20});
-        controlEl.setAttribute('look-controls', { pointerLockEnabled: false });
+        controlEl.setAttribute('look-controls', { pointerLockEnabled: false});
+        controlEl.setAttribute('look-controls', 'enabled', true );
+
         //controlEl.setAttribute('gamepad-controls', {'controller': 0});
 
         if (AFRAME.utils.device.isMobile()) {
             //self.state.showMobileJoystick()
+
+            controlEl.setAttribute('look-controls', 'enabled', true );
             controlEl.setAttribute("virtual-gamepad-controls", {});
             controlEl.addEventListener("move", setJoystickMoveInput);
         }