本文翻译自:Unity development overview

要开始使用Unity创建全息应用,点此安装包含Unity HoloLens技术预览的开发工具。Unity HoloLens技术预览基于Unity 5.4 Beta,请定期保持更新。

构建全息应用最快捷的途径就是使用Unity。我们推荐您花费一些时间查阅 Unity 教程。如果你需要资源,Unity内置了内容丰富的Asset Store。一旦建立了对Unity最基础的认识,你就可以浏览Holographic Academy 以学习使用Unity开发全息应用的细节。希望你能够浏览Unity HoloLens forums 以参与使用Unity创建全息应用的社区活动中,并能够在其中找寻你在开发中遇到的问题。

本文内容

  • 1 添加全息特性和输入
  • 2 为HoloLens配置Unity项目
    • 2.1 每个场景(Scene)的设置
    • 2.2 每个项目(Project)的设置
  • 3 Unity 开发文档
  • 4 了解更多

添加全息特性和输入

标准Unity game objects(比如相机camera)对全息应用仍然适用,当用户的头部在空间中移动时,相机(camera)的位置将会自动更新。

Windows全息特性如手势和语音输入,已经内置进Unity中,开发者可以使用API调用这些特性。

以下列出了构建全息应用的核心模块,它们就像其他Unity API一样:

  • 相机
  • 凝视
  • 手势
  • 语音输入
  • 空间锚
  • 存留(Persistence)
  • 空间音响(Spatial sound)
  • 空间映射(Spatial mapping)

以下是众多全息应用需要的其他关键特性,它们也被暴露给Unity应用:

  • 共享全息体验
  • 定位相机
  • 焦点
  • 追踪损失
  • 键盘

为HoloLens配置Unity项目

有部分Unity设置需要为HoloLens改变,这些设置被分为两类:每个场景(per-scene)和每个项目(per-project)

每个场景设置(Per Scene Settings)

Settings for a holographic camera

为全息相机的设置

Unity相机部件(The Unity Camera component)处理头部跟踪和立体渲染。我们不需要为了达到这个目的而使用一个特定相机代替它。为了Unity相机部件能够作为一个全息相机工作,将有部分设置需要改变。

  1. 在 Hierarchy中, 选择 Main Camera
    1. 在 Inspector 面板中, 设置Transform中的 position 为 0, 0, 0 ,这样使用者的头部位置就在Unity的世界原点(Unity world origin)。
    2. 设置 Clear Flags 为 Solid Color.
    3. 设置 Background 的颜色为 RGBA 0,0,0,0。在HoloLens中,黑色被渲染为透明。
    4. 设置 Clipping Planes - Near 为 HoloLens推荐的 0.85 (米)。

如果你希望删除或者创建一个新相机(camera),确保你的相机被标记MainCamera。

关于全息渲染的更多细节,请参阅渲染

每个项目设置(Per Project Settings)

为了发挥应用在HoloLens平台上的特性,我们需要在它的清单(manifest)中声明一些功能(capabilities)。在Unity中的清单声明,将使他们包括在以后的每一次项目导出中。你可以在Player Settings > Windows Store > Publishing Settings > Capabilities找到这些设置。以下是开启全息应用常用API的功能列表:

功能

API要求功能

网络摄像机

图像和视频捕获

空间感知

表面观测和空间锚

麦克风

视频捕获,语音命令识别,语法识别和关键字识别

图片库/视频库/音乐库

图像和视频捕获 (分别为静态图片,视频,音频)

我们还需要指定Unity项目作为通用应用(Universal Windows Platform app)输出。.

  1. 选择 File > Build Settings...
  2. 在平台列表中选择 Windows Store
  3. 设置 SDK 为 Universal 10
  4. 设置 Build Type 为 D3D.

由于在HoloLens上保持高帧速是很重要的,所以我们将输出质量(Unity QualitySettings)设置为Fastest。

  1. 选择 Edit > Project Settings > Quality
  2. Windows Store 标志下点击 下拉按钮 并选择Fastest. 当你看到Windows Store所在列和Fastest所在行变绿,就代表你设置正确了。

Unity QualitySettings

最后,我们需要让Unity知道,将要输出的应用是全息视图而非2D视图。我们必须添加HoloLens作为虚拟设备。

  1. 在 Build Settings... 窗口, 打开 Player Settings...
  2. 选择 Settings for Windows Store 选项卡。
  3. 展开 Other Settings
  4. 在 Rendering 部分, 选中 Virtual Reality Supported 复选框,添加一个 Virtual Reality Devices 列表,并确保 "Windows Holographic" 作为一个支持的设备列于其中。

Unity文档

除了在Windows Dev Center中的这些文档可供参考,Unity也随Unity编辑器安装了Windows全息和HoloLens功能的相关文档。Unity提供的文档包括以下两部分:

  1. Unity 脚本参考
  • 这部分文档包含了Unity提供的API相关细节。
  • 我们可以通过 Help > Scripting Reference查看它们

  2. Unity 手册

  • 该手册是为了帮助你由浅入深地学习Unity.
  • 我们可以通过 Help > Manual查看它们

了解更多

