#基于VR环境下的手指识别键盘输入# 在Unity普通场景中完成识别后,转入VR场景中的问题解决

本文解决了Unity中普通场景与VR场景切换时遇到的问题,如点击事件失灵、Canvas变大等现象,并提供了详细的解决方案,包括如何正确配置VRSetting及初始化SteamVR组件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题一:在进行普通场景和VR场景切换的时候,VR场景自带的摄像头[Camera Rig]可能会对普通场景也产生一定的影响。出现的现象包括:quad组件上点击事件的失灵(猜测是不同的canvas层之间产生了遮挡)、按钮事件的失灵等。

在这方面收集了很多资料,进行了总结:

(1)在PlayerSettings里有个选项VirtualRealitySupported,这个选项导入SteamVR时取消是不管用的,SteamVRSetting在onload的时候,会自动把它勾选。
(2)普通场景想要在导入SteamVR后禁用乱入的VR摄像机,需要使用VRSetting.enable=false;
(3)使用VRSetting.enable=false,起始场景是普通场景时,会把当前这相机的Field of View设置成100多的一个值,需要注意重新设置这个值。

(4)在转到VR场景的时候,不仅仅需要设置VRSetting.enable=true,还需要手动初始化SteamVR的相关组件,不然在vr场景只会看到空场景,初始化的代码代码如下:

VRSettings.enabled = true;

            SteamVR.enabled = true;

            SteamVR vr = SteamVR.instance;

            SteamVR_Render render = SteamVR_Render.instance;

            render.enabled = true;

            vrCamera.enabled = true;//此处是SteamVR_Camera的引用

问题二:

在项目中,我们使用普通的场景和摄像机制做手部识别和相应的UI场景,然后通过场景的跳转转到VR场景,但在Unity5.4版本之后,如果勾选了Virtual Reality Supported选项,我们在运行程序的时候,会发现UI场景中Canvas会变大,摄像的Field of View会变大,通过实验发现,普通场景中的摄像机会受到SteamVR的影响。通过测试实验,终于找到了解决方案,只需要更改普通场景中的摄像机的Target Eye,设置成None就行了。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值