刚开始玩 A-Frame,我可以看到 vive-controls 和 oculus-touch-controls,但对于 google daydream 什么也看不到。
我查看了组件存储库,没有看到任何看起来可以完成工作的东西。现在最接近调查的是 Gamepad API,但我很惊讶我找不到任何东西。
我有一个 Pixel XL 和 daydream 并且想要合并 Controller ,而不仅仅是基于头部跟踪和注视的控制。有人可以指出我正确的方向吗?
谢谢
更新 - 我让 Daydream Controller 可以点击!运行 360-image-gallery( https://aframe.io/examples/showcase/360-image-gallery/ ) 接受来自 Daydream Controller 的点击。我想它可能在我之前的尝试中超时了,或者我没有正确配对!我会继续玩的!
最佳答案
致力于在 Aframe 项目中设置 Daydream Remote 。目前还没有用于 daydream Remote 的组件,但我希望尽快完成一个 - 听起来他们将在即将发布的 Aframe 版本中成为主线支持。
但是你可以手卷支持没问题。
首先, 在准备过程中,您需要做一些事情:
.
chrome://flags
并启用 WebVR 和 Gamepad 标志。 现在,您将能够在真正的 WebVR 中启动使用 Aframe v0.4 或更高版本构建的体验。您将收到通常的 Daydream 屏幕提示(将手机放入耳机中,然后连接 Remote 。)如果您连接到本地开发环境,您会看到安全连接警告,但这虽然很烦人,但不会不要阻止你工作。
其次, 现在您正在运行真正的 WebVR,您需要利用 Gamepad API 从您的白日梦 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);
});
第三, 现在您正在记录连接,您将需要设置更新循环以获取游戏 handle 的当前状态。你可以用
requestAnimationFrame
做到这一点。按照此处的教程进行操作:https://developer.mozilla.org/en-US/docs/Web/API/Gamepad_API/Using_the_Gamepad_API一旦我发布了一个基本的 dayframe-remote 组件,我就会在这里发布一个链接。希望这可以帮助您入门!
编辑: 看起来下面的建议很有效。只需将“Daydream Controller”作为跟踪控件的 id 传递:
tracked-controls="id: Daydream Controller"
。这是一个示例 Daydream Controller 输出。目前,似乎只有触控板按钮是暴露的——而不是应用程序或主页按钮。
{
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
}
关于aframe - A-Frame Daydream 控制?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41363879/