Unity开发概览(HoloLens开发系列)的更多相关文章

  1. Unity推荐设置(HoloLens开发系列)

    本文翻译自:Recommended settings for Unity Unity提供了一系列默认选项,这些选项能够适用于所有平台的一般情况.但是,Unity同样为HoloLens提供了一些特殊行为 ...

  2. HoloLens开发手记 - Unity development overview 使用Unity开发概述

    Unity Technical Preview for HoloLens最新发行版为:Beta 24,发布于 09/07/2016 开始使用Unity开发HoloLens应用之前,确保你已经安装好了必 ...

  3. Hololens开发笔记之使用Unity开发一个简单的应用

    一.Hololens概述 Hololens有以下特性 1.空间映射借助微软特殊定制的全息处理单元(HPU),HoloLens 实现了对周边环境的快速扫描和空间匹配.这保证了 HoloLens能够准确地 ...

  4. Office 365 开发概览系列文章和教程

    Office 365 开发概览系列文章和教程 原文于2017年2月26日首发于LinkedIn,请参考链接 引子 之前我在Office 365技术社群(O萌)中跟大家提到,3月初适逢Visual St ...

  5. Unity User Group 北京站:《Unity5.6新功能介绍以及HoloLens开发》

    ​时间一转眼从春天来到了初夏,Unity User Group(以下简称UUG)活动也迎来了第七期.我们面向Unity3D开发从业者以及未来想从事Unity3D开发的学生群体的UUG活动这次仍然在海淀 ...

  6. iOS开发系列--IOS程序开发概览

    概览 终于到了真正接触IOS应用程序的时刻了,之前我们花了很多时间去讨论C语言.ObjC等知识,对于很多朋友而言开发IOS第一天就想直接看到成果,看到可以运行的IOS程序.但是这里我想强调一下,前面的 ...

  7. HoloLens开发手记 - 应用程序模型 App model

    HoloLens使用Universal Windows Platform (UWP)提供的应用模型.UWP应用模型定义了应用如何被安全和完全地安装.更新.版本控制和移除.它管理了应用生命周期 - 应用 ...

  8. HoloLens开发手记 - 使用HoloLens模拟器 Using HoloLens emulator

    首先下载HoloLens模拟器 HoloLens模拟器运行在没有真机的情况下在你的PC上测试应用,属于HoloLens开发工具系列.模拟器使用了Hyper-V虚拟机.通常通过传感器获取的人体和环境输入 ...

  9. HoloLens开发手记 - Vuforia开发概述 Vuforia development overview

    关于Vuforia,开发AR应用的人基本都会熟悉.之前我也写过一篇关于Vuforia开发的博客:Vuforia AR SDK入门 今天这篇博客则主要是谈谈HoloLens使用Vuforia开发混合现实 ...

随机推荐

  1. 轮询方法FileSystemWatcher

    具体实现 FileSystemWatcher watcher = new FileSystemWatcher(WriteBackDir, "*result.txt"); watch ...

  2. NYOJ 36 最长公共子序列 (还是dp)

    这个好多算法书上都有,不仅限于<算法导论> 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描写叙述 咱们就不拐弯抹角了,如题.须要你做的就是写一个程序,得出最长公 ...

  3. uva 116 Unidirectional TSP【号码塔+打印路径】

    主题: uva 116 Unidirectional TSP 意甲冠军:给定一个矩阵,当前格儿童值三个方向回格最小值和当前的和,就第一列的最小值并打印路径(同样则去字典序最小的). 分析:刚開始想错了 ...

  4. Android 开发者工具

    30多个Android 开发者工具 文中部分工具是收费的,但是绝大多数都是免费的. FlowUp 这是一个帮助你跟踪app整体性能的工具,深入分析关键的性能数据如FPS, 内存, CPU, 磁盘, 等 ...

  5. eclipse上springCloud分布式微服务搭建-干货

    一.创建maven父工程(pom) pom.xml如下: eureka: client: registerWithEureka:false fetchRegistry:false serviceUrl ...

  6. 【LCA最近公共祖先】在线离线

    [在线] 1.倍增法 现将深度较大的跳至与深度较小的统一深度.预处理$fa[u][i]$表示$u$往上跳$2^i$个单位后的祖先,则就可以像快速幂一样,将移动的步数化为二进制,如果第$i$位为$1$, ...

  7. YII2.0多条件查询升级版

    $query = self::find()->andFilterWhere(['v_type' => $v_type])->andFilterWhere(['like', 'a_na ...

  8. 理解 UWP 视图的概念,让 UWP 应用显示多个窗口(多视图)

    原文 理解 UWP 视图的概念,让 UWP 应用显示多个窗口(多视图) UWP 应用多是一个窗口完成所有业务的,事实上我也推荐使用这种单一窗口的方式.不过,总有一些特别的情况下我们需要用到不止一个窗口 ...

  9. WPF中,怎样将XAML代码加载为相应的对象?

    原文:WPF中,怎样将XAML代码加载为相应的对象? 在前面"在WPF中,如何得到任何Object对象的XAML代码?"一文中,我介绍了使用System.Windows.Marku ...

  10. duilib拖动控制功能的实现(源代码)

    转载请注明原始出处.谢谢~~:http://blog.csdn.net/zhuhongshu/article/details/41144283 duilib库中原本没有显示的对控件添加拖拽的功能.而实 ...