Unity中使用Oculuc CV1 + Leap Motion开发VR项目(一)
综合文库 604 14
实名

通过了实名认证的内容创造者

发布于 2017-9-1 13:04:38

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 胖纸_DHW 于 2021-1-8 11:38 编辑

近在开发VR项目,为了获取更自然的交互方式,我们使用了Leap Motion来做VR的交互,使用的设备Oculus CV1和Leap Motion ,Unity使用的5.4.0版本,由于没有购买Leap Motion为Oculus CV1开发的配套卡托(就是将Leap固定到CV1前端的设备),所以我们是用双面胶带粘上去的undefined,是不是Low哈哈(感觉还是粘不太牢的,因为Leap运行起来会发热的,而且Leap背面是橡胶材质......)。

VR-distance.png



好了,废话不多说,下面先来讲讲设备的具体配置环境的方法


(一)Oculus CV1的环境配置


CV1与DK2配置的最大不同在于配置CV1时必须要翻墙才能下载驱动,而且最好使用的是美国的节点,如果使用其他节点可能会出现连接不上Oculus眼镜或者下载不了资源的问题


oculus对电脑的配置也是有要求的,官方推荐的最低配置为:


1240.jpg


接下来是具体配置的方法(小心踩坑):


1.   到 官网下载Oculus Home 的Setup文件,目前官方下载地址:https://www3.oculus.com/en-us/setup/,安装Oculus Home必须卸载之前的Oculus RunTime,如果你之前有安装过就需要卸载干净它。(如果你不确定的话就直接装吧,下面3里讲了)


2. 如果你进不去这个网站,说明你没有翻墙(国内就是这么坑),那么你需要一个VPN才能下载,并且友情提示一下,VPN最好开全局模式。


3.  下载完后就是安装了,如果你没有将上面1里所说的以前安装的Oculus RunTime卸载干净的话,它会提示你有旧的软件,需要卸载它。然后你就可以正常安装了。


4.  其实安装过程中也有可能会遇到问题,有一个安装的前提就是你在安装的过程中必须始终开启你的VPN,所以你最最好找个稳定点的VPN,毕竟要下载800多M的资源。如果没有连接VPN,安装文件在下载驱动的时候会提示连接不到服务器,如果你正常下载完成驱动后安装的时候遇到错误问题它会提示你重启电脑,但是你不要相信它,一般来说重启是没有效果的,你可以使用Windows + R键或通过其他方式打开运行入:%LOCALAPPDATA%\Oculus\OculusSetup.log

来查看你的错误日志,比如如果你遇到下面的这种错误:




这是因为和Mcafee软件冲突的原因,把Mcafee卸载掉就好了。还有一个可能是普遍遇到的权限的问题,可以参考https://forums.oculus.com/commun ... during-oculus-setup,Oculus官方论坛的一个帖子来完成。


5.  安装好Oculus Home 之后就可以登录Oculus Home来匹配和连接你的CV1设备了。首先出现的界面是登陆界面,如果你有Oculus账号,直接登陆就好,但是有时候在这一步会碰到一个问题,就是有时会报错:OVR53225466(如下图)





这个错误可能是你使用的VPN的问题,我使用了行云VPN后选择美国节点就解决了这个问题。




CV1设备上有两个接口,一个是3.0的USB接口,另一个是HDMI接口,分别连接到你的电脑上的USB3.0(必须是3.0接口)和独显的HDMI接口上,连接成功够Oculus Home中会显示对应的接口呈现绿色。如果等了很久也没有连接上,那就点击右下角的Skip(跳过这一步),在以后的操作中呢,它就会不停的提示你硬件设备没有获取到这个提示,不要搭理,一路狂跳!然后就到了使用虚拟头盔进行操作的时候了,它会提示你使用你的遥控器或者手柄,如果你使用的是遥控器,点击方向按钮中间的那个按钮控制就行啦。


如果你用的是设备佩戴的Xbox手柄的话,需要先将手柄的接收器插到电脑的USB接口,然后按住它侧面的小突起,直到它上面的提示灯亮起,这时候你需要按住手柄上的那个银色的按钮(如下图提示)




直到这个按钮的提示灯和那个接收器上的提示灯常亮,就说明已经将Xbox手柄配置好了,如果手柄上的灯常亮但是接收器上的还是在闪动,那就按住手柄色色面的小突起按钮不放(和接收器上的那个形状一样),直到两个设备的指示灯都常亮!匹配手柄成功。





