SteamVR2.0 UGUI射线交互模拟



文章目录

  • SteamVR2.0 UGUI射线交互模拟
  • 前言
  • 一、开始前要做的准备
  • 1.在项目开始前应当把环境给搭建好,在Unity项目中把SteamVR导入进程序当中,直接进商店即可,如下图所示
  • 2.找到SteamVR预制体Player拖入到我们的场景中
  • 3.新建空物体PR_VrInputmodule
  • 3.在Player物体下的RightHand物体下添加PointorLine空物体
  • 3.1LineRender组件的设置
  • 4.代码连接
  • 总结



前言

由于目前项目在使用SteamVR2.0版本,对于VRTK的兼容性不是很好,同时对于别的VR插件兼容性也有很大差别很多都是因为Unity版本的原因造成的问题,现在就准备手写一个射线来进行射线与UI的交互。


提示:以下是本篇文章正文内容,下面案例可供参考

一、开始前要做的准备

1.在项目开始前应当把环境给搭建好,在Unity项目中把SteamVR导入进程序当中,直接进商店即可,如下图所示

unity 瞄准线 unity ui射线_游戏引擎

2.找到SteamVR预制体Player拖入到我们的场景中

unity 瞄准线 unity ui射线_游戏引擎_02

3.新建空物体PR_VrInputmodule

空物体PR_VrInputmodule需要以下组件

unity 瞄准线 unity ui射线_unity 瞄准线_03


脚本VRInputModule是需要我们自己写的

3.在Player物体下的RightHand物体下添加PointorLine空物体

空物体PointorLine组件如下所示

unity 瞄准线 unity ui射线_游戏引擎_04


PointorLine物体下还有一个子物体小球,该小球的作用就是设置在射线的末端,用来模拟射线顶端。

脚本ShotLine是需要我们单独写添加的。Camera组件一定要把enable给取消了,不然我们的运行画面会有影响。

3.1LineRender组件的设置

具体设置如下

unity 瞄准线 unity ui射线_右键_05


特别要注意的是这个地方的设置

unity 瞄准线 unity ui射线_右键_06


在最尾部要右键选择Edit Key选择编译该点,参数如上。

4.代码连接

SteamVR2.0UGUI射线交互脚本连接


总结

整个布局如我上所示就可以实现,代码按照链接里的代码复制就行。