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全息应用最快的方式。推荐你花点时间来学习Unity入门教程,如果缺少资源素材,可以到Unity Asset Store获取。一旦你对Unity引擎有了基础的认知后,请访问 Holographic Academy 学习如何开发HoloLens应用。记得去Unity官方论坛获取最新的知识和解决方案。

Adding holographic capabilities and inputs 为应用添加全息能力和输入方式


标准的Unity对象组件可以直接使用,例如摄像机,摄像机的位置会随着人在世界中移动而自动更新。

可以通过Unity内置的API来为应用添加Windows Holographic支持的特性,比如手势识别和语音输入。

用于全息应用的核心特性以和其他Unity API一致的方式暴露给开发者使用:

其他一些许多全息应用使用的特性也被暴露给Unity应用:

Configuring a Unity project for HoloLens 配置Unity项目


对于HoloLens来讲,Unity只需要改动很少的项目配置即可,每个场景和每个项目都需要配置一遍。

Per Scene Settings 配置场景

Unity场景使用摄像头组件来处理头部追踪和实时渲染。我们不必自定义摄像头组件,只需要对系统组件配置一下即可。对于HoloLens来说,只需要做很少改动:

  1. 选中主摄像机 Main Camera
    1. 打开检视面板,将transform位置设为 0,0,0.这样用户头部就会从世界原点开始
    2. Clear Flags值改为 Solid Color
    3. Background color 改为RGBA 0,0,0,0
    4. Clipping Planes - Near值改为推荐值 0.85

如果你删除了主摄像机并新建了一个,请确保你的摄像机被标记为MainCamera

Per Project Settings 配置项目

对于需要使用HoloLens特定功能的应用,需要在项目清单里启用对应的能力。Unity里也可以启动应用能力,可以在Player Settings > Windows Store > Publishing Settings > Capabilities下设置。全息应用常用的API对应能力如下:

Capability API's requiring capability
WebCam PhotoCapture,VideoCapture
SpatialPerception SurfaceObserver, SpatialAnchor
Microphone VideoCapture, DictationRecognizer, GrammarRecognizer, and KeywordRecognizer
picturesLibrary / videosLibrary / musicLibrary PhotoCapture , VideoCapture

此外还需要指定Unity项目导出平台为 Universal Windows Platform应用。

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

因为对HoloLens来讲,高帧率很重要,所以我们要将项目画面质量设为fastest。

  1. 选中 Edit > Project Settings > Quality
  2. Windows Store图标下拉框下选中Fastest

最后,我们需要让Unity知道我们的应用是HoloLens全息应用而不是2D应用,所以需要把HoloLens加入到VR设备列表中。

  1. 打开Player Settings
  2. 选中  Settings for Windows Store 标签页
  3. 展开Other Settings
  4. Rendering部分,勾选Virtual Reality Supported单选框,并确认 Windows HolographicVirtual Reality Devices列表中

Unity documents 参考文档


除了Windows开发者中心提供的文档以外,Unity也提供了针对Windows Holographic和HoloLens的安装文档。Unity提供的文档主要包括两部分:

  1. Unity 脚本参考

    • 这部分文档包含了Unity提供的API的细节
    • 可以从Unity编辑器Help > Scripting Reference菜单访问
  2. Unity手册
    • 手册被设计来帮助我们学习如何使用Unity,从简单到高级技巧都有
    • 可以从Unity编辑器Help > Manual菜单访问

