(二)Hololens Unity 开发入门 之 Hello HoloLens~
学习源于官方文档 微软官文~
笔记一部分是直接翻译官方文档,部分各人理解不一致的和一些比较浅显的保留英文原文
(二)Hololens Unity 开发入门 之 Hello HoloLens~
本文主要记录 HoloLens Unity 开发入门 ~
一、说在前面的话
Unity 对 VR AR 甚至 将来的 MR 来说,的确是一个相当不错的开发引擎 ~ (这里就不辩论UE4了~) 经过过去一年的Unity和移动设备的混合开发,总结出了下面的一些结论
1、便捷开发者对3D的处理
深有感触呀~从最开始接触公司的项目开始的时候,那会用的是Vuforia iOS原生的SDK做的开发,一句一句没有逻辑的 OpenGL 命令行,瞬间让刚刚接触OpenGL的开发者懵逼 ~ Unity作为一个3D引擎,通过底层连接移动端 (OpenGL)或者 HoloLens (D3D)的 图形处理API,向开发者暴露 高度封装的 API,便捷了开发者对图形的处理~
2、多平台功能性API规范统一
刚刚过去的2016年据说是VR元年,这一年中 ~ 除开国产硬件厂商,著名的海外VR硬件产商也比较多, 大量的硬件产商可能对于消费者来说 是 一件好事,多了选择的空间 ~ 可是对于开发者来说 是 一场噩梦呀 ~ 老板的需求永远是希望一套代码任何硬件都能跑,恩~ 这时候Unity在中间起到一层缓冲的作用。。同一个UnityEngine的方法,同一套代码 可以 在不同的设备在跑,当然不能百分之百的说 Unity 能很好的兼容各种设备,但是能起到对开发复杂程度 一定 的缓冲作用。(个人感觉UnityEngine的API还不够规范,希望Unity也继续努力吧~)
3、开发者数量
额 ~ 这个话题官方数据 说 2014年开发者数量 就已经达到全球 330万人~ 额,不过从过去Unity在手游领域来看,数量应该也算是不少了 ~ 就连HoloLens有自己D3D引擎也推荐Unity来开发(至于官文推荐Unity也有可能是微软和Unity的一些合作关系吧~) 相对于如果各种AR设备平台的开发者来说,Unity在应用厂商人才招聘上绝对是一大优势~
总结
其实很容易看出 ~ 上面说到的Unity的所优点都是相对于应用产商来说,大大的节省了开发成本 ,分为人力成本和技术成本~ 作为硬件厂商的微软 为 广大的应用产商提供了便捷的开发方式,而应用产商开发出大量的基于HoloLens的产品,这时候实现了双赢 ~ 授人玫瑰,手留余香。。。
NOTE:对于HoloLens 来说,仅仅只用Unity开发HoloLens并不能很好的开发产品。
首先,Unity对于3D图像的处理时相当不错的选择~不过Unity对于界面开发的便捷性无力吐槽~
其次,Unity开发HoloLens是用高度封装好的API,至于实现一些复杂的需求,可能还会涉及核心层面的一些接口的调用
最后,Windows 有这么好的GUI API 为啥不用~!?
二、HoloToolkit-Unity 集成
使用Unity开发HoloLens的原理和Unity开发移动端游戏一样~ Unity调用了硬件设备提供的API实现一系列功能 ~
1、下载
HoloToolkit-Unity GitHub下载地址 ~ 点我
首先把它download 吧~ 使用Unity打开,能看到分为两个文件夹,一个是HoloToolKit (这个就是我们需要的开发工具了),还有一个是 HoloToolkit-Examples 里面都是一些实例~ 可以参考参考 一些 HoloToolKit 方法的调用 ~
2、压包
选中HoloToolKit 右键 Export Package,再勾选第一个HoloToolKit,,点击Export到处一个Packgage
3、集成HoloToolKit
新建一个Unity工程 ~ 导入刚刚导处的package 就 OK了~
三、Camera 配置
1. 设置 Camera 的 Tag 为 MainCamera
2. 设置 Camera 的 position 为 0,0,0
3. 设置 Camera 的 Clear Flags 为 Solid Color
4. 设置 Camera 的 Background RGBA 为 0,0,0,0
5. 设置 Camera Clipping Planes 的 Near 值 为 0.3到0.85之间的一个值~
相机需要改变的配置就是以上这些了~ 查阅官文可得~
四、Unity工程的配置
1. 选择 File > Build Settings... 更改为 Windows Store 平台
2. 设置 SDK 为Universal 10
3. 设置 Target device 为 HoloLens
4. 设置 UWP Build Type 为 D3D
5. 勾选Debugging 里面的 Unity C# Projects ~ 这样才能导出VS工程 ~
6. 接着点击Player Settings...选择Windows Store 平台,在Other Settings 找到Virtual Reality Supported 并且勾选上 ,点击加号 添加Virtual Reality Devices设备 Windows Holographic ~
7. 选择 Edit > Project Settings > Quality ,点击向下 的 按钮 ~ 选择 Fastest , 最快的~
以上所有的配置完成~ 在场景里面随便丢一个Cube吧~ 导出,,看看效果 ~
五、Hello HoloLens ~
(二)Hololens Unity 开发入门 之 Hello HoloLens~的更多相关文章
- (二)Hololens Unity 开发之 语音识别
学习源于官方文档 Voice input in Unity 笔记一部分是直接翻译官方文档,部分各人理解不一致的和一些比较浅显的保留英文原文 (二)Hololens Unity 开发之 语音识别 Hol ...
- (四)Hololens Unity 开发之 凝视系统
学习源于官方文档 Gaze in Unity 笔记一部分是直接翻译官方文档,部分各人理解不一致的和一些比较浅显的保留英文原文 HoloLens 有三大输入系统,凝视点.手势和声音 ~ 本文主要记录凝视 ...
- (五)Hololens Unity 开发之 手势识别
学习源于官方文档 Gestures in Unity 笔记一部分是直接翻译官方文档,部分各人理解不一致的和一些比较浅显的保留英文原文 (五)Hololens Unity 开发之 手势识别 HoloLe ...
- (三)Hololens Unity 开发之 语音识别
学习源于官方文档 Voice input in Unity 笔记一部分是直接翻译官方文档,部分各人理解不一致的和一些比较浅显的保留英文原文 (三)Hololens Unity 开发之 语音识别 Hol ...
- (一)Hololens Unity 开发环境搭建(Mac BOOTCAMP WIN10)
(一)Hololens Unity 开发环境搭建(Mac BOOTCAMP WIN10) 系统要求 64位 Windows 10 除了家庭版的 都支持 ~ 64位CPU CPU至少是四核心以上~ 至少 ...
- javaweb学习总结二十一(servlet开发入门、servlet生命周期以及调用过程)
一:servlet开发入门 servlet是sun公司一门开发动态web资源的技术,下面编写一个servlet入门程序: 1:在tomcat服务器webapps目录下新建firstServlet目录, ...
- Unity3d Hololens MR开发入门
一.Hololens概述 Hololens有以下特性 1.空间映射借助微软特殊定制的全息处理单元(HPU),HoloLens 实现了对周边环境的快速扫描和空间匹配.这保证了 HoloLens能够准确地 ...
- 【Bluetooth|蓝牙开发】二、蓝牙开发入门
个人主页:董哥聊技术 我是董哥,嵌入式领域新星创作者 创作理念:专注分享高质量嵌入式文章,让大家读有所得! [所有文章汇总] 1.蓝牙基础概念 蓝牙,是一种利用低功率无线电,支持设备短距离通信的无线电 ...
- HoloLens开发手记 - Unity development overview 使用Unity开发概述
Unity Technical Preview for HoloLens最新发行版为:Beta 24,发布于 09/07/2016 开始使用Unity开发HoloLens应用之前,确保你已经安装好了必 ...
随机推荐
- CodeForces 614D Skills
排序+枚举+二分 最大的那些变成A,小的那部分提高最小值 #include<cstdio> #include<cstring> #include<cmath> #i ...
- 轻量级别的Cache和反向代理软件---Varnish
1.Varnish描述 1.1 Varnish的结构与特点 Varnish是一个轻量级别的Cache和反向代理软件,先进的设计理念和成熟的设计框架是Varnish的主要特点: 基于内存进行缓存,重启后 ...
- (中等) CF 576D Flights for Regular Customers (#319 Div1 D题),矩阵快速幂。
In the country there are exactly n cities numbered with positive integers from 1 to n. In each city ...
- UWSGI配置文件---ini和xml示例
一 conf.ini文件: [uwsgi] http = $(HOSTNAME):9033 http-keepalive = 1 pythonpath = ../ module = service ...
- 用eclipse还是myeclipse好
工欲善其事,必先利其器.工具,只是一个达成目的的手段,如果你的目的是更关心业务逻辑和开发效率,使用myeclipse.如果你的目的是对eclipse的插件的安装,使用更加了解,业余可以研究一下ecli ...
- php中var_dump() 打印出一个对象的时候,信息怎么看?
php 的一个依赖注入容器, 说白了,就是用php 的反射类,来在运行的时候动态的分析类具有的函数,以及动态分析函数的参数, 从而实例化类,并执行类的方法. 另外,php 中的 typehint 还是 ...
- ubuntu 开启 ftp 服务 | mingming-killer
body { font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI ...
- Android之ListView的快速滑动模式:fastScrollEnabled以及滑块的自定义
http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2014/0917/1690.html http://blog.csdn.net/xyang ...
- 将UTF8编码转化为中文 - NSString方法
方法一: 代码如下,如有更好的方法 麻烦贴出来,这个方法是通过webview进行解码的 UIWebView *web = [[UIWebView alloc] init]; NSString *tsw ...
- Mybatis 模糊查询 中文问题
IDE编码:GBK ,换成UTF-8也不行! @Testpublic void testSearchStudents() {logger.info("查询学生(带条件)");Map ...