VR/3DUI交互—动态弹出、动态视角跟随、防遮挡显示以及射线交互
VR3DUI交互实现(都是一些简单功能简单记录一下,最后附视频效果)
一、动态弹出
新建弹出事件,通过Timeline控制3DUI的Pitch(Y)轴;基本的蓝图类,初始化啥的就不赘述了;话不多说,上图。
这里需要先将3DUI设为Pawn的子对象;
通过Alpha值设置角度;
优化弹出效果,TimeLine可以做个曲线;
二、动态跟随
写在Tick事件里,Delta是限制角度,当视角跟3DUI角度偏差大于这个数值,就执行后续跟随跟随代码,直到角度差小于1;继续下一次跟随判定;
三、防遮挡显示
找到3DUI的材质球,将这个Disable Depth Test打勾,这样就不会被世界物体所遮挡;
四、射线交互
添加Widget Interaction组件,细节面板中根据需要修改跟踪通道(Trace Channel)射线距离(InteractionDistance)等参数;编辑器下运行可以将ShowDebug打勾,会显示一条射线,方便调试(打包不显示)。
按下按键,模拟鼠标左键点击操作,并且显示一条射线(添加一个子组件//圆柱体缩放一下,赋一个UE自带的射线材质球即可,效果就是下面视频中的蓝色光束)。
**注意:**打包的时候,将3DUI中的Receive Hardware Input取消打勾;不然打包出来VR模式射线不会与3DUI交互。
上链接!添加链接描述
https
UE4/VR模式3DUI动态弹出并跟随,防遮挡显示及射线交互