Aframe A帧白日梦控制?

Aframe A帧白日梦控制?,aframe,daydream,Aframe,Daydream,刚开始玩A-Frame,我可以看到vive控件和oculus touch控件,但google daydream没有 我已经看过组件回购协议,但没有看到任何看起来能起作用的东西。现在最需要研究的是Gamepad API,但我很惊讶我什么都找不到 我有一个像素XL和白日梦,并希望纳入控制器,而不仅仅是头部跟踪和凝视为基础的控制。有人能给我指一下正确的方向吗 谢谢 更新-我让Daydream控制器为点击工作!运行360-image-gallery()接受来自Daydream控制器的单击。我猜可能是我之

刚开始玩A-Frame,我可以看到vive控件和oculus touch控件,但google daydream没有

我已经看过组件回购协议,但没有看到任何看起来能起作用的东西。现在最需要研究的是Gamepad API,但我很惊讶我什么都找不到

我有一个像素XL和白日梦,并希望纳入控制器,而不仅仅是头部跟踪和凝视为基础的控制。有人能给我指一下正确的方向吗

谢谢


更新-我让Daydream控制器为点击工作!运行360-image-gallery()接受来自Daydream控制器的单击。我猜可能是我之前的尝试超时了,或者是我没有正确配对!我会继续玩

正在Aframe项目中设置Daydream remote。daydream remote目前还没有组件,但我希望很快就能完成一个,而且听起来他们将在即将发布的Aframe版本中提供主线支持

但你可以用手摇支撑,没问题

首先,您需要做一些准备工作:

  • 在您的像素上下载Chrome Beta 56: .
  • 打开Chrome测试版,导航至
    chrome://flags
    并启用WebVR和Gamepad标志
  • 现在,您将能够在真正的WebVR中启动使用Frame v0.4或更高版本构建的体验。您将收到常见的白日梦屏幕提示(将手机置于耳机中,然后连接遥控器)。如果您正在连接到本地开发环境,您将看到安全连接警告,但这虽然令人恼火,但不会阻止您工作

    其次,现在您正在运行真正的WebVR,您需要利用Gamepad API从您的daydream remote获取信息。让我们从记录它是否已连接开始

        window.addEventListener('gamepadconnected', function(evt) {
          console.log("Gamepad connected at index %d: %s. %d buttons, %d axes.",
            e.gamepad.index, e.gamepad.id,
            e.gamepad.buttons.length, e.gamepad.axes.length);
        });
    
    第三,现在您正在记录连接,您需要设置更新循环以获取Gamepad的当前状态。您可以使用
    requestAnimationFrame
    执行此操作。请按照此处的教程进行操作:

    一旦我发布了一个基本的dayframe远程组件,我将在这里发布一个链接。希望这能帮助你开始


    编辑:下面的建议看起来效果不错。只需将“Daydream Controller”作为跟踪控件的id传递:
    tracked controls=“id:Daydream Controller”


    下面是Daydream控制器输出的示例。目前,只有触控板按钮露出,而不是应用程序或主页按钮

        { 
          axes: [0, 1],
          buttons: [{
            pressed: false,
            touched: false,
            value: 0
          }],
          connected: true,
          displayId: 16,
          hand: "left",
          id: "Daydream Controller",
          index: 0,
          mapping: "",
          pose: {
            angularAcceleration: null,
            angularVelocity: [0, 0, 0],
            hasOrientation: true,
            hasPosition: false,
            linearAcceleration: [0,0,0],
            orientation: [0,0,0,1],
            position: null
          },
          timestamp: 1234567890123
        }
    

    一些你可以尝试的东西

    跟踪控件中当前A-Frame 0.4.0支持的工作方式应为:

    如果您指定它应该只匹配空字符串
    '
    的ID值,那么它应该匹配任何具有姿势的游戏板。。。所以你可以试试


    并查看是否获得事件等?

    A-Frame主分支现在包含daydream控制器组件: