集成Vuforia 5.0.5与Google Cardboard实现AR+VR的效果

原文链接:http://www.arvrschool.com/read.php?tid=180&fid=21

AR/VR技术交流群 129340649,欢迎加入~


一、平台准备: 

Cardboard Unity SDK version 0.5.0 
Vuforia Unity SDK version 5.0.5 
Unity3d version 5.0.0f4(64bit)  


二、场景设置:  
先后导入Vuforia Unity SDK version 5.0.5和Cardboard 0.5.0SDK,如果顺序反了,可能需要修改AndroidManifest文件。 


然后双击Scenes中Vuforia-3-AR-VR场景,然后拖入Cardboard/prefabs/CardboardMain.prefab. 
 

查看ARCamera的检视窗口(Inpsector),找到Bind Alternate Camera属性,勾选,并将CardboardMainHead组件、MainCameraLeft以及MainCameraRight组件拖过去,然后点击Add Vuforia Components按钮。  
 
另外要将Viewer设置Cardboard.  
 
另外除了Cardboard外,还有Gear VR.  
 
 
接下来需要设置Cardboard的组件,CardboardMain.  
 
 
设置Camera的背景色,看不到的地方都设置为该颜色,设置为黑色。  
目的:增加神秘感。  
 
 
主要需要观察的地方有三点:  
1、 Camera位置:模拟人眼瞳距,一般人眼瞳距为58-64mm,一般设置为60mm.形成视差,否则不会有立体效果,比如Vuforia 5.0.5新增的VR模式,两个Camera的位置一样,因此看到的场景一模一样,所以没有立体效果。  
2、 裁剪平面Clipping Planes:官方设定为0.5,500,这个就是OpenGL里面的远平面和近平面,在Unity3d中,可以控制Camera视场的远近,在某种程度上也可以节省资源。  
3、 视口矩形Viewport RectCamera视口的大小,这个在做一些小窗口以及VR应用中很常用。X,Y为左上角点坐标,范围为(0,1),W,H为宽高的大小,范围为(0,1)。  
VR场景中,由于是分屏处理的,左右Camera看到的场景分别显示在屏幕左右两边。通过这里来控制显示位置。  
 
 
 
 
调整几个组件的位置,使得场景在视野中的位置正确:  
CardboardMainx = 0, y = 0, z = -1.  
Head: x = 0, y = 2, z = 0.  
Main Camerax = 0, y = 0, z = -0.3.  
 

三、代码修改:  
 
CardboardEye.cs 脚本 (Assets/Cardboard/Scripts)  

复制代码
1
2
3
Vuforia.VuforiaBehaviour.Instance.ApplyCorrectedProjectionMatrix(proj, eye ==
    
Cardboard.Eye.Left);

 

CardboardHead.cs脚本(Assets/Cardboard/Scripts) 

复制代码
1
Vuforia.VuforiaBehaviour.Instance.UpdateState( false true );

 
这些地方设置完成之后,测试Android版本的基本可以在手机上跑起来了。  
 
 
 
 
官方教程:  
http://developer.vuforia.com/library/articles/Solution/Integrating-Cardboard-to-the-ARVR-Sample  
 
另外,我不使用Cardboardsdk,仅使用Vuforia做的VR+AR的效果,也给大家瞅瞅:  
 
 
 
 
 
 
 其实仅仅使用Vuforia4.x以上版本也可以做VR效果,但是是没有畸变的效果,使用蚁视机饕观看没有问题,但是使用向Cardboard这种有畸变的解决方案的VR设备可能会有问题。  
 
对于AR+VR组合的场景,有个共同的问题,大家可以观察一下两幅视口的3D模型与拍摄到画面背景的位置关系,会发现模型相对于背景图像有一定的偏移,这个偏移就是视差引起,但是在AR这种场景中,带上VR设备观察,确实是有立体效果,但是3D模型是悬浮在2D背景上面的,这个问题一直遗留着,暂时还没有得到解决,也希望有兴趣的朋友一起来攻克这个难题。
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值