使用注视input持续时间在Google Cardboard中select用户界面文字

我用我自己的UI文本button修改了Google Cardboard DemoScene。 默认情况下,这些button会响应Onclick()或点击事件来触发操作。 我想触发这些行动时,用户设置他们的目光对象2秒。

我怀疑我需要在GazeInputModule中添加一些条件语句,但我不知道如何度量时间。 任何人都可以指向正确的方向吗? 这是正确的方法还是我应该尝试其他的东西? 这对我来说还是很新的,所以即使是基本的提示也是非常有帮助的!

以下是我如何启用一个button点击定时凝视。 在我的情况下,我创build了一个button来加载下一个场景。

我在Unity游戏中创build了一个场景,所以我没有从修改Google Cardboard DemoScene开始,但是原理是相似的。

  1. 创build一个名为“LoadSceneButton.cs”的脚本(或者其他合适的名字,例如“TimedGazeButton.cs”),并将其附加到您想启用定时注视的button上。请参阅示例脚本http://pastebin.com/CXd6HA3C

  2. 在button上,添加“事件触发器”组件并设置触发器 – 请参阅屏幕截图定时注视button事件触发器

    • Pointer Enter到button的LoadSceneButton.SetGazedAt ,然后选中该框以传递TRUE值。 这表示用户已经开始注视对象。
    • Pointer Exit到button的LoadSceneButton.SetGazedAt ,并取消选中该框以传入FALSE值。 这表示用户已经停止注视物体,并已将光罩移动到其他地方。
  3. 当用户的十字线移动到button时,“LoadSceneButton.cs”将开始计时注视。 一旦注视时间达到特定的持续时间,就调用button的OnClick事件。 如果用户在此之前移动十字线,定时器将被重置。

我使用的Unity版本是2016年11月10日的Google Daydream Technical Preview v5.4.2f2-GVR12,带有Google GVR SDK 1.0.3。