框架行走/点击如何在手机或台式机上工作?

How does aframe walking/ clicking work on mobile phones vs desktops?

我想创建一个 webvr 场景,允许用户点击对象作为事件并在场景中移动。这可能使用框架吗?我知道框架允许您使用鼠标和计算机上的 wasd 键来完成这两项操作。这在移动设备 phone 上如何运作?用户还能在场景中走动吗?

是的,可以在 mobile/VR 中单击 objects 并四处移动,但这有点复杂。让我们分解一下。

1) 不使用按钮的点击称为融合。它涉及用户将鼠标悬停在 object 上一段时间,然后引发一个熔断事件,它可以像点击事件一样被侦听器捕获。 您可以在光标组件内设置保险丝属性,通常最好包含一个锁定在相机视图中心的小环(作为相机的 child),以便用户知道隐式点击发生在环内。您可以这样设置:

<a-entity camera look-controls>
  <a-entity cursor="fuse: true; fuseTimeout: 500"
            position="0 0 -1"
            geometry="primitive: ring; radiusInner: 0.02; radiusOuter: 0.03"
            material="color: black; shader: flat">
  </a-entity>
</a-entity>

更多关于光标的信息:

https://aframe.io/docs/0.9.0/components/cursor.html#sidebar

您可能还想实现鼠标悬停状态,以提醒用户 object 是可点击的,例如通过在鼠标悬停时更改颜色。这是一个显示如何设置和处理翻转事件的故障:

https://glitch.com/~rollover-rotate

使用 wasd-controls 在移动设备上四处走动没有问题。单击屏幕允许导航。但是,如果您将 phone 用作 VR 设备,wasd 将不起作用。即使它确实如此(某些耳机有鼠标按钮),如果相机移动但他们的 body 没有移动,观众可能会感到恶心。通常的技巧是实现传送系统,就像 Vive 使用的那样,但这有点复杂。 这是一个显示如何构建传送系统的故障。

https://glitch.com/~aframe-teleport-controls-extra

祝你好运!