(二)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应用之前,确保你已经安装好了必 ...
随机推荐
- PAT (Advanced Level) 1009. Product of Polynomials (25)
简单模拟. #include<iostream> #include<cstring> #include<cmath> #include<algorithm&g ...
- php 读取二进制文件
$file_pointer = fopen($file, "r"); $file_read = fread($file_pointer, filesize($file)); //$ ...
- E/WindowState(643): getStack: Window{33f867f8 u0 Starting com.xxxxxx.ooooo}
Stack Overflow is a question and answer site for professional and enthusiast programmers. It's 100% ...
- php中使用mysql_fetch_object向页面输出结果,总结!
public function selectResultByThird() { if ((!empty ($_REQUEST["bigname"])) && (!e ...
- HDU 5652 India and China Origins
二分答案+验证,注意一开始就不连通的话输出0 #include<cstdio> #include<cstring> #include<cmath> #include ...
- jquery核心功能分析
作者:zccst 核心功能包括: jQuery是如何定义的,如何调用的,如何扩展的.掌握核心方法是如何实现的,是理解jQuery源码的关键.这里理解了一切豁然开朗. 1,如何定义,即入口 // Def ...
- UIP源码之ARP过程分析
之前我们使用UIP实现了tcp和udp通讯今天来说说UIP的实现流程,当然,这篇文章里面只会涉及tcp和udp,暂时还没办法说DHCP,因为UIP的DHCP实现使用了协程的概念,下一章将协程之后再说D ...
- 微信公众号支付开发全过程 --JAVA
按照惯例,开头总得写点感想 ------------------------------------------------------------------ 业务流程 这个微信官网说的还是很详细的 ...
- MIPI-1
未来的产品都将朝着移动的方向发展,例如智能手机.数码相机.摄像机.平板电脑.媒体播放器.游戏机等,这些产品需要能执行多任务,包括处理多个不同的传感器如麦克风.图像传感器.磁罗盘.三轴加速度计和精细的触 ...
- Oracle行转列的3种方法
测试表为A3 , 有5个字段:ID1, ID2, ID3, ID4, ID5 测试数据如下: ID1 ID2 ID3 ID4 ID5 1 2 3 4 5 11 22 33 44 55 111 222 ...