如何用Unity创建一个的简单的HoloLens 3D程序
注:本文提到的代码示例下载地址>How to create a Hello World 3D holographic app with Unity
之前我们有讲过一次如何在HoloLens中创建一个2D程序的,没看过或者忘记的同学可以看这里回忆一下^_^
如果说上次的2D版就是个带了个HoloLens面具的UWP程序,那我们这次要做的呢可是正宗的3D程序哦。
先来看看我们要做些什么准备。
1. Visual Studio 2015 Update 3
2. Windows 10 (10.0.10586 version or later)
4. Unity HoloLens Technical Preview
跟上次的2D程序相比,我们还需要一个Unity HoloLens 预览版,链接上面都有,没装的同学先装一下。我们所有的开发基本上都是通过这个版本的Unity来完成的,而且这个版本比较特殊,如果你PC上已经装好了Unity但还不是这个版本的话,还是不行的。
准备工作做完之后,接下来就要开始开发了。
首先,我们先打开Unity(HoloLens Technical Preview 版本,下面就统一称Unity),点击右上角的"NEW",填上Project name和Location,选择3D,点击Create Project按钮。

点击File,选择 Save Scene,输入文件名,保存。

然后在MainScene上面点击Create,选择3D Object->Sphere

为了适配我们的HoloLens,接下来我们要做些配置上的修改。
首先是MainCamera, Position设为原点(0, 0, 0)。Clear Flags 选择Solid Color, Background 选择黑色#00000000。

下一步是Directional Light。先将Transform Reset, 然后将Position-Y设为10。

然后是Sphere。将Scale设置为(0.2, 0.2, 0.2),Position-Z设置为2。

最后,我们需要把这个project转成VS的solution,我们需要修改一些设置。
选择Edit->Project Settings->Quality,Default选择Fastest。

选择File->Build Settings,点击Add Open Scenes,选中我们刚刚创建的scene。
在Platform列表种选中Windows Store,将SDK设为Universal 10,Build Type 设置为D3D,并将Unity C# Projects勾选上。如果说Windows Store中没有这些设置,那么请检查下Unity HoloLens Technical Preview安装的时候是不是所有选项都选上了,确保需要安装的都装上,才能做这一步操作。

点击页面上的Player Settings。Settings for Windows Store->Other Settings->勾选Virtual Reality Supported

回到刚刚Build Settings页面,点击Build按钮,在HelloWorld文件夹种再新建一个文件夹名为App,选中App文件夹,点击Select Folder。

Build 完成之后,HelloWorld文件夹会在文件浏览器种打开,我们打开里面的App文件夹,选择sln文件,用VS2015打开。
在解决方案窗口下,右击Package.appxmanifest文件,选择,把TargetDeviceFamily种的Windows.Universal 改为Windows.Holographic。
<Dependencies>
<TargetDeviceFamily Name="Windows.Holographic" MinVersion="10.0.10240.0" MaxVersionTested="10.0.10586.0" />
</Dependencies>
一切修改完毕。在工具栏种选择Debug,x86,HoloLens Emulator,点击运行。

你可以看到在模拟器中有个小球,通过鼠标移动或者箭头移动模拟走路摇头等动作,可以看到小球大小位置出现变化。