接下来,,也是卡死大部分人的一步,也是安装进程的倒数第二部(最后一步是Finishundefined)这里呢,它会提示你设置View也就是视图界面,如果姿势不对,就会一直卡在这里,其实解决起来也很简单,解决方法如下:

戴上你的CV1眼镜,盯着你的传感器(就是那个有支架像话筒的是东西,将他的usb也连接到电脑上),传感器就会自动识别,你就会看到你的传感器自动扫描识别的那一幕,看着很高大上。

这就已经完成安装了。


6.  然后就是在unity里进行CV1的开发了,英文好的可以直接跟着官方文档来操作,简单翻译下就是你需要下载Oculus的插件包来替换你原来unity 安装文件里Editor内的VR文件。首先你需要先下载Oculus的插件包,因为作者用的是unity来开发,所以给出unity5的插件包,下载链接:https://developer.oculus.com/dow ... Plugin_for_Unity_5/


   如果你使用的unity版本是5.3




(1). 关闭unity程序,让他处于不运行状态,关闭的时候可以查看下进程里还有没有unity editor的进程。


(2).  找到你的unity安装路径,并打开这个文件夹,比如:C:\Program Files\Unity\Editor\Data\VR\oculus。这个路径是你自己电脑上的安装路径,如果你电脑上有多个版本的unity请认准是5.3版本。


(3).  找到这个路径之后删除Oculus文件夹里的所以文件。


(4).  解压你刚下载的插件包,打5.3(如下图)




复制oculus文件夹里的所有文件到你刚才打开的unity安装路径的oculus文件夹里。


如果你使用的是unity5.4版本,




unity5.4同理,但是Oculus的插件的对应的unity版本是不向下兼容的,向上兼容未试过。


7.  最后就是在Oculus Home里设置一下允许未知程序




进入界面






如果你点不来,那么久允许unity,然后戴上CV1设备后通过手柄来授权,然后就可以使用CV1在unity中做开发了。



*在unity的设置*


在开发前,应将Edit > Project Settings > Player > Other Settings 中的Virtual Reality Supported选中,然后在下面点击那个"+"号,(如图)





这样就可以开发VR项目了。


(二)Leap的环境配置


  Leap需要的系统需求


 * Leap Motion3.1.0以上版本

 * .4.0以上版本

 * Windows7以上版本

首先我们登陆Leap的官网,可以发现现在Leap发布了两套SDK,一套是正常在桌面上使用的,另一套就是在VR项目中使用的Orion BETA版本。下载这个最新的Orion BETA版本的SDK,下载地址:https://developer.leapmotion.com/get-started。如图:




接下来,我们还要下载Leap在Unit中的开发包,具体下载地址:https://developer.leapmotion.com/unity。如图:




下载完后,应该是下图中那样的两个文件:




然后我解压Leap_Motion_SDK_Windows_3.1.3后安装应用。安装成功后桌面右下角会出现Leap的应用程序图标,




现在将Leap Motion连接到电脑上,如果连接成功并且SDK也安装成功的话,右下角的应用图标会显示绿色,




并且从Leap的侧面和正面也可以看到绿色和红色的灯亮起。

接下来新建一个Unity工程,将我们下载的Leap开发包LeapMotion_CoreAsset_Orion_4.1.4导进新工程里,按下图1的结构打开开发包,会看到3个Dmeo,分别是AR\桌面\VR的Demo,打开VR的Demo,会发现它的结构如下图2。




这时候如果你还没有配置Oculus CV1 或者你没有这个设备,你也可以试着将Leap Motion放在你额头的前面,让Leap 的正面朝向你的前方,然后运行Unity工程,将你的一只闲置的手放在你的面前(Leap的感知区域内),你就会看到你的手的动作会在工程中显示出来,当然了,现在你看到的只是一个Leap内置的骨骼模型,其实Leap中有很多建好的手部模型,将来我们可以根据自己的喜好或者项目的需要来替换这些模型。如果你已经配置成功了CV1,戴上它并将Leap 的位置放在CV1前面,这时候你将手放在leap的感应区就可以看到你的手动动作了。


其实Leap 提供了五个单独的功能模块开发包,我们可以根据自己的项目中需要实现的功能来使用者几种开发包,而且它们可以同时放入一个工程里,这五种附加包不会相互影响,它们的下载地址同样是:https://developer.leapmotion.com/unity





