首先分享一段TED Talk,这个是全球顶级的演讲,一般演讲跟IT男都没啥关系,比较内敛对吧,或者就没啥这方面细胞,乔布斯的演讲还不错,每次新品发布都挑逗观众G点,可惜人家不是IT男。能在TED Talk演讲,唯一的要求就是,你要够牛逼,要多牛逼?放到全世界你都是够牛逼就差不多了,然后再锻炼一下演讲技巧多排练几次就好。这个视频是微软的同事在介绍Hololens带来的梦想中的人与人之间的交互体验。
TED Talk Hololens视频

Hololens的宣传视频就很多很多了,但绝大多数都是加入后期制作的,而以直播的形式出现就很少了。Hololens本身支持实时全息影像展示的,打开Web管理器就行,不过吐槽一下这个真不稳定,开没几秒就会卡死了。这个混合影像的视角很小,就是你带着Hololens看到的矩形区域那部分。但如果做直播分享给别人一起看,这就明显不够了,于是就有了这个第三人称视角的解决方案。先上链接https://developer.microsoft.com/zh-cn/windows/holographic/spectator_view 这个新鲜出炉的Sepctator View,就是笔者后面要谈的实现技术了。用摄像机拍摄,摄像机可以是高达4K的画面效果,然后再叠加Hololens看到的全息影像,perfect。

要做到这个首先需要2个Hololens,一个带HDMI输出的摄像机,推荐Canon 5D MarkIII,1张视频采集卡,(一般笔记本都有HDMI接口,但请注意这个只是用来做视频输出的,不能作为输入,就更不能采集了,要搞清楚接口和卡是不同的概念),推荐Blackmagic的采集卡,原因很简单,有现成代码不用改了,否则换了一个你都不知道是源代码有问题,还是自己摄像机的sdk有问题,还是方法问题。采集卡推荐的是
Intensity Pro 4K不过这个是PCIe接口的只能插到台式机上,推荐使用intensity有雷电和Usb3.0接口,雷电当然更好不过稍微贵点,当然这款就不支持4K了,只能到1090p。需要的连接线就不说了,值得一提的是要把Hololens固定在摄像机上是个小问题,可以3D打印但不是那么随手可得,这个自己看着办哈。

首先上图

首先试一试摄像机的链接是否好的,连上intensity,打开Blackmagic Media Express,看看能不能看到摄像机看到的画面,如果黑的,(看看是不是盖子没打开,我晕,太傻了),如果还是黑的,看看是不是没有enable实时影像,笔者没有使用官方推荐的佳能5D3,用的是nikon的,要按一下Lv按钮,相机屏幕显示什么这里就显示什么。好了继续。

然后要做个架子把hololens固定在摄像机上面,推荐用的是3d打印。笔者没有,只好用草根做法,拿了块泡沫,任何电器箱子里面总会有泡沫吧。没有,那就去买个电器吧:) 用美工刀切一切,大小合适后给红色音箱那挖2个洞,然后在应该的地方用泡沫垫一垫。相机可以用三脚架固定,三脚架有水平仪,笔者在泡沫上也放了一个水平仪,来保证hololens也是水平的。(这个没有?笔者是从服务器机柜那里拿的。没有服务器机柜?买一个机柜吧)

然后还需要做校准的黑白方格板,就是那个人拿着晃来晃去的黑色方格白色方格相间的那个,在Calibration\CalibrationPatterns目录下有个全图和半图,官方说打印全图,不过我看那个人拿的挺大的,如果全图打在A4上太小了,于是就大了2张A4的半图拼起来。官方说要放在硬板上,没有硬板,笔者就拿了个笔记本的箱子,刚好比2张A4纸大点,贴上去就好了。

以上硬件部分终于准备完了。下面开始软件部分。

首先是Calibration项目,直接编译会报错,缺h文件,这些可以通过还原nuget就好了,(不要傻傻的去找h文件,因为真的能找到,但这是一条不归路)。还原的时候如果不通,那就开vpn吧。记得还要去stdafx.h改一下hololens的登陆用户名密码。编译成功后不是在vs里面运行,而是去Calibration\x64\Release里面找Calibration.exe,用管理员运行吧,否则可能写文件会出错。然后就学着官方那个人举着你的板让相机和hololens识别一下,2个设备都会去识别,识别到了会拍照,hololens拍照的时候会亮白灯,你就知道工作正常了,然后回到电脑按一下回车,去我的文档\CalibrationFiles里面,就会有你的亮照,分别是相机拍的,和hololens拍的,还有个CalibrationData.txt,嗯,按照官方的自己比对数据再调一调吧。有个值得说的是,官方说Stereo RMS的范围是20-50,不过这个txt里面却说越小越好。事实上是这样的,当视野越广的时候,这个数字会变大,把相机镜头拉长视角变小接近hololens的视角的时候,这个可以趋向0,笔者用的后者。最后把这个txt复制到assets目录下。来个亮照。

然后做compositor项目,没什么好说的,还原nuget,生成64位和32位解决方案。因为笔者电脑是64位的,大多数人的都是吧,所以64位的给unity用,32位的给hololens用,如果32位的给unity会报错找不到dll。笔者执行CopyDLL.cmd失败,闪一下就没了怎么知道成功还是失败?开CMD运行就知道了。于是看着cmd运行的结果,手动复制那些dll到assets目录。这步好了。

最后,打开Unity项目,不用设置什么了,前面已经把该放的都放进来了,双击打开Sharing场景一切都有了。只需要SpectatorViewManager里面的spectator view IP为hololens的ip就可以了。修改点击菜单HoloToolkit-Sharing Service-Launch Sharing Service,就打开了服务器端。点击菜单Spectator View-
Compositor打开界面窗口,点击运行,Duang,神奇的第三人称视角就完美的出现了。

