J'essaie de savoir s'il existe un moyen de déterminer quel contrôleur Vive est utilisé lorsqu'il n'y en a qu'un seul. Avec OpenVR cette information est disponible. Je me demande si c'est possible avec A-Frame?A-Frame: Y at-il un moyen facile de déterminer quel contrôleur Vive est utilisé si un seul est allumé?
0
A
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();
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. –