如何使用Unity XR Interaction Toolkit

使用环境:

Unity2021.3.21f

XR Interaction Toolkit v3.0.0

各类函数可用的:

简单项目配置:

第一步,导包(samples可以不用导这么多,两个就够了):

第二步,构建场景:

至此,一个简单的VR场景就搭好了,啥都没有的,如果你想加UI,想加课拖拽操纵的物体,那就往场景加。

XR Origin这个就是头盔加两个手柄的信息集合体。

XR Device Simulator 这个是在Editor下PC模拟头盔手柄操作的脚本,方便调试用的,运行时看左下角的提示就懂如何操作了。(注:打包的时候记得Disable这个玩意儿或者自己些个脚本在Editor的时候激活这个脚本)

添加可操作的UI:

注意调一下这个canvas的大小位置,还要注意你的evetSystem是不是跟着生成出来的还是说是你场景里自带的,要它跟着生成出来的这个才能正确接受事件。

还想要自定义一些按键触发事件?去看我的new input system的文章。

可控制物体脚本(无重力的):

XR Grab Interactable(会自动添加RigidbodyXR General Grab Transformer,但最好还是自己添加,好配置参数);加脚本在你的物体上,如果这个物体很多碰撞体,拖拽整体,就加在父节点上也是一样的,脚本会自动获取子节点的碰撞然后移动的是父物体。

一个简单的不受重力影响的可射线操作的物体就完成了。(注:Rigidbody的 Is Kinematicinterpolate要配置好)

除此之外,你还想要限定它的移动轴,规定它只能在某一特定轴移动?那么你在运行的时候其实就会发现有个脚本会自动添加进来的,

那就是XR General Grab Transformer 。你可以提前把它先挂载进你要操作的物体上,然后你看看这个Permitted displacement Axes属性点开就懂了,这里就是可操作的移动的轴。

什么?你还想限制它的旋转轴?也有这样的脚本,不过它不会跟随xr grab interactable一起加进去,你需要自己手动添加 Grab Transformer Rotation Axis Lock

至此,这个物体你想怎么玩就怎么玩了,还有很多属性因为没有研究就不过多赘述了。

传送机制:

既然是VR,那肯定少不了空间移动,大多数都是射线过去的,前面已经配置好了一个VR环境了,在这基础上继续整。

Teleprotation Area 把这个脚本挂载在你的地面碰撞体上就行了,如果有很多不同的地面碰撞体,就整一个父节点把它们都放在子节点就行了,在PC(模拟)运行时上传送就是在select的对象是手柄的时候按方向键wasd传送就行了,射线必须hover在你的地板上哦。

传送到某一个具体位置?那就挂载Teleportation Anchor ,具体传送操作在PC也是方向键然后传送,同上。传送的位置就是这个teleprot Anchor Transform属性,你可以把这个具体的位置挂载在这个子节点下,拖拽上去就行了。


其他:(边玩边研究,感觉接触的还不是很多,这些东西其实在samples的场景里都有,花点时间去看一下应该都懂了),接触完觉得有必要的就继续记录………………………………………………………………………………

  • 6
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值