关于Unity 接入VR镜头的设置

news/2024/11/8 6:07:02/

自己在网上找了很久,如何在Unity工程里接入VR相关的教程,但是要么是版本不同,要么是没有自己想要的。作为一个入门者,只想弄明白如何让Unity里的场景能够在VR眼镜里正常显示。


折腾了大半天,终于弄明白是怎么弄的了,接下来把我的心路历程分享一下,也许能帮忙也说不定。

一、如何在Unity工程里加入VR

1.在网上或者Unity/Asset Store里下载VRTK,这是一个插件,或者叫做工具。有了这个插件,才可以开始进行VR开发相关的操作。

VRTK全名是Virtual Reality Toolkit,包含了Unity下开发VR的大部分通用功能。其中包含了接入VR相机,这篇文章主要讲述如何接入VR相机,其他的操作暂时不介绍,以后自己摸索好了会继续。


2.导入VRTK。复制或者导入VRTK到自己的项目

,VRTK包含的目录如图,基本上从Asset Store上下载的是一个比较稳定的版本,最新版的话可以去VRTK官网下载。

这个VRTK下载完毕之后,才仅仅是开始。

3.下载对应的SDK。

首先说明一下,这里边有一个自带的VR模拟器,可以方便在没有设备的环境下,直接调试工程,这个Prefab叫做VRSimulatorCameraRig,位于VRTK/Prefabs,

,可以把这个直接拖入到Hierarchy,运行Unity,这时候鼠标就担任了头部的工作,镜头会跟着鼠标一起转动。


这里只是说明一下简单调试的办法,回归正题,我们是来下载SDK的。Oculus的SDK需要从Oculus官网去下载,

链接:https://developer.oculus.com/downloads/package/oculus-utilities-for-unity-5/

下载Oculus Utilities。下载的文件是一个名为ovr_unity_utilities_Main的压缩包,里边包含了OculusUtilities的文件夹,打开这个文件夹,最里边的后缀名为unitypackage的文件就是我们想要的东西了。

把这个注入到Unity项目,文件夹的结构如图

,还包含了一个plugins的文件夹,暂时用不到,不管,但是它来自于Oculus的注入。

这样Oculus的SDK也就下载完成。进入下一步。

二、对Unity的操作

1.现在开始对Unity的操作。首先创建一个场景...blabla,基础操作大家都明白的。

创建完毕之后,创建一个空物体,命名为[VRTK_SDKMng],命名大概能表示出这是SDKManager就行。


然后添加脚本,脚本名为VRTK_SDK Manager

随后在其下创建一个空物体,命名为OculusVR,并添加脚本<VRTK_SDK Setup>



添加完毕后,检视面板可能是有个报错,也可能没有,如果有报错可能是QuickSelect选项的SDK并没有安装,这里没关系,我们把QuickSelect选择为Oculus就会停止报错了。

---->---->---->

这样设置完毕后,我们接着下一步。

2.导入Oculus的Camera

从Oculus/Prefabs中选择OVRCameraRig,拖入到Hierarchy的OculusVR下,作为其子物体。


选择Hierarchy下的OVRCameraRig,在其检视面板中把Tracking Origin Type选为Floor Level


随后Save一下场景,VRTK会自动选择其中需要作为对象的物体,如图


最后一步,在最开始的[VRTK_SDK Manager]物体的检视面板,找到Auto Populated按键,点击下去,VRTK会把对应的SDK拖入其检视面板,或者自己手动拖入也可。

手动拖入的情况下,,点击这个“+”号,随后从Hierarchy里把挂载对应SDK的物体拖入其中。

==========补充==========

有朋友和我说依然出现了看不到Canvas的情况,那么需要在Canvas里进行这样一个设置。

先添加脚本OVR Raycaster,将这个脚本下的BlockingObjects设置为All

取消Graphic Raycaster,也可以Remove这个脚本


把Canvas的RenderMode设置为ScreenSpace,往RenderCamera里拖入OVRCameraRig下的CenterEyeAnchor,这样就完成了最后一步。如果需要使用WorldSpace的模式,则往EventCamera里拖入OVRCameraRig下的CenterEyeAnchor即可。

-------

以上,完成了对Unity操作部分的全部内容。我们尝试一下在场景里放入一个Cube。