细心的朋友可能发现了,一直到这一步其实都只需要1个hololens就可以了,后面如果Sharing Service IP的那个hololens进来后可以操作这些hologram。做完这些笔者无比的自豪感涌现啊,别看前面写的那些步骤好像一步一步做就行了,笔者遇到的坑无数啊,多数是在编译上面,会让你怀疑人生,笔者差点把win10都重装了。好了,Enjoy yourself!

后记,有段时间没有碰Hololens了,之前玩的时候还是5.4版本,现在用了5.5.0f3,居然unity生成的代码编译都通不过,以为是nuget的问题,升级nuget还报错,于是买了个vpn,终于升级到最新的5.3.0居然说要visual studio 2017才可以,降到5.2.2可以编译了,部署到hololens的时候直接停止运行了,换了另一台电脑发现代码没问题,于是把笔记本的VS重装了。吃螃蟹第一人不好当,人生真的是折腾,也不知道还能折腾多久。

Hololens第三人称视角Spectator View!相关推荐

  1. Spectator view——Hololens第三人称视角技术的详细实现过程

    Spectator view--Hololens第三人称视角技术的详细实现过程 距离微软发布首个不受线缆限制的全息计算机设备Hololens已经快过去三个年头,而随着新技术的不断出现,MR这一曾经&q ...

  2. Hololens第三人称视角实现

    Hololens 第三人称视角实现原理 其实Hololens的第三人称视角识别很简单,本质上只要能够将两个坐标点对齐就行,但是这个两个不同的应用没办法使用同一个坐标系.所以采用AR识别功能达到两个坐标 ...

  3. Unity 3D第三人称视角、用途广泛限定角度(视角不能360度翻转)

    Unity第三人称相机视角控制 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人! (拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- 心 ...

  4. 我的世界java版mac切视角_我的世界怎么视角切换攻略 第三人称视角

    我的世界中除了常用的第一视角外,为了方便截图和视频拍摄还提供了第三人称视角,这个视角也就是从玩家的人物外观看玩家,镜头并不显示视线所及的摄像,而是从人物后方(0度/0弧度)或前方(180度/3.14弧 ...

  5. rust第三人称视角插件_一个第三人称游戏相机的实现(基于rust语言和cgmath库)...

    我在学校时就对角色扮演类3D游戏感兴趣,毕业那会研究过第三人称视角的游戏相机的实现(基于D3D),但由于没有想到合适的计算方法,最后实现出来的程序有BUG,并且没找出原因. 最近看到git有rust写 ...

  6. D3D游戏编程系列(七):自己动手编写rpg游戏之第三人称视角的构建

    终于迎来了自己的最后一个游戏,RPG冒险游戏,这个应该也是当前在单机领域最火的游戏类型了吧,丰富的剧情配上动听的音乐,在加上华丽的画面和带劲的打斗,实在是一个让人心旷神怡的游戏啊,本文旨在塑造一个简单 ...

  7. Unity3D 人称设置(第一人称视角、第三人称视角)

    设置第一人称视角 1.把物体的坐标和摄像机的坐标设置成一样的,这样摄像机就在物体内部,就是第一人称的视角. 2.把摄像机拖拽进物体对象内,摄像机变成物体的子对象,这样摄像机就能跟着物体一起移动. 设置 ...

  8. [Unity3d]第一人称和第三人称视角完美切换

    最近一直在搞3D漫游,在第一人称和第三人称视角切换碰到些问题,视角的例子我是导入的官方的character controller包,不得不佩服官方脚本语言的写法,看了一下写的很完美,新手估计比较难看懂 ...

  9. Unity实现第三人称视角

    最近耍了一波巫师3,突然想到能不能做个简单的第三人称视角的摄像机控制.不过这个摄像机控制目前还没有被卡视角的功能(就是那种根据地形调整摄像机距离)准备在后面几天实现卡视角功能.不过先来做个简单的第三人 ...

最新文章

  1. 几十年的领域专家告诉你,机器翻译进化到哪一步了?
  2. 暗通道优先的图像去雾算法(上)
  3. springboot-web开发(请求映射原理)
  4. 免费报名 | 智源论坛:智能处理器探索,AI技术前沿精粹尽览
  5. 海外高校毕业证的颜色
  6. Java虚拟机-垃圾回收简介
  7. C++程序的编写和实现
  8. Atitit.iso格式蓝光 BDMV 结构说明
  9. 【基础教程】基于matlab图像增强+复原+分割【含Matlab源码 056期】
  10. Logistic Regression(LR) 算法原理简介
  11. Minecraft Forge 服务器开服教程
  12. 用微PE安装KALI LINUX到U盘,【U盘安装kali】U盘 kali pe三合一教程!装机,存储
  13. Java开发实习(入职经历)
  14. 微信账户显示有异常怎么办?要如何解除?
  15. CCF 202206-2 寻宝!大冒险!
  16. Gradle源码全解析,已拿offer
  17. MATLAB 全景图切割及盒图显示
  18. knn可视化、稠密dsift原理、手势识别
  19. python3解两数之和
  20. 在同一个二维坐标系绘制出一元二次曲线, sin正弦、cos余弦曲线 (numpy,matplotlib.pyplot )

热门文章

  1. Rails开发的简单实例
  2. 【Commare中关于理论范畴和技术常用的技术术语】
  3. VUE使用轮播图画3D模型图
  4. Java 程序中的指令重排
  5. 收到了hr的口头offer,一周后却被通知offer审批没过!
  6. Android 走向MD的配色风格
  7. 是时候做点东西出来了.
  8. 假如有一天,程序猿受够了所有压迫……
  9. 语音合成技术入门之Tacotron
  10. 常用的 7 款 MySQL 客户端工具,你值得拥有!