提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- 前言
- 一、想实现的功能
- 二、实现原理
- 1.UI挂在XRGrabInteractable、刚体、BoxCollder
- 2.修改刚体属性
- 3.加BoxCollder
- 总结
前言
VR项目里正常情况有放置两种3DUI的方式!
1.固定在某个位置不动(这个没什么好稀奇的,正常搭建3dUI即可)
2.3DUI跟随操作者,并且可以改变跟随速度、距离、以及多少角度后刷新跟随等等
第二种方式只需要添加nteraction Toolkit官方提供的代码即可:LazyFollow
一、想实现的功能
手柄射线拖动UI ,随意放置在空间任何位置。
二、实现原理
很简单,把3DUI当作一个3D物体即可。
官方提供了一个类可以射线抓取物体,然后随意拖动的功能,我们拿来现用!
1.UI挂在XRGrabInteractable、刚体、BoxCollder
2.修改刚体属性
只需要取消重力即可,不然会掉在地面上。
3.加BoxCollder
必须加上碰撞,才可以被射线选中。
需要调整一下BoxCollder的大小,调整为你想要的大小即可。
我调整的是顶部,防止挡住UI上的Button等交互。
4.完事
很简单
总结
好记性不如烂笔头!