MaxHoyleLinham / VR-Menu

0 stars 0 forks source link

Bugs #1

Open MaxHoyleLinham opened 1 year ago

MaxHoyleLinham commented 1 year ago
MaxHoyleLinham commented 1 year ago

To enable Oculus Quest 2 controllers for movement in A-Frame, you can use the A-Frame Oculus Quest component. Here's an example of HTML code that incorporates the component:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <title>A-Frame Oculus Quest Example</title>
    <script src="https://aframe.io/releases/1.0.4/aframe.min.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/aframe-oculus-quest-controls@3.0.0/dist/aframe-oculus-quest-controls.min.js"></script>
  </head>
  <body>
    <a-scene>
      <a-entity oculus-quest-controls="hand: left" movement-controls></a-entity>
      <a-entity oculus-quest-controls="hand: right"></a-entity>
      <a-camera wasd-controls-enabled="false"></a-camera>
      <a-sky color="#000"></a-sky>
      <a-plane position="0 0 -4" rotation="-90 0 0" width="4" height="4" color="#7BC8A4"></a-plane>
    </a-scene>
  </body>
</html>

In this code, we include the A-Frame library and the A-Frame Oculus Quest Controls component using the <script> tags. The movement-controls attribute is added to the left hand entity (<a-entity oculus-quest-controls="hand: left" movement-controls></a-entity>) to enable movement. The wasd-controls-enabled="false" attribute is added to the camera entity (<a-camera>) to disable the default WASD movement controls.

You can save this code to an HTML file and open it in a web browser on your Oculus Quest 2 device to test the movement with the controllers.

MaxHoyleLinham commented 1 year ago

To execute a certain action when the Oculus Quest 2 trigger is pressed, you can use JavaScript along with the A-Frame framework. Here's an example of an HTML script that detects the trigger press event:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <title>Oculus Quest 2 Trigger Press Example</title>
    <script src="https://aframe.io/releases/1.0.4/aframe.min.js"></script>
    <script>
      AFRAME.registerComponent('trigger-listener', {
        init: function () {
          // Get the element associated with this component
          var el = this.el;

          // Add event listener for the trigger press event
          el.addEventListener('triggerdown', function (event) {
            // Perform your desired action here
            console.log('Oculus Quest 2 trigger pressed!');
            // Add your action code here
          });
        },
      });
    </script>
  </head>
  <body>
    <a-scene>
      <a-entity oculus-quest-controls="hand: right" trigger-listener></a-entity>
      <!-- Add your scene elements here -->
    </a-scene>
  </body>
</html>

In this code, we define a new A-Frame component called trigger-listener using AFRAME.registerComponent. In the init function of the component, we add an event listener for the triggerdown event, which is fired when the Oculus Quest 2 trigger is pressed.

Within the event listener, you can perform your desired action. In the example code, we simply log a message to the console, but you can replace that with your own code to execute a specific action.

You can save this code to an HTML file and open it in a web browser on your Oculus Quest 2 device. When you press the trigger button on the right controller, the console will log the message, and you can add your action code within the event listener to perform the desired action.