【unity HoloLens2】触碰了物体但没反应,触碰了一次却调用多次,HoloLens2的touch触发机制探究
开发项目时发现,有时候触碰了物体却没有触发touch事件,有时候触碰了一次物体,却触发了两次事件,经过测试发现是因为touch事件的触发机制有关。
NearInteractionTouchable触发方向和触发面
要想有touch事件,需要用到一个必要的脚本——NearInteractionTouchable,这是MRTK中提供的,这个脚本中有几个参数——LocalForward、Localup、Lcoalcenter、Bounds,其中localforward和localUp比较关键,它们会决定以哪个方向、哪个面的触碰来触发touch事件;剩下两个参数可以在前两个参数修改完之后fix一下(MRTK提供了的方法)如下图所示。
而在添加了该脚本之后,在unity中就可以看到场景中的物体上出现了一个白色箭头,和与collider某一面重合的白色框 (注意:需要在unity编辑器的Hierarchy面板中选中那个物体,才会出现),这便是可以触发touch事件的方向