注:本文提到的代码示例下载地址>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)

3. HoloLens Emulator

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程序的更多相关文章

  1. 在VS中手工创建一个最简单的WPF程序

    如果不用VS的WPF项目模板,如何手工创建一个WPF程序呢?我们来模仿WPF模板,创建一个最简单的WPF程序. 第一步:文件——新建——项目——空项目,创建一个空项目. 第二步:添加引用,Presen ...

  2. MVVM之旅(1)创建一个最简单的MVVM程序

    这是MVVM之旅系列文章的第一篇,许多文章和书喜欢在开篇介绍某种技术的诞生背景和意义,但是我觉得对于程序员来说,一个能直接运行起来的程序或许能够更直观的让他们了解这种技术.在这篇文章里,我将带领大家一 ...

  3. 搭建QQ聊天通信的程序:(1)基于 networkcomms.net 创建一个WPF聊天客户端服务器应用程序 (1)

    搭建QQ聊天通信的程序:(1)基于 networkcomms.net 创建一个WPF聊天客户端服务器应用程序 原文地址(英文):http://www.networkcomms.net/creating ...

  4. 如何用Maven创建一个普通Java项目

    一下内容包括:用Maven创建一个普通Java项目,并把该项目转成IDEA项目,导入到IDEA,最后把这个项目打包成一个jar文件. 有时候运行mvn命令失败,重复运行几次就OK了,无解(可能因为网络 ...

  5. 如何用java创建一个jdbc程序

    第一个jdbc程序 JDBC简介 Java数据库连接(Java Database Connectivity,JDBC),是一种用于执行SQL语句的Java API,它由一组用Java编程语言编写的类和 ...

  6. Maven(一)如何用Eclipse创建一个Maven项目

    1.什么是Maven Apache Maven 是一个项目管理和整合工具.基于工程对象模型(POM)的概念,通过一个中央信息管理模块,Maven 能够管理项目的构建.报告和文档. Maven工程结构和 ...

  7. SAP Cloud Platform integration上创建一个最简单的iFlow

    登录SAP CPI控制台,点击这个铅笔图标进入工作区域: 选择一个已经存在的content package: 在这个content package里创建一个新的iFlow: 默认生成的iFlow模型如 ...

  8. 如何用Eclipse创建一个JavaSwing的项目

    创建之前必须先给开发工具安装WindowBuilder插件(安装方法可自行百度) 方式一: 创建项目 new--other--WindowBuilder--SWT Designer----SWT/JF ...

  9. 简单创建一个完整的struts2框架小程序

    要完成一个struts2框架的搭建, 1.首先应该从官网上下载最新的jar包,网络连接:http://struts.apache.org/download.cgi#struts2514.1,选择下载F ...

随机推荐

  1. C# 本质论 第三章 操作符和控制流

    操作符通常分为3大类:一元操作符(正.负).二元操作符(加.减.乘.除.取余)和三元操作符( condition?consequence:alternative(consequence和alterna ...

  2. redis成长之路——(四)

    加强redis连接的连接池 虽然StackExchange.Redis针对连接已经做了很多工作,不过在实际应用场景中还是不够的,比如多实例的vip就会导致只能连到其中一个实例上等:本实例中的连接池只能 ...

  3. 航旅事业群面试(li)

    一.JVM 1.如何观察垃圾回收? 2.JAVA应用的JVM参数调优? 3.举例说明你所知道的JVM profile方法? 4.GC tunning实战.假如你是一个大型网站的总架构师,有次web应用 ...

  4. nodejs 安装

    安装nodejs进入nodejs源码./configure --prefix=/software/installed/nodemakemake install 如果configure的时候提示:WAR ...

  5. Django Admin 录入中文错误解决办法

    如果报错....for column 'object_repr' at row 1.就找到此列所在表为django_admin_log,然后插入: ALTER TABLE django_admin_l ...

  6. 怎样给div增加resize事件

    当浏览器窗口被调整到一个新的高度或宽度时,就会触发resize事件,这个事件在window上面触发,那么如何给div元素增加resize事件,监听div的高度或宽度的改变呢? 先来回答另一个问题,监听 ...

  7. NSDateFormatter 时间格式转换

    NSString *strDate = @“Wed Apr ::”; NSDateFormatter *dateFomatter =[[NSDateFormatter alloc] init]; [d ...

  8. Razor速记

    1.语法 @{     int c=2; } @for(int i=0;i<c;i++) {     @i     @:@i     @:select     @:select @i     s ...

  9. [Erlang 0112] Elixir Protocols

    Why Elixir   为什么要学习Elixir?答案很简单,为了更好的学习Erlang.这么无厘头的理由? Erlang语法设计几乎没有考虑过取悦开发者,所以学习之初的门槛略高.对于已经克服了最初 ...

  10. JavaScript(八)——复习一(重要内容基本包含在内)

    一.常用对话框 1.alert(""):警告对话框,作用是弹出一个警告对话框 2.confirm(""):确定对话框,弹出一个带确定和取消按钮的对话框——确定返 ...