2017-05-23 1 views

Répondre

0

Lorsque vous définissez les contrôleurs, vous définissez les chiralité:

<a-entity id="leftHand" vive-controls="hand: left"></a-entity> 
<a-entity id="rightHand" vive-controls="hand: right"></a-entity> 

voir seulement que l'une de ces mains devient active. Vous pouvez vérifier sa position/rotation sont non-nulles. Ou dans la prochaine version, vous pouvez faire comme:

AFRAME.registerComponent('controller-connected', { 
    init: function() { 
    var el = this.el; 
    el.addEventListener('controllerconnected', function (evt) { 
     console.log(evt.detail.component.data.hand); 
     // Or... console.log(el.getAttribute(evt.detail.name).hand) 
    }); 
    } 
}); 

<a-entity controller-connected id="leftHand" vive-controls="hand: left"></a-entity> 
<a-entity controller-connected id="rightHand" vive-controls="hand: right"></a-entity> 

A-Frame utilise actuellement juste l'index du tableau Gamepad pour déterminer gauche/droite. Pour vérifier manuellement le contrôleur est connecté, vous pouvez appeler l'API Gamepad:

navigator.getGamepads(); 
+0

Notez également que sur Vive, handneness n'est pas pré affecté à un contrôleur spécifique (comme s'opposer à Oculus Touch) mais déterminé au moment de l'exécution en fonction la position relative du contrôleur à la tête. –