目前未运行游戏的情况下,白色Cube在最右侧,我们运行游戏,旋转VR眼镜。

,看来我们是成功了。(可惜不会录动图)

三、其他

这里主要是写了如何对OculusSDK的操作,因为目前工作项目就是用到这个眼镜。光是接相机就让我头疼了好久。只好自己从网上找教程,自己摸索怎么弄。估计也有其他人可能和自己有一样的困扰,我就把网上看到的知识点整理起来,但愿能帮到有需要的人。

对于其他SDK的操作,应该大致相似,毕竟自己还没尝试过,不敢妄下结论。时间也很紧迫,加上没有其他品牌的设备,所以其他的SDK暂时没有体验。

其中对于Oculus部分的补充,软件部分需要下载Oculus的驱动,Oculus下载驱动后,文件本身很小,然而需要从网上下载达到4.7G左右的文件才能开始安装,等待时间令人发指。使用Oculus的小伙伴需要注意这点,提前下载好驱动。

写下文档主要是为了记录,方便其他人。虽然这不是个什么大知识点,但是万一忘了怎么操作了也能够提醒自己。


http://www.ppmy.cn/news/497948.html

相关文章

VR沉浸感和交互作用原理

本文转载自点击打开链接 1. VR沉浸感和交互作用产生的原理&#xff1a; 在之前&#xff0c;我们观看一个虚拟的创造内容是通过平面显示器的&#xff0c;52VR上次发布过一篇文章《一张图让你认识VR》&#xff0c;在其中&#xff0c;你会看到很多10年前的虚拟现实装备&#xff0c…

OpenVR之IVRSystem

简介&#xff1a; vr::IVRSystem接口可访问 显示配置信息&#xff0c;追踪数据&#xff0c;畸变函数&#xff0c;控制器状态&#xff08;主要是按键信息&#xff09;&#xff0c;事件以及设备属性。它是OpenVR的主要接口&#xff0c;且它可以通过openvr::VR_Init函数来初始化与…

关于VR视频的分辨率、码率、帧率

一般情况下&#xff0c;我们都会认为视频的分辨率越高&#xff0c;视频看起来也就越清晰&#xff0c;在业界超高清、4K、8K等词也都变得耳熟能详&#xff0c;今天来谈谈VR相关的分辨率和清晰度。 大家都熟悉的是图像的分辨率&#xff0c;图像的分辨率越高&#xff0c;其包含的…

VR入门笔记一

去年是VR元年&#xff0c;本人也跟风搞过一段时间的VR&#xff0c;工作室资助买了一套Oculus CV1还攒了一台主机&#xff0c;毕竟对于苦逼的在校大学生&#xff0c;动不动一两万的设备钱还是贵的&#xff0c;不过我们老师马上要申请一个VR实验室&#xff0c;就可以有钱搞一波儿…

vr中的计算机知识,VR技术基本常识

虚拟现实技术是仿真技术的一个重要方向是仿真技术与计算机图形学人机接口技术多媒体技术传感技术网络技术等多种技术的集合是一门富有挑战性的交叉技术前沿学科和研究领域。虚拟现实技术(VR)主要包括模拟环境、感知、自然技能和传感设备等方面。模拟环境是由计算机生成的、实时…

vr技术基本常识

虚拟现实技术是一种可以创建和体验虚拟世界的计算机仿真系统它利用计算机生成一种模拟环境是一种多源信息融合的交互式的三维动态视景和实体行为的系统仿真使用户沉浸到该环境中。 虚拟现实技术是仿真技术的一个重要方向是仿真技术与计算机图形学人机接口技术多媒体技术传感技术…

ImportError: cannot import name ‘Markup‘ from ‘jinja2‘

报错代码截图&#xff1a; 解决办法&#xff0c;安装如下版本的Flask和Jinjia2 pip install Flask2.0.3 pip install Jinja23.0.0

自己写出控制VR眼睛人物行走的代码

vr现在已经很火热了&#xff0c;目前也出现了许多虚拟现实眼睛&#xff0c;比如 Htc Vive 、Oculus 、 Gear VR、 大朋 等等&#xff0c;他们都自带了unity开发的包&#xff0c;htc 、oculus都自带了人物控制移动的脚本&#xff0c;但是大朋却没有&#xff0c;现在就是让大家自…