HoloLens开发手记 - Unity development overview 使用Unity开发概述的更多相关文章

  1. Bug驱动开发(Bug-driven development)

    说实话,作为一个Domino开发者,像測试驱动开发(Test-driven development).功能驱动开发(Feature-driven development)之类软件开发的高大上的方法论( ...

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

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

  3. 转:Oculus Unity Development Guide开发指南(2015-7-21更新)

    http://forum.exceedu.com/forum/forum.php?mod=viewthread&tid=34175 Oculus Unity Development Guide ...

  4. HoloLens开发手记 - 使用Visual Studio Using Visual Studio

    不论你是否使用DirectX或Unity来开发全息应用,你都会使用Visual Studio 2015来进行调试和部署应用.在本部分,你将会学习以下内容: 如何通过Visual Studio将你的应用 ...

  5. 记录一个Unity播放器插件的开发

    背景 公司最近在做VR直播平台,VR开发我们用到了Unity,而在Unity中播放视频就需要一款视频插件,我们调研了几个视频插件,记录两个,如下: Unity视频插件调研 网上搜了搜,最流行的有以下两 ...

  6. Unity MMORPG游戏开发教程(一)——初识Unity

    五邑隐侠,本名关健昌,10年游戏生涯,现隐居五邑.本系列文章以C#为介绍语言,基于Unity2017.4.x. 一.环境搭建 我使用的是Unity+VSCode,用的是mac系统,windows的自己 ...

  7. HoloLens开发手记 - HoloLens真机上手简评

    千呼万唤始出来,终于今天拿到了HoloLens真机. 使用体验 使用自带的应用录制了一段使用视频,如下 设备概览 包装盒 本体 试戴 实际效果 GalaxyExplorer试玩 全息图像贴到现实场景表 ...

  8. C#开发Unity游戏教程之Unity中方法的参数

    C#开发Unity游戏教程之Unity中方法的参数 Unity的方法的参数 出现在脚本中的方法,无论是在定义的时候,还是使用的时候,后面都跟着一对括号“( )”,有意义吗?看起来最多也就是起个快速识别 ...

  9. Unity官网针对IOS开发有比较好的建议

    Unity官网针对IOS开发有比较好的建议,我总结了翻译如下,后面附上原文. 尽量控制定点数量(注意所谓顶点不是建模时的顶点,而是引擎渲染时的顶点.例如,模型一个顶点如果设置了2个法向,那么对引擎来说 ...

随机推荐

  1. SQLServer和Oracle创建视图用户

    在数据集成的开发中,经常会需要给对方创建视图,让其可以查看一些必要的数据.既在数据库中创建用户,并赋给该用户查询视图的权限 一.SQLServer --创建登录用户账户USE [master] GO ...

  2. php5.3新特性 之 mysql native driver(mysqlnd)

    概述 本文主要写给sa看的.码农就不用看了. mysql native driver(mysqlnd) 自从php5.3.0开始成为官方源代码的一部分, 用来取代传统的mysql client lib ...

  3. Java对象的序列化

    1.概念 序列化:把Java对象转换为字节序列的过程. 反序列化:把字节序列恢复为Java对象的过程. 2.用途 对象的序列化主要有两种用途: 1) 把对象的字节序列永久地保存到硬盘上,通常存放在一个 ...

  4. 深入理解JavaScript系列(1):编写高质量JavaScript代码的基本要点

    深入理解JavaScript系列(1):编写高质量JavaScript代码的基本要点 2011-12-28 23:00 by 汤姆大叔, 139489 阅读, 119 评论, 收藏, 编辑 才华横溢的 ...

  5. Makefile隐含规则

    两个隐含规则; 将所有的name.o的依赖自动推导为name.c并使用规则$(CC) -c $(FLAGS) $(CPPFLAGS)得到目标.这个规则中只有-c是隐含规则中有的,后面两个变量是留给用户 ...

  6. linux下怎么查看ssh的用户登录日志

    linux下登录日志在下面的目录里: cd /var/log 查看ssh用户的登录日志: less secure linux日志管理: 1. 日志简介 日志对于安全来说,非常重要,他记录了系统每天发生 ...

  7. Linux rpmbuild命令

    一.简介 rpmbuild命令用于创建软件的二进制包和源代码包. 二.选项 参考:http://blog.sina.com.cn/s/blog_4ba5b45e0102e5r2.html http:/ ...

  8. NOIP2004合并果子

    题目描述 在一个果园里,多多已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆.多多决定把所有的果子合成一堆. 每一次合并,多多可以把两堆果子合并到一起,消耗的体力等于两堆果子的重量之和.可 ...

  9. 接入Google Play SDK

    更新 好消息:Unity5.3添加了google play.Mac .AppStore.windows store的IPA接口,我们做内购日后方便多啦!关于国内渠道的接入,推荐通用SDK平台,比如an ...

  10. C#类型转换运算符之 explicit implicit

    类型转换运算符 explicit和implicit用于声明用户定义的类型转换运算符,如果可以确保转换过程不会造成数据丢失,则可使用这两个关键字在用户定义的类型和其他类型之间进行转换. explicit ...