Unity3D for VR 学习 —— 暴风魔镜4与SDK

一、又一个新玩具 暴风魔镜 4(Android)

2016年伊始,有了VR虚拟现实硬件设备: 暴风魔镜4–好奇者的新玩具。

2015年下半年的朋友圈中各种VR、AR的新闻层次不穷,搞的我也心痒痒的:好歹咱也是职业的Unity3D程序员,高大上的Oculus rift dk2咱玩不起,搞个廉价的VR产品也玩玩嘛!故暴风魔镜 4刚发布就在网上预订了。原估计春节前能到货,没有想到元旦前就到货了,高兴 —— 业内良心嘛。

迫不及待玩了几天,小结如下:

  1. 魅蓝 Note 2 + 魔镜4 的VR效果不错,完全对得起159元的预订价,比预期的好得多,类似在家看3D大片效果。通过魔镜自带的Unity demo–第一人称漫游、第三人称漫游、360°全景图片等。(VR 的3D效果,无法予以言表)

  2. CardBoard类似的VR不费电,也不用连接电线,这点不错,完美复用了手机的软硬件,这样有利于大幅度降低VR商业门槛。

  3. VR不仅仅是资本市场火热,技术市场同样也在酝酿中–由硬件、软件技术的革新推动产业的升级。 未来3年 VR的潜力不可小觑的。

魔镜4存在如下问题:

  1. 放入手机的卡槽不严密,脑袋一晃就咔嚓盒子打开了,就得重新“合上仓门”。
  2. 不知道是魔镜app问题,还是手机问题,或者是魔镜VR SDK问题,魔镜里面的视图–一会方向就有问题了,陀螺仪问题? 这点在Unity VR demo中不明显; 在魔镜app中非常明显,感觉很难用。
  3. 魔镜 Unity VR 的SDK导入后,如果是Unity 5.3的话,需要修改一下废弃的API函数,这点应该和Unity与时俱进嘛, 目前VR开发者中Unity占大头的。

二、暴风魔镜框架探索

学习一个新技术,有三个法宝:

  • 法宝1: 掌握厂家提供的用户API手册
  • 法宝2: 掌握厂家提供的demo样例
  • 法宝3:《每个研发人员都应树立的一个demo模式》

故,学习魔镜4技术,亦如是也。

暴风魔镜4是 硬件 + 暴风VR SDK软件的CardBoard VR解决方案。

硬件

魔镜4硬件提供了展示容器工具,主要由2个凸透镜和塑料头盔构成。故为了看到效果酷炫的VR效果,必须要依赖5寸以上Android手机–720P以上,把通过暴风魔镜SDK做的App放入里面,通过暴风魔镜凸透镜才能看到VR的效果–这种Cardboard方式VR,是基于2年前Google CardBoard“启发”的。

参考:暴风魔镜4适配机型列表(2015.12.2更新)

网上也有说几十元,可以自己组装Google CardBoard的,不过对于DIY硬件,我没有太大动力,100多元钱,买个现成的暴风魔镜 4,非常好了。

暴风SDK软件

SDK软件,才是Unity3D程序员重点关注的。

这张图,是魔镜提供的360度图片的Unity3D层次截图,这里我们可以看出部分SDK软件框架:

  1. UI:这里主要采用UGUI,做了一个Button,返回主界面。 在VR中,UGUI 的3D UI效果就立显了,还有就是UGUI是Unity原生的,效果又不错,故做UI选择UGUI是大趋势。
  2. MojingMain、MojingVRHead:负责陀螺仪数据接收,水平坐标x和垂直坐标y数据。
  3. MojingInputManager:负责手机蓝牙的输入控制,直接拿来复用即可,魔镜出厂适配了魔镜蓝牙和小米蓝牙控制器,一般而言,目前蓝牙手柄是比较常见的外设输入,可能随着Oculus Touch面世会升华。
  4. GazePointer\Pose3D:眼睛目视前方的小黄点。这个是VR应用中一个很酷的实践,当你没有蓝牙控制器,可通过这个轨迹点,实现功能选择。通过代码中,看到很多流利的英文注释,我搜索了一下github,原来当年google CardBoard代码,一模一样嘛,呵呵。
  5. MojingEye: 一个VR应用,要用到2个Camera,分别是Left、Right,类似人的左右眼。

VR的常见Q&A

  1. PC和APP的应用能否复用?
    答复:不能复用。app应用是手机上的,PC用的*.exe的,不能复用。 如果是3D片源则可以。

  2. 近视镜问题?
    答复:暴风魔镜4,提供的空间挺大的,我600度近视,带着眼镜,没有问题。且说,Oculus Rift提供了3组镜片,对于<=400度近视的,完全没有问题的。

  3. 伤眼睛问题?
    答复:这个是我最担心的,不过试了几天,发现貌似不伤眼睛,网上查了一下。让人眼感受到具有深度信息的持续的3D渲染是虚拟现实最重要的部分。
    第一,为了产生深度信息,它给每个眼睛生成一张图片,这两张图片在视觉上有一点点偏移量,这样就可以模拟人眼的视差,所谓视差就是人脑处理在不同位置看到的物体而产生的深度信息。第二,产生更好的视觉效果,它将图片扭曲从而模拟人眼的球形表面,通过桶形畸变技术可以达到这个效果。
    ==> 在使用暴风魔镜4的时候,你的眼睛其实在任何时候都在观看远景。

  4. 市场成熟度问题?
    答复:目前技术限制,依然是成熟前期,如果技术突破了:2k+屏幕、60FPS+、<20ms这3个要素,且VR价格大幅度降低,则是VR内容突飞猛进的市场阶段–或许2016Q3后会有不错的市场。

  5. 用什么来开发VR产品?
    答复:主要是Unity3D,UE4,而其中Unity3D占据了70%以上,据说。 VR为了牛X在PC VR,但是初期暴风魔镜100多元的价格,做手机版App,正是Unity3D的长项也。

  6. 图像抗镜片畸变?
    答复:畸变的英文单词distortion, 物体上的直线经过透镜成像后变成弯曲的现象。畸变是由于透镜的放大率随光束和主轴间所成角度改变而引起。 详细看百科:畸变。

我在网上查了一些,新出的一本《Learning Virtual Reality》书,PDF电子版链接:
http://pan.baidu.com/s/1c1lP64C

搞了好久,终于弄明白,暴风魔镜和暴风影音是一伙的,非常好,尤其是大厂能与时俱进的,佩服!

再次复习一下Unity3D的3D数学,我理解的,这个在VR技术,应用会很多
《C#程序员整理的Unity 3D笔记(十):Unity3D的位移、旋转的3D数学模型》

转自赛隆网 http://www.cylonspace.com/

标签: unity, cocos vr, unity3d for vr 学习

?>