Unity之XR Interaction Toolkit 射线拖拽3DUI

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、想实现的功能
  • 二、实现原理
  • 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.完事
    很简单

    总结

    好记性不如烂笔头!

    作者:野区捕龙为宠

    物联沃分享整理
    物联沃-IOTWORD物联网 » Unity之XR Interaction Toolkit 射线拖拽3DUI

    发表回复