HoloLens开发手记 - Unity development overview 使用Unity开发概述
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一致的方式暴露给开发者使用:
- Camera 摄像头
- Gaze 凝视
- Gestures 手势
- Voice input 语音输入
- World anchor 空间锚
- Persistence 场景保持
- Spatial sound 空间声音
- Spatial mapping 空间映射
其他一些许多全息应用使用的特性也被暴露给Unity应用:
- Shared holographic experiences 场景共享
- Locatable camera 使用相机
- Focus point 焦点
- Tracking loss 追踪丢失
- Keyboard 键盘输入
Configuring a Unity project for HoloLens 配置Unity项目
对于HoloLens来讲,Unity只需要改动很少的项目配置即可,每个场景和每个项目都需要配置一遍。
Per Scene Settings 配置场景
Unity场景使用摄像头组件来处理头部追踪和实时渲染。我们不必自定义摄像头组件,只需要对系统组件配置一下即可。对于HoloLens来说,只需要做很少改动:
- 选中主摄像机 Main Camera
- 打开检视面板,将transform位置设为 0,0,0.这样用户头部就会从世界原点开始
- 将Clear Flags值改为 Solid Color
- 将Background color 改为RGBA 0,0,0,0
- 将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应用。
- 选中File > Build Settings...
- 从平台列表中选择 Windows Store
- 将SDK 设为 Universal 10
- 将Build Type 设为 D3D
因为对HoloLens来讲,高帧率很重要,所以我们要将项目画面质量设为fastest。
- 选中 Edit > Project Settings > Quality
- 在Windows Store图标下拉框下选中Fastest
最后,我们需要让Unity知道我们的应用是HoloLens全息应用而不是2D应用,所以需要把HoloLens加入到VR设备列表中。
- 打开Player Settings
- 选中 Settings for Windows Store 标签页
- 展开Other Settings
- 在Rendering部分,勾选Virtual Reality Supported单选框,并确认 Windows Holographic在Virtual Reality Devices列表中
Unity documents 参考文档
除了Windows开发者中心提供的文档以外,Unity也提供了针对Windows Holographic和HoloLens的安装文档。Unity提供的文档主要包括两部分:
- Unity 脚本参考
- 这部分文档包含了Unity提供的API的细节
- 可以从Unity编辑器Help > Scripting Reference菜单访问
- Unity手册
- 手册被设计来帮助我们学习如何使用Unity,从简单到高级技巧都有
- 可以从Unity编辑器Help > Manual菜单访问
HoloLens开发手记 - Unity development overview 使用Unity开发概述的更多相关文章
- Bug驱动开发(Bug-driven development)
说实话,作为一个Domino开发者,像測试驱动开发(Test-driven development).功能驱动开发(Feature-driven development)之类软件开发的高大上的方法论( ...
- HoloLens开发手记 - Vuforia开发概述 Vuforia development overview
关于Vuforia,开发AR应用的人基本都会熟悉.之前我也写过一篇关于Vuforia开发的博客:Vuforia AR SDK入门 今天这篇博客则主要是谈谈HoloLens使用Vuforia开发混合现实 ...
- 转:Oculus Unity Development Guide开发指南(2015-7-21更新)
http://forum.exceedu.com/forum/forum.php?mod=viewthread&tid=34175 Oculus Unity Development Guide ...
- HoloLens开发手记 - 使用Visual Studio Using Visual Studio
不论你是否使用DirectX或Unity来开发全息应用,你都会使用Visual Studio 2015来进行调试和部署应用.在本部分,你将会学习以下内容: 如何通过Visual Studio将你的应用 ...
- 记录一个Unity播放器插件的开发
背景 公司最近在做VR直播平台,VR开发我们用到了Unity,而在Unity中播放视频就需要一款视频插件,我们调研了几个视频插件,记录两个,如下: Unity视频插件调研 网上搜了搜,最流行的有以下两 ...
- Unity MMORPG游戏开发教程(一)——初识Unity
五邑隐侠,本名关健昌,10年游戏生涯,现隐居五邑.本系列文章以C#为介绍语言,基于Unity2017.4.x. 一.环境搭建 我使用的是Unity+VSCode,用的是mac系统,windows的自己 ...
- HoloLens开发手记 - HoloLens真机上手简评
千呼万唤始出来,终于今天拿到了HoloLens真机. 使用体验 使用自带的应用录制了一段使用视频,如下 设备概览 包装盒 本体 试戴 实际效果 GalaxyExplorer试玩 全息图像贴到现实场景表 ...
- C#开发Unity游戏教程之Unity中方法的参数
C#开发Unity游戏教程之Unity中方法的参数 Unity的方法的参数 出现在脚本中的方法,无论是在定义的时候,还是使用的时候,后面都跟着一对括号“( )”,有意义吗?看起来最多也就是起个快速识别 ...
- Unity官网针对IOS开发有比较好的建议
Unity官网针对IOS开发有比较好的建议,我总结了翻译如下,后面附上原文. 尽量控制定点数量(注意所谓顶点不是建模时的顶点,而是引擎渲染时的顶点.例如,模型一个顶点如果设置了2个法向,那么对引擎来说 ...
随机推荐
- 从MVC框架看MVC架构的设计
尽管MVC早已不是什么新鲜话题了,但是从近些年一些优秀MVC框架的设计上,我们还是会发现MVC在架构设计上的一些新亮点.本文将对传统MVC架构中的一些弊病进行解读,了解一些优秀MVC框架是如何化解这些 ...
- 【mysql】关于硬件方面的一些优化
一.CPU最大性能模式 cpu利用特点 5.1 最高可用4个核 5.5 最高可用24核 5.6 最高可用64核心 一次query对应一个逻辑CPU 你仔细检查的话,有些服务器上会有的一个有趣的现象:你 ...
- 树莓派2 安装 win10Iot 和 Ubuntu mate
注册博客账号已经2年多了.一直没写博文现在抽空写写. 写这篇博文是因为我之前在网上找了蛮多有关教程写的都不是很清晰.安装没成功.所以我写一下我根据网上找到的整理一下分享出来. 非专业只是业余玩玩.好了 ...
- actionlib的身世之谜
不知道为什么会把这么严肃认真的一篇技术整理贴起这么一个故事会风格类似的名字,就这样吧:^)shenmegui 园子里有人整理了actionlib的初学者教程,我来整理下actionlib的细节描述吧. ...
- 通过三张图了解Redux中的重要概念
上周利用业余的时间看了看Redux,刚开始有点不适应,一下在有了Action.Reducer.Store和Middleware这么多新的概念. 经过一些了解之后,发现Redux的单向数据里的模式还是比 ...
- 大话设计模式C++版——建造者模式
日常做菜的过程中,经常会有忘记放盐或者放2次盐的经历,最后导致好好的一盘菜让大家无从下口.这个时候就需要用到建造者模式来规范炒菜的过程,来保证每一道菜都会经历加油.放食物.放盐.放味精这4道基本的工序 ...
- [转]ASP.NET MVC IOC 之AutoFac攻略
本文转自:http://www.cnblogs.com/WeiGe/p/3871451.html 一.为什么使用AutoFac? 之前介绍了Unity和Ninject两个IOC容器,但是发现园子里用A ...
- 最短路问题Dijkstra算法
Dijkstra算法可以解决源点到任意点的最短距离并输出最短路径 准备: 建立一个距离数组d[ n ],记录每个点到源点的距离是多少 建立一个访问数组v[ n ],记录每个点是否被访问到 建立一个祖先 ...
- Effective Java 读书笔记
创建和销毁对象 >考虑用静态工厂方法替代构造器. 优点: ●优势在于有名称. ●不必再每次调用他们的时候都创建一个新的对象. ●可以返回原返回类型的任何子类型的对象. ●在创建参数化类型实例的时 ...
- [No00002E]关于大数据,你不知道的6个迷思
还是那个观点:计算机,编程语言,互联网,大数据等等都只是工具! 导语:看过美剧<纸牌屋>没?知道这部"白宫甄嬛传"为什么会火吗?靠的是大!数!据! 过去两年,在 Net ...