美文网首页
HoloToolKit5.5系列之手势识别单击事件封装

HoloToolKit5.5系列之手势识别单击事件封装

作者: 好奇的炸酱面 | 来源:发表于2017-01-20 22:28 被阅读0次

HoloToolKit无法通过父物体集中处理子物体的点击等事件,本文介绍了如何封装Hololens点击事件在父物体上集中处理,大概步骤为:

  • 拖入HoloLensCamera预设体
  • 拖入InputManager预设体
  • 拖入Cursor预设体
  • 创建画布
  • 创建两个Button

1-3. 拖入三个预设体

Paste_Image.png

4. 创建画布

创建完画布后,把 Render Mode 设为 World Space

Paste_Image.png

添加CanvasCtrl.cs脚本

using UnityEngine;

public class CanvasCtrl : MonoBehaviour
{
    private TapEvent m_Button1;
    private TapEvent m_Button2;
    private void Awake()
    {
        m_Button1 = transform.FindChild("Button1").GetComponent<TapEvent>();
        m_Button2 = transform.FindChild("Button2").GetComponent<TapEvent>();
        m_Button1.hololensOnClick.AddListener(OnButton1Click);
        m_Button2.hololensOnClick.AddListener(OnButton2Click);
    }

    private void OnButton1Click()
    {
        Debug.Log("OnButton1Click");
    }

    private void OnButton2Click()
    {
        Debug.Log("OnButton2Click");
    }
}     

5. 创建两个Button

Paste_Image.png

两个按钮都添加TapEvent.cs脚本

using UnityEngine;
using UnityEngine.Events;
using HoloToolkit.Unity.InputModule;
public class TapEvent : MonoBehaviour,IInputClickHandler
{
    [SerializeField]
    private UnityEvent HololensOnClick = new UnityEvent();

    public UnityEvent hololensOnClick
    {
        get { return HololensOnClick; }
        set { hololensOnClick = value; }
    }

    public void OnInputClicked(InputEventData eventData)
    {
        HololensOnClick.Invoke();
    }
}

测试结果

Paste_Image.png

如喜欢该简博,请加至收藏夹

作者 @Zajanmy
2017 年 01月 19日

相关文章

  • HoloToolKit5.5系列之手势识别封装单击事件

    之前简单介绍了单击手势的功能实现,这篇文章详细分析 HoloToolKit5.5 对单击手势的支持达到什么程度,还...

  • HoloToolKit5.5系列之手势识别单击事件封装

    HoloToolKit无法通过父物体集中处理子物体的点击等事件,本文介绍了如何封装Hololens点击事件在父物体...

  • Gesture手势

    手势识别器 手势识别器是对触摸事件做了封装,我们无需自己去判断某个手势是否触发,手势识别器本身起到了识别作用,我们...

  • UIGestureRecognizer

    什么是手势识别器? 手势识别器就是对触摸事件做了封装,我们不需要判断某个手势是否触发,手势识别器本身起到了识别作用...

  • 手势

    手势,有规律的触摸事件的封装手势类,抽象类,使用他的子类UIGestureRecognizer 手势识别器 ima...

  • 手势识别之单击和双击

    在视图上同时识别单击手势和双击手势的问题在于,当检测到一个单击操作时,无法确定是确实是一个单击操作或者只是双击操作...

  • 弹出来的提示界面

    利用控件Tap gesture 和 UIAlertView + UIActionSheet 手势识别器 单击 双...

  • 单击手势同时响应UITapGestureRecognizer事件

    在View上添加一个单击手势及其响应事件,如果有写 会先响应touchesBegan,再响应单击手势的事件。要阻止...

  • 手势控制:点击、滑动、平移、捏合、旋转、长按、轻扫

    手势识别器(Gesture Recognizer)用于识别触摸序列并触发响应事件。当手势识别器识别到一个手势或手势...

  • iOS手势识别

    UIGestureRecognizer手势识别器手势识别器是特殊的触摸事件UIGestureRecognizer是...

网友评论

      本文标题:HoloToolKit5.5系列之手势识别单击事件封装

      本文链接:https://www.haomeiwen.com/subject/ksdgbttx.html