【UE】VR端2dUI心得_ue5 vr ui
分为三种
1.屏幕显示,VR视口不显示
2.屏幕不显示,VR视口显示
3.屏幕和VR视口都显示
VR的UI官方文档:
https://dev.epicgames.com/documentation/zh-cn/unreal-engine/design-user-interfaces-for-xr-experiences-in-unreal-engine
1.屏幕显示,VR视口不显示
官方文档:https://dev.epicgames.com/documentation/zh-cn/unreal-engine/virtual-reality-spectator-screen-in-unreal-engine
个人是这么用的
(关掉就把texture置空就好了)
(如果想用2DUI,UWidget替代,可以将UWidget渲染成贴图使用)
链接:https://blog.csdn.net/weixin_43490759/article/details/142650069?spm=1001.2014.3001.5501
2.屏幕不显示,VR视口显示
使用Stereo Layer组件实现,配置贴图,拖到合适的位置,缩放大小
官方文档:https://dev.epicgames.com/documentation/en-us/unreal-engine/openxr-stero-layers-in-unreal-engine
3.屏幕和VR视口都显示
3DUI设置成场景模式,放置在玩家摄像头前(相当于放个物体在摄像机前面)
如果不清晰,3DWidget组件里将分辨率提高,缩放减小
不过这个方法只能是手动去调整位置,并不能说是像2DUI那样可以完全覆盖在屏幕前面
另外发现了个新方法,暂时没来得及试,下次试一下
当时有个需求是弄个类似这种,命令行输入start fps显示的帧数,弄个假UI
但又因为是VR下,所以2dUI分辨率会错乱(pico串流到电脑,电脑屏幕和头戴pico显示画面)
不行的方案:
第1种方法,不停切换贴图去显示,但是不知道是贴图分辨率问题还是干嘛,字体很模糊,后来没研究了
(因为字体是在是太小了,所以很容易模糊)
第2种方法,3DUI放置在摄像机面前,但是也是字体太模糊。
最后用的方法是HUD
这个节点会传出SizeX,SizeY,代表屏幕分辨率。
因为在vr下实际分辨率会错乱,所以我个人的方法是SizeX,SizeY分别乘一个值,scale也是一个值,这三个数值慢慢调成自己想要的位置就好了。