如上图,这里只显示了两个,这五个附加包的功能分别为:


(a)Leap Motion Interaction Engine v0.2.03

  这个是Leap Motion与虚拟3D物体的交互模块。这个模块解决了我们在实时物理引擎中用手操作虚拟3D对象的限制,它提供了可扩展的组件,用于控制在应用程序中的手和3D对象之间的相互作用。(下载后看里面的Demo吧)


(b)Detection Examples v1.0.2

  这个是检测实例模块(手部的压力检测器)。检测实例包含的例子说明如何使用场景检测脚本添加到核心资产4.1.1。这些探测器的pinchutility脚本扩展模块,可以使我们在工程里面实现捏和捡起等动作交互。(下载后看里面的Demo吧)


(c)Attachments Module v1.0.3

  该模块提供了一个公开的手中几个重要的转换,如手掌,指尖,和手臂特殊IHandModel,这使得我们容易将虚拟3D对象拿在手中。该模块还提供了用于打开和关闭连接的游戏对象,这些对象被设计用来与探测器一起工作。(下载后看里面的Demo吧)


(d)Hands Module v2.0.0

  这个模块为我们提供了几种不同的手部模型。可以使我们在工程中看到更美观的识别出来的手部模型。(下载后看里面的Demo吧)


(e)UI Input Module v1.1.0

  这是Leap 与 UI 进行交互的模块,它提供了一个在Unity中与 UI 进行物理交互的简化的接口,这使得我们能够伸出手“触摸”UI界面元素来与其进行交互——甚至在远处控制光标。(下载后看里面的Demo吧)










未完待续....

还没有设置签名!您可以在此展示你的链接,或者个人主页!
使用道具 <
wangyin8911  发表于 2017-9-2 16:27:37  
2#
还不错,其实可以做的更精细,可能你还不熟悉zb里的功能
回复 收起回复
使用道具
wangyin8911  发表于 2017-9-2 16:27:40  
3#
还不错,其实可以做的更精细,可能你还不熟悉zb里的功能
回复 收起回复
使用道具
wangyin8911  发表于 2017-9-2 16:27:43  
4#
还不错,其实可以做的更精细,可能你还不熟悉zb里的功能
回复 收起回复
使用道具
wangyin8911  发表于 2017-9-2 16:27:47  
5#
还不错,其实可以做的更精细,可能你还不熟悉zb里的功能
回复 收起回复
使用道具
wangyin8911  发表于 2017-9-2 16:27:51  
6#
还不错,其实可以做的更精细,可能你还不熟悉zb里的功能
回复 收起回复
使用道具
wangyin8911  发表于 2017-9-2 16:27:54  
7#
还不错,其实可以做的更精细,可能你还不熟悉zb里的功能
回复 收起回复
使用道具
wangyin8911  发表于 2017-9-2 16:27:57  
8#
还不错,其实可以做的更精细,可能你还不熟悉zb里的功能
回复 收起回复
使用道具
wangyin8911  发表于 2017-9-2 16:28:00  
9#
还不错,其实可以做的更精细,可能你还不熟悉zb里的功能
回复 收起回复
使用道具
wangyin8911  发表于 2017-9-2 16:28:05  
10#
还不错,其实可以做的更精细,可能你还不熟悉zb里的功能
回复 收起回复
使用道具
wangyin8911  发表于 2017-9-2 16:28:08  
11#
还不错,其实可以做的更精细,可能你还不熟悉zb里的功能
回复 收起回复
使用道具
wangyin8911  发表于 2017-9-2 16:28:11  
12#
还不错,其实可以做的更精细,可能你还不熟悉zb里的功能
回复 收起回复
使用道具
wangyin8911  发表于 2017-9-2 16:28:14  
13#
还不错,其实可以做的更精细,可能你还不熟悉zb里的功能
回复 收起回复
使用道具
wangyin8911  发表于 2017-9-2 16:28:17  
14#
还不错,其实可以做的更精细,可能你还不熟悉zb里的功能
回复 收起回复
使用道具
wotou  发表于 2017-9-5 10:34:51  
15#

还不错,其实可以做的更精细,可能你还不熟悉zb里的功能 ,话说跟ZB有毛关系
回复 收起回复
使用道具
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表