A-Frame Daydream 控件?
A-Frame Daydream control?
刚开始玩 A-Frame,我可以看到 vive-controls 和 oculus-touch-controls,但 google daydream 什么都没有。
我查看了组件存储库,但没有看到任何看起来可以完成这项工作的东西。现在最接近调查的是游戏手柄 API,但令我惊讶的是我找不到任何东西。
我有一台 Pixel XL & daydream,我想加入控制器,而不仅仅是头部跟踪和基于注视的控制。有人能给我指出正确的方向吗?
谢谢
更新 - 我的 Daydream 控制器可以点击了! 运行 360-image-gallery(https://aframe.io/examples/showcase/360-image-gallery/) 接受来自 Daydream 控制器的点击。我想也许它在我之前的尝试中超时了,或者我没有正确配对它!我会继续玩的!
正在 Aframe 项目中设置 Daydream 遥控器。 Daydream 遥控器还没有组件,但我希望尽快完成一个组件——听起来他们将在即将发布的 Aframe 版本中提供主线支持。
但是可以手摇支撑没问题
首先,您需要做一些准备工作:
- 在您的 Pixel 上下载 Chrome Beta 56:https://www.google.com/chrome/browser/beta.html
.
- 打开 Chrome Beta,导航到
chrome://flags
并启用 WebVR 和 Gamepad 标志。
现在,您将能够在真正的 WebVR 中启动使用 Aframe v0.4 或更高版本构建的体验。您会收到常见的 Daydream 屏幕提示(将您的 phone 放在耳机中,然后连接遥控器。)如果您连接到本地开发环境,您会看到安全连接警告,但是,虽然烦人,不会阻止你工作。
其次, 既然您是 运行 真正的 WebVR,您需要利用游戏手柄 API 从您的 Daydream 遥控器获取信息。让我们先记录它已连接。
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);
});
第三, 现在您正在记录连接,您将需要设置更新循环以获取游戏手柄的当前状态。您可以使用 requestAnimationFrame
执行此操作。按照此处的教程进行操作:https://developer.mozilla.org/en-US/docs/Web/API/Gamepad_API/Using_the_Gamepad_API
一旦我发布了基本的 dayframe-remote 组件,我将在此处 post link。希望这有助于您入门!
编辑: 看起来下面的建议很有效。只需将 "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
}
你可以尝试的东西...
tracked-controls
中当前 A-Frame 0.4.0 支持的工作方式:
如果您指定它应该只匹配空字符串的 ID 值 ''
那么它应该匹配任何具有姿势的游戏手柄...所以您可以尝试类似
<a-entity tracked-controls="id:"></a-entity>
看看是否有事件等?
A-Frame 主分支现在包含一个 Daydream 控制器组件:https://aframe.io/docs/master/components/daydream-controls.html
刚开始玩 A-Frame,我可以看到 vive-controls 和 oculus-touch-controls,但 google daydream 什么都没有。
我查看了组件存储库,但没有看到任何看起来可以完成这项工作的东西。现在最接近调查的是游戏手柄 API,但令我惊讶的是我找不到任何东西。
我有一台 Pixel XL & daydream,我想加入控制器,而不仅仅是头部跟踪和基于注视的控制。有人能给我指出正确的方向吗?
谢谢
更新 - 我的 Daydream 控制器可以点击了! 运行 360-image-gallery(https://aframe.io/examples/showcase/360-image-gallery/) 接受来自 Daydream 控制器的点击。我想也许它在我之前的尝试中超时了,或者我没有正确配对它!我会继续玩的!
正在 Aframe 项目中设置 Daydream 遥控器。 Daydream 遥控器还没有组件,但我希望尽快完成一个组件——听起来他们将在即将发布的 Aframe 版本中提供主线支持。
但是可以手摇支撑没问题
首先,您需要做一些准备工作:
- 在您的 Pixel 上下载 Chrome Beta 56:https://www.google.com/chrome/browser/beta.html .
- 打开 Chrome Beta,导航到
chrome://flags
并启用 WebVR 和 Gamepad 标志。
现在,您将能够在真正的 WebVR 中启动使用 Aframe v0.4 或更高版本构建的体验。您会收到常见的 Daydream 屏幕提示(将您的 phone 放在耳机中,然后连接遥控器。)如果您连接到本地开发环境,您会看到安全连接警告,但是,虽然烦人,不会阻止你工作。
其次, 既然您是 运行 真正的 WebVR,您需要利用游戏手柄 API 从您的 Daydream 遥控器获取信息。让我们先记录它已连接。
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);
});
第三, 现在您正在记录连接,您将需要设置更新循环以获取游戏手柄的当前状态。您可以使用 requestAnimationFrame
执行此操作。按照此处的教程进行操作:https://developer.mozilla.org/en-US/docs/Web/API/Gamepad_API/Using_the_Gamepad_API
一旦我发布了基本的 dayframe-remote 组件,我将在此处 post link。希望这有助于您入门!
编辑: 看起来下面的建议很有效。只需将 "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
}
你可以尝试的东西...
tracked-controls
中当前 A-Frame 0.4.0 支持的工作方式:
如果您指定它应该只匹配空字符串的 ID 值 ''
那么它应该匹配任何具有姿势的游戏手柄...所以您可以尝试类似
<a-entity tracked-controls="id:"></a-entity>
看看是否有事件等?
A-Frame 主分支现在包含一个 Daydream 控制器组件:https://aframe.io/docs/master/components/daydream-controls.html