unity htc 怎样让手柄触碰 button

unity htc 怎样让手柄触碰 button,第1张

这是一个涉及到开发方面的技术了,一般常用开发HTCvive内容的主要有Unity和UE4,首先你要安装这个程序,然后运行,里面有一个HTCvive开发专用页面,你点击那里进去就可以开始编程啦。

首先我们先导入功能包,导入功能包过程在这就不讲解了与上一篇文章中的导入方法一致。在此还需导入Input功能包

Indicators中包含了objectpointers对象指针与spatialtargets空间目标两个功能模块,首先我们先来看objectpointers,导入功能包后首先将上节课的UnityXR以及TrackedAlias导入,然后在Hierarchey面板上右键选择Tilia->Prefabs->Indicators->ObjectPointers->IndicatorsObjectPointersCurved导入曲线,导入后然后在IndicatorsObjectPointersCurved下的脚本PointerFacade属性中的FollowSource中我们需要指定一下我们曲线需要跟随哪个手柄这里我们指定右手的手柄,然后下面我们还需要指定一下ActivationAction(激活的动作),意思是使用什么方式来激活我们的手柄,这时候我们就需要使用输入事件了,首先在Hierarchey面板上右键选择Tilia->Prefabs->Input->UnityInputManager->ControllerMappings->InputUnityInputManagerOpenVRRightController,这里我们将右手的控制器导入,使用右手发射曲线,然后我们展开InputUnityInputManagerOpenVRRightController可以看到手柄的按键,RightTrackpad代表手柄圆盘的触摸以及按键,RightTrigger代表手柄的扳机键,RightGrip代表抓握的按键。RightButtonPrimary_Press[0]代表手柄的菜单键

我们可以展开直线的预制体可以看到里面又起始点Origin,中间的线RepeatedSegment以及终点的Destination,这时候我们就可以直接更改里面的游戏物体。

在这里我们每次导出的功能模块会觉得非常麻烦。那么我在下面就不讲解功能模块的导入了,我直接将VRTK40 Demo中的所有功能模块都导入进来,一次性使用了。

然后运行测试就可以看到我们的右手手柄的射线被忽略了 左手手柄的射线还是可以选中的。

首先我们打开菜单栏下Window->Zinnia->Observable List Component Generator,打开窗口后,名字我们自己可定义一个,然后Type类型我们选择List Contains Rule,然后点击生成,就会在Hierarchy面板上生成一个游戏物体

当然我们也可以直接将PointerValidTargetRule指定给右手射线中的Target Validity中。这样的话就是除了Cube可以是有效目标其他的都不是有效目标

本次案例使用的版本是:steamVR Plugin111     VRTK 是适用于Unity 563的   

要特别注意!!!版本要互相对应不然可能会出现一些莫名奇妙的问题  本人也是新手由于经验不丰富  在第一次搭建项目的时候使用了不匹配的版本导致一直出问题射线不能射出头不能动等等 ,本着愚公移山的精神一值调试到凌晨几乎奔溃才发现这个问题。哎!学习就是这样自学只能靠不断的摸索。这篇文章写的不好  完全是为了给自己做个笔记莫见。

一、首先先导入steamVR

二、在导入VRTK(要注意顺序是先导入steamVR)

三、在把摄像头拉到项目中就OK了  这样就能进入VR的场景了但是还不能进行传送

四、选择要添加事件的手柄  

五、添加如下两个脚本。  这样就能放出射线了   具体组件的内容可参照这位大佬的博客>

以上就是关于unity htc 怎样让手柄触碰 button全部的内容,包括:unity htc 怎样让手柄触碰 button、VRTK_4.0使用指南(二)射线、VRTK_4.0使用指南(三)射线忽略以及只和某个物体检测等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9606014.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存