到这边我们的教程就告一段落了。
这只是一个很小的3D程序,如果你对Unity有所了解,今后可以开发更多的有趣的3D程序运用到HoloLens上。我们也期待在HoloLens上能见到更多更优秀的3D App。
更多Unity教程,请参考https://unity3d.com/cn/learn/tutorials。
更多全息教程,请参考https://developer.microsoft.com/en-us/windows/holographic/academy。
文中的源码下载地址https://code.msdn.microsoft.com/How-to-create-a-Hello-bae9df25。
2D HoloLens入门教程http://www.cnblogs.com/onecodeonescript/p/5885702.html#3514484。
如何用Unity创建一个的简单的HoloLens 3D程序的更多相关文章
- 在VS中手工创建一个最简单的WPF程序
如果不用VS的WPF项目模板,如何手工创建一个WPF程序呢?我们来模仿WPF模板,创建一个最简单的WPF程序. 第一步:文件——新建——项目——空项目,创建一个空项目. 第二步:添加引用,Presen ...
- MVVM之旅(1)创建一个最简单的MVVM程序
这是MVVM之旅系列文章的第一篇,许多文章和书喜欢在开篇介绍某种技术的诞生背景和意义,但是我觉得对于程序员来说,一个能直接运行起来的程序或许能够更直观的让他们了解这种技术.在这篇文章里,我将带领大家一 ...
- 搭建QQ聊天通信的程序:(1)基于 networkcomms.net 创建一个WPF聊天客户端服务器应用程序 (1)
搭建QQ聊天通信的程序:(1)基于 networkcomms.net 创建一个WPF聊天客户端服务器应用程序 原文地址(英文):http://www.networkcomms.net/creating ...
- 如何用Maven创建一个普通Java项目
一下内容包括:用Maven创建一个普通Java项目,并把该项目转成IDEA项目,导入到IDEA,最后把这个项目打包成一个jar文件. 有时候运行mvn命令失败,重复运行几次就OK了,无解(可能因为网络 ...
- 如何用java创建一个jdbc程序
第一个jdbc程序 JDBC简介 Java数据库连接(Java Database Connectivity,JDBC),是一种用于执行SQL语句的Java API,它由一组用Java编程语言编写的类和 ...
- Maven(一)如何用Eclipse创建一个Maven项目
1.什么是Maven Apache Maven 是一个项目管理和整合工具.基于工程对象模型(POM)的概念,通过一个中央信息管理模块,Maven 能够管理项目的构建.报告和文档. Maven工程结构和 ...
- SAP Cloud Platform integration上创建一个最简单的iFlow
登录SAP CPI控制台,点击这个铅笔图标进入工作区域: 选择一个已经存在的content package: 在这个content package里创建一个新的iFlow: 默认生成的iFlow模型如 ...
- 如何用Eclipse创建一个JavaSwing的项目
创建之前必须先给开发工具安装WindowBuilder插件(安装方法可自行百度) 方式一: 创建项目 new--other--WindowBuilder--SWT Designer----SWT/JF ...
- 简单创建一个完整的struts2框架小程序
要完成一个struts2框架的搭建, 1.首先应该从官网上下载最新的jar包,网络连接:http://struts.apache.org/download.cgi#struts2514.1,选择下载F ...
随机推荐
- WPF 自定义Grid双击事件
先设置Grid_MouseDown事件函数,然后在函数内增加如下代码 ) { //双击执行 } 更改数字可以区别单击和双击 感谢@一 定 会 去 旅 行
- 用大白话聊聊JavaSE -- 如何理解Java Bean(一)
首先,在开始本章之前,先说一个总的概念:所谓的Java Bean,就是一个java类,编译后成为了一个后缀名是 .class的文件.这就是Java Bean,很多初学者,包括当年的我自己,总是被这些专 ...
- 为什么applicationContext.xml和spring-servlet.xml中都有注解过滤<context:component-scan base-package="myproject"> 和<context:component-scan base-package="myproject.controller" />
在刚学习SpringMVC框架整合时,你也许会产生疑问为什么Spring.xml和SpringMVC.xml中都有注解过滤. <context:component-scan base-packa ...
- JAVA 入门第二章 (面对对象)
本渣渣鸽了一个月终于有时间更新.因为有c++基础,学起来这章还是比较简单的,本章我觉得是程序猿质变课程,理解面向对象的思想,掌握面向对象的基本原则以及 Java 面向对象编程基本实现原理,熟练使用封装 ...
- Python 生成器与迭代器 yield 案例分析
前几天刚开始看 Python ,后因为项目突然到来,导致Python的学习搁置了几天.然后今天看回Python 发现 Yield 这个忽然想不起是干嘛用的了(所以,好记性不如烂笔头.).然后只能 花点 ...
- 《连载 | 物联网框架ServerSuperIO教程》- 9. 协议过滤器,解决一包多发、粘包、冗余数据
1.C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍 <连载 | 物联网框架ServerSuperIO教程>1.4种通讯模式机制. <连载 | 物联网框架Serve ...
- ABAP关键字SUBMIT的简单例子和学习小记
网上有关SUBMIT实现程序调用的例子稍显复杂,而相关的参考和解释则不是很完善.本文给出一个SUBMIT的小示例程序(代码见文末),实现了最简单的程序间调用及返回值,以及SAP官方文档中相关内容的翻译 ...
- android:使用Messenger进行进程间通信(一)
Messenger简介 Messenger和AIDL是实现进程间通信(interprocess communication)的两种方式. 实际上,Messenger的实现其实是对AIDL的封装. Me ...
- ASP.NET MVC的客户端验证:jQuery的验证
之前我们一直讨论的Model验证仅限于服务端验证,即在Web服务器根据相应的规则对请求数据实施验证.如果我们能够在客户端(浏览器)对用户输入的数据先进行验证,这样会减少针对服务器请求的频率,从而缓解W ...
- ASP.NET MVC 5 04 - 控制器
PS: 唉.本来这一篇前几天早就应该发了的,可是谁每月没有那么几天啊... 呵呵.开个玩笑.反正就是各种烦气,所以也就一直没上来继续发了. 年底了,摆正一下心态吧.好好干,整点钱,过年回家能跟亲朋好友 ...