之前简单介绍了单击手势的功能实现,这篇文章详细分析 HoloToolKit5.5 对单击手势的支持达到什么程度,还有哪些不足,以及针对这些进行改进,下列操作紧接上文:
1. 创建Cube2并添加脚本Tap2
Paste_Image.pngTap2.cs
using UnityEngine;
//引入Holotoolkit输入模块命名空间
using HoloToolkit.Unity.InputModule;
public class Tap2 : MonoBehaviour, IInputClickHandler
{
/// <summary>
/// 继承IInputClickHandler接口实现OnInputClicked方法
/// </summary>
/// <param name="eventData"></param>
public void OnInputClicked(InputEventData eventData)
{
//单击成功显示Cube2 log
Debug.Log("Cube2");
}
}
注意,两个Cube要与摄像头的位置足够近,否则触发不了事件。因为GazeManager凝视的最大距离较短,除非修改它的值
Paste_Image.png
此时分别点击两个Cube,结果不出意外,分別打印出Log
Paste_Image.png
2. 移除Cube2上的Tap2脚本并设为Cube的子物体
Paste_Image.png此时单击Cube2触发Cube绑定的Tap脚本中点击方法
Paste_Image.png
从以上我们可以看出,当进行单击操作后,HoloToolKit的事件系统会遍历凝视对象包括它的子物体,
网友评论