使用注视input持续时间在Google Cardboard中select用户界面文字
我用我自己的UI文本button修改了Google Cardboard DemoScene。 默认情况下,这些button会响应Onclick()或点击事件来触发操作。 我想触发这些行动时,用户设置他们的目光对象2秒。
我怀疑我需要在GazeInputModule中添加一些条件语句,但我不知道如何度量时间。 任何人都可以指向正确的方向吗? 这是正确的方法还是我应该尝试其他的东西? 这对我来说还是很新的,所以即使是基本的提示也是非常有帮助的!
以下是我如何启用一个button点击定时凝视。 在我的情况下,我创build了一个button来加载下一个场景。
我在Unity游戏中创build了一个场景,所以我没有从修改Google Cardboard DemoScene开始,但是原理是相似的。
-
创build一个名为“LoadSceneButton.cs”的脚本(或者其他合适的名字,例如“TimedGazeButton.cs”),并将其附加到您想启用定时注视的button上。请参阅示例脚本http://pastebin.com/CXd6HA3C
-
在button上,添加“事件触发器”组件并设置触发器 – 请参阅屏幕截图定时注视button事件触发器
-
Pointer Enter
到button的LoadSceneButton.SetGazedAt
,然后选中该框以传递TRUE
值。 这表示用户已经开始注视对象。 -
Pointer Exit
到button的LoadSceneButton.SetGazedAt
,并取消选中该框以传入FALSE
值。 这表示用户已经停止注视物体,并已将光罩移动到其他地方。
-
-
当用户的十字线移动到button时,“LoadSceneButton.cs”将开始计时注视。 一旦注视时间达到特定的持续时间,就调用button的
OnClick
事件。 如果用户在此之前移动十字线,定时器将被重置。
我使用的Unity版本是2016年11月10日的Google Daydream Technical Preview v5.4.2f2-GVR12,带有Google GVR SDK 1.0.3。