HoloLens提供了通过蓝牙使用配件的能力.使用附件两种常见情况是用来点击手势和虚拟键盘.对本文来讲,两个最常见的配件就是HoloLens Clicker(点击器)和蓝牙键盘.HoloLens包含了一个蓝牙4.1射频器,同时支持蓝牙HID和蓝牙GATT配置文件. 配对蓝牙附件 Pairing bluetooth accessories HoloLens配对一个蓝牙外围设备的体验和在Windows 10桌面和移动端配对类似: 从开始菜单,进入设置 前往设备菜单 如果蓝牙是关闭的,则打开蓝牙开关…
千呼万唤始出来,终于今天拿到了HoloLens真机. 使用体验 使用自带的应用录制了一段使用视频,如下 设备概览 包装盒 本体 试戴 实际效果 GalaxyExplorer试玩 全息图像贴到现实场景表面 优点 宣传视频中的核心特性均已具备,而且正如前几天发出的<HoloLens开发手记-硬件细节 Hardware Detail>一文内容,HoloLens硬件细节均一致. 硬件性能略有提升,比西雅图时试用的体验机流畅了很多 修复了频繁重启的bug,发热略有降低 场景匹配流畅,准确率高 更多细节仍…
HoloLens使用Universal Windows Platform (UWP)提供的应用模型.UWP应用模型定义了应用如何被安全和完全地安装.更新.版本控制和移除.它管理了应用生命周期 - 应用如何被执行.休眠和中断 - 以及如何保留应用状态.它也覆盖了和操作系统.文件以及其他应用的集成和交互. 应用生命周期 App lifecycle 全息应用的生命周期涉及到了标准应用的概念,例如放置.启动.中断和移除. 放置就是启动 Placement is launch 每一个应用都通过放置应用磁贴…
首先下载HoloLens模拟器 HoloLens模拟器运行在没有真机的情况下在你的PC上测试应用,属于HoloLens开发工具系列.模拟器使用了Hyper-V虚拟机.通常通过传感器获取的人体和环境输入通过键盘.鼠标或者Xbox手柄来模拟.应用不用修改即可运行在HoloLens模拟器上,它们也不知道它们没有在真实设备上运行. 部署应用到HoloLens模拟器上 Deploying apps to the HoloLens emulator 在Visual Studio 2015里载入应用解决方案…
开发HoloLens全息应用将使用UWP平台(Universal Windows Platform),所有的HoloLens应用都是Win10通用应用,所有UWP通用应用都可以在HoloLens上运行.通过Windows 10和Unity这样的中间工具,我们可以现在开始构建全息应用的体验. 全息开发基础 Basics of a holographic development 为了尽可能实现全息场景,Windows暴露了一系列全新的特性给开发者.对混合现实全息应用来说,涉及到6个基础构建领域. 世…
关于Vuforia,开发AR应用的人基本都会熟悉.之前我也写过一篇关于Vuforia开发的博客:Vuforia AR SDK入门 今天这篇博客则主要是谈谈HoloLens使用Vuforia开发混合现实内容. Vuforia为HoloLens带来了重要的能力 - 将AR体验应用到环境中的特定图像和物体. 您可以使用此功能在机械顶部叠加引导的逐步说明,或向物理产品添加数字功能.对于企业开发者 - 您可以使用VuMark做很多事情,从使用唯一标识标记工厂车间里的每台机器 - 到序列号. VuMarks…
Unity Technical Preview for HoloLens最新发行版为:Beta 24,发布于 09/07/2016 开始使用Unity开发HoloLens应用之前,确保你已经安装好了必要的工具,包括Unity HoloLens Technical Preview.Unity HoloLens Technical Preview是基于Unity 5.4 Beta版本来构建的,记得定期检查版本更新. 使用Unity是构建HoloLens全息应用最快的方式.推荐你花点时间来学习Unit…
对于HoloLens,语音输入是三大基本输入方式之一,广泛地运用在各种交互中.HoloLens上语音输入有三种形式,分别是: 语音命令 Voice Command 听写 Diction 语法识别 Grammar Recognition 语音命令 Voice Command 对于做过Windows Phone或许Windows Store应用开发的人来说,语音命令是经常使用到的特性.开发者可以通过为应用设定关键词,和对应的行为,来为用户提供语音命令体验.当用户说出关键词时,预设的动作就会被调用.在…
本文主要讨论如何在Unity项目中集成空间映射功能.Unity内置了对空间映射功能的支持,通过以下两种方式提供给开发者: HoloToolkit项目中你可以找到空间映射组件,这可以让你便捷快速地开始使用空间映射特性. Unity还提供更多底层的空间映射API,以便开发者能够完全控制空间映射特性,满足定制复杂的应用需求 为了在应用使用空间映射特性,你必须在应用权限清单中启用SpatialPerception能力. Setting the SpatialPerception capability 设…
本文主要提及一份问题清单,这些问题都可能对我们开发HoloLens应用造成困扰. Visual Studio 在使用VS 2015 Update 1连接HoloLens时,可能会有些小问题.但是这些小问题在Update 2里被修复了,推荐大家都使用Visual Studio 2015 Update 2. "DEP0001 : Unexpected Error: -2145615869" - 如果在调试完设备后重启它,再次调试的时候可能会看到这个错误.反正我经常碰到... 一旦碰到这个错…
Vuforia在6.1版本的Unity SDK里实现了对HoloLens的支持. 查看 Developing for Windows 10 in Unity 这篇文章来了解如何配置Unity和Visual Studio的Windows 10开发环境. 了解Unity中Vuforia HoloLens项目结构的最好方式就是通过学习官方提供的示例项目,点此下载Unity HoloLens sample. 示例项目是一个完整的HoloLens Unity项目,里面包含了Vuforia SDK和预先配置…
HoloLens可以让我们在真实世界中看到全息图像内容.但是它本质上还是一台Windows 10设备,这意味着HoloLens可以以2D应用形式运行Windows Store里的大部分UWP应用. 目标平台设为Windows.Universal Targeting Windows.Universal 微软过去几年平台一直在变革,所以开发者往往会有不同的起点,所以下面会给出一些指南,来帮助不同起点的开发者顺利的迁移代码带UWP平台上. 不同的起点 Starting Points 这几年大家接触的W…
微软前两天发布了HoloLens 2,给MR开发带来了新的希望,全面的性能和显示效果提升,让人期待. 去年推出的预览版的全新SpectatorView for iOS解决方案,这允许我们直接使用带ARKit的iOS设备实现HoloLens MR场景的共享,以及第三方观察视角,对于演示也是非常方便好用的.效果如下: 本篇文章主要介绍一下怎么将配置好的SpectatorView Unity项目部署到iPhone上. 配置Unity场景 打开已配置好的Unity3D场景,选中SpectatorView…
伴随着数月的期待,终于拿到了预订的HoloLens开发者版本套件.随着VR/AR/MR技术的热潮,国内外均对它们的应用与盈利前景持有积极的预期,这也直接导致了国内外当前投资VR/AR/MR技术的热潮.无论是融资数十亿美元的Magic Leap,还是Facebook.微软等科技巨头布局VR/AR市场,这股热潮不仅出现在风险投资领域,还席卷了消费者市场和智能硬件市场,这无疑引领了下一波互联网产业的爆发,而我们作为技术核心的开发者更不能落下.正如乔帮主所说:“Stay foolish,Stay Hun…
Windows设备控制台允许你通过Wi-Fi或USB来远程控制你的HoloLens设备.设备控制台是HoloLens上的一个Web Server,你可以通过PC的浏览器来连接到它.设备控制台包含了很多帮助你管理.调试和优化HoloLens设备的工具. 设置HoloLens以使用Windows设备控制台 Setting up HoloLens to use Windows Device Portal 打开HoloLens,并穿戴上 使用绽开手势打开开始菜单 选中设置应用,在你放置它以后会自动启动…
不论你是否使用DirectX或Unity来开发全息应用,你都会使用Visual Studio 2015来进行调试和部署应用.在本部分,你将会学习以下内容: 如何通过Visual Studio将你的应用部署到HoloLens上 Visual Studio 2015如何使用内置的HoloLens模拟器 如何去调试全息应用 先决条件 Prerequisites 安装好开发工具 对于2D应用,在Visual Studio 2015 Update 1及更高版本中创建一个UWP项目.或者开始使用Unity来…
随着Build 2016开发者大会的结束,HoloLens开发包也正式开放下载.Hololens没有独立的SDK,开发特性被集成到最新的Visual Studio Update 2中.如果你没有HoloLens真机,那么可以安装HoloLens模拟器. 安装清单 下载和安装 注意事项 Visual Studio 2015 Update 3 安装时确保勾选 Tools (1.4) and Windows 10 SDK (10.0.10586) HoloLens Emulator (build 10…
当HoloLens设备不能识别到自己在世界中的位置时,应用就会发生tracking loss.默认情况下,Unity会暂停Update更新循环并显示一张闪屏图片给用户.当设备重新能追踪到位置时,闪屏图片会消失,并且Update循环还会继续. 此外,用户也可以手动处理这个切换过程.发生tracking loss期间,如果不做任何处理动作,那么所有的场景中的全息内容将会处于body-locked状态. 默认处理方式 Default Handling 默认情况下,发生tracking loss期间应用…
测试HoloLens应用的做法和测试Windows应用很类似.所有常规的内容都应该被考虑在内(功能.互操作性.性能.安全性.可靠性等等),然而有些特性是HoloLens特有的,在PC或者手机上无法测试的.全息应用需要能够在一系列多样的环境中顺畅地运行,同时也需要时刻保持性能稳定和较好的用户舒适度.本文主要讨论这方面的内容. 性能 Performance 性能表现对于全息应用来讲至关重要,这直接影响到用户体验,我们会用大幅篇幅来讨论这个主题.更多内容请阅读: performance recomme…
Unity提供了大量的设置选项来满足全平台的配置,对于HoloLens,Unity可以通过切换一些特定的设置来启用HoloLens特定的行为. Holographic splash screen 闪屏 为了启用特定的闪屏,打开Edit > Project Settings... > Player菜单,Windows Store标签页下更改Splash Image > Show Unity Splash Screen 和 Windows Holographic > Holograph…
当你穿戴好HoloLens后,你就会处在全息应用世界的中心.当你的项目开启了"Virtual Reality Support"选项并选中了"Windows Holographic"后,Unity的摄像头组件会自动进行立体渲染,也会自动跟随你而移动或者旋转. 尽管如此,为了保证全息体验,以下选项需要你手动为所有摄像头设定: 混合现实渲染 Mixed Reality Rendering 摄像头定位 Positioning the Camera 视锥范围调整 Clip P…
凝视是HoloLens首要输入方式,形式功能类似于桌面系统的光标,用于选择操作全息对象.然而在Unity中并没有明确的Gaze API或者组件. 实现Gaze Implementing Gaze 概念上来说,Gaze是通过用户头部两眼之间发出一条向前方的射线来实现的,射线可以识别它所碰撞的物体.在Unity中,使用Main Camera来表示用户头部的位置和朝向.准确的说,是指 UnityEngine.Camera.main.transform.forward 和 UnityEngine.Cam…
手势识别是HoloLens交互的重要输入方法之一.HoloLens提供了底层API和高层API,可以满足不同的手势定制需求.底层API能够获取手的位置和速度信息,高层API则借助手势识别器来识别预设的手势(包括,单击.双击.长按.平移等等). 手势输入 Gesture Input 本部分为高级API使用,通过输入源来识别手势.每个手势对应一个SourceKind输入源,大部分手势事件都是系统预设的事件,有些事件会提供额外的上下文信息. 只需要很少的步骤就能使用GestureRecognizer集…
Persistence 场景保持是HoloLens全息体验的一个关键特性,当用户离开原场景中时,原场景中全息对象会保持在特定位置,当用户回到原场景时,能够准确还原原场景的全息内容.WorldAnchorStore类是实现此特性的关键API,这保证了用户能够将任何全息对象贴到任何他们想要放置的位置. How to persist holograms across sessions 如何在整个会话中保持全息对象 WorldAnchorStore能够允许你保持场景中空间锚的位置,为了能够真正保持全息对…
本文主要讲述如何在项目中使用空间声音特性.我们主要讲述必须的插件组件和Unity声音组件和属性的设置来确保空间声音的实现. Enabling Spatial Sound in Unity 在Unity中启用空间声音 我们需要在Unity中使用声音插件来实现空间声音.这个插件(audio spatalizer plugin)被打包到了Unity,所以只需要在设置菜单中 Edit > Audio > Spatializer 启用Microsoft HRTF拓展就好.因为微软空间声音组件目前取样频率…
佩戴HoloLens的多个用户可以使用场景共享特性来获取集合视野,并可以与固定在空间中某个位置的同一全息对象进行交互操作.这一切是通过空间锚共享(Anchor Sharing)来实现的. 为了使用共享服务,在AppxManifest文件中必须要启用SpatialPerception能力. Anchor Sharing 空间锚共享 在HoloLens扫描空间环境后,用户可以通过手动或者编程来选择建立一些空间锚.空间锚对象的信息的可以被序列化并传递给其他HoloLens设备,每一个设备都可以反序列化…
虽然HoloLens支持很多种输入方式,包括蓝牙键盘在内.但是大部分应用还是不能断定用户有物理键盘可以输入,所以虚拟键盘输入还是必须要提供的. Unity提供了一个TouchScreenKeyboard类用于在没有物理键盘时接受虚拟键盘的输入. HoloLens system keyboard behavior in Unity 在Unity中HoloLens系统键盘的做法 HoloLens上 TouchScreenKeyboard 使用的就是系统虚拟键盘.系统键盘不能出现在立体视图的顶部,所以…
坐标系 Coordinate systems 全息的核心是,全息应用可以在真实世界中放置全息图形并使得它们看起来和听起来像真实的物体.这涉及到了物体在真实世界中的定位和方向的确定,这对用户来说很重要.当推断全息图像或者其他任何几何体的位置和方向时,例如凝视射线或者手的方位,HoloLens使用多种坐标系来表示几何体. 空间坐标系 Spatial coordinate systems 所有的3D图形应用都采用笛卡尔空间坐标系来推断物体在他们渲染出的虚拟世界中的方位.这种坐标系使用3个互相垂直的轴来…
一直有人问我,第三方应用在HoloLens上可以实现3D启动图标吗?就像微软官方出的应用那样.在不久之前,这个问题的答案还是No. 但是随着最新的Windows build 1803版本的发布,现在我们可以创建3D启动图标了. 实现方法 要实现一个3D启动器很简单,三步走: 设计模型 优化和导出模型 集成到应用项目中 关于模型 对于MR应用,想要使用3D启动器,那么使用的模型格式必须为.glb,而且必须满足微软官方对模型面数和大小的要求.最简单获取glb模型的方式是使用Windows 10自带的…
语音是HoloLens三大重要输入形式之一.它允许你直接通过语言控制全息图像,而不用借助手势.你只要凝视全息图像然后说出语音命令即可.语音输入是自然的交互方式,它能够很好的改善复杂的交互,因为通过一条语音命令即可以减少很多复杂的UI菜单. HoloLens语音输入是由同UWP应用一样的语音识别引擎支持. 选中命令 The "select" command 即使没有特地为应用添加语音命令特性,用户还是能够通过说:“select”来简单地激活你的全息图像.这个行为和用手或点击器点击类似.你…