Hololens开发之全息图100

官方网站见:https://developer.microsoft.com/en-us/windows/mixed-reality/holograms_100
这篇教程将会带领你用Unity引擎创建一个基本的混合现实App
前提条件: win10电脑且安装了开发需要的正确工具

第一步 创建一个新工程
为了用Unity创建一个App,你首先需要创建一个工程。这个工程有几个文件夹,最重要的的是 Assets 文件夹,这个文件夹保存有你用数字内容创建工具导入的所有资产文件,比如用 Maya, Max Cinema 4D or Photoshop,所有你用Visual Studio 或者你喜欢的代码编辑器创建的代码,和一些用Unity创建的内容文件,有场景、动画和其他Unity资产类型等。
为了构建和部署UWP应用程序,Unity可以将项目导出为Visual Studio解决方案,其中包含所有必需的资产和代码文件。
1 Start Unity 开始Unity
2 Select New 选择新建
3 Enter a project name (e.g. "MixedRealityIntroduction") 输入一个项目名称
4 Enter a location to save your project
5 Ensure the 3D toggle is selected
6 Select Create project
恭喜,你现在已经准备好开始你的混合现实定制了。

第二步 设置相机
The Unity Main Camera handles head tracking and stereoscopic rendering. There are a few changes to make to the Main Camera to use it with mixed reality.
Unity的主摄像机处理头部跟踪和立体渲染,用Unity做混合现实开发主摄像机有一些变化需要设置。

  1. 选择 File > New Scene
    首先, 如果你把用户的起始位置想象成(X:0,Y:0,Z:0),你制定App会更容易。因为主摄像头是在跟踪用户头部的移动 , 通过设置主摄像机的起始位置可以设置用户的起始位置。
    1. Select Main Camera in the Hierarchy 面板
      2.在Inspector 面板, 找到 Transform component 和改变 Position 从默认的 (X: 0, Y: 1, Z: -10) 到 (X: 0, Y: 0, Z: 0)
      其次, 默认的相机背景需要一些思考。
      对于Hololens 的应用,现实世界应该出现在相机渲染的一切背后,不需要天空贴图;
    2. 在Inspector 面板选中 Main Camera,找到组件Camera然后修改ClearFlags 的下拉列表从Skybox到 Solid Color;
    3. 选中Background 的color修改RGBA的值为 (0, 0, 0, 0)
      对于混合现实的应用程序到身临其境的耳机,我们可以用默认的Unity提供的Skybox texture
      1 在Inspector 面板选中 Main Camera,找到组件Camera然后修改ClearFlags 的下拉列表值为Skybox;
      第三,让我们考虑一下Camera的近切面,当用户接近一个对象或者一个对象接近一个用户时,阻止物体靠近用户的眼睛。
      对于HoloLens的应用,near clip plane 可以设置为HoloLens推荐的0.85米。
    4. 在Inspector 面板选中 Main Camera,找到组件Camera修改Near Clip Plane的值从默认0.3到0.85;
      对于混合现实的应用程序到身临其境的耳机,我们可以用默认的Unity提供的设置。
    5. 在Inspector 面板选中 Main Camera,找到组件Camera保持Near Clip Plane的值为默认0.3;
      最后,让我们保存目前的项目,为了保存场景修改,select File > Save Scene As, name the scene Main, and 选择Save.

第三步 设置项目设置
在这一章中,我们将设置一些Unity项目设置,帮助我们将Windows Holographic SDK作为开发目标。我们还将为我们的应用程序设置一些质量设置。最后,我们将确保我们的构建目标设置为Windows Store。
Unity的性能和质量设置
由于在HoloLens上保持高帧速率非常重要,因此我们希望将质量设置调整为最佳性能。有关更详细的性能信息,Unity的性能建议。
1 选择 Edit > Project Settings > Quality
2 选择 the dropdown under the Windows Store logo and select Very Low. 当Windows Store列中的box和最快的行是绿色的时候,您就会知道设置是正确的。
对于针对遮挡显示的混合现实应用程序,可以将质量设置保留为默认值。


image.png

Target Windows 10 SDK
我们需要让Unity知道我们试图导出的应用程序应该创建一个身临其境的视图,而不是2D视图。我们通过启用针对Windows 10 SDK的Unity虚拟现实支持来实现这一点。
1 选择Edit > Project Settings > Player
2 在Inspector 面板click on the Windows Store tab
3 展开 XR Settings组.
4 在“ 渲染”部分中,选中“支持虚拟现实”复选框以添加新的虚拟现实SDK列表,并确认“Windows混合现实”列为支持的SDK。
5 在“ 其他设置配置”部分中,确保将“ 后台脚本”设置为.NET


image.png

image.png

真棒工作获得所有的项目设置应用。接下来,让我们添加全息图!

第四步 创建一个Cube
在Unity项目中创建多维数据集就像在Unity中创建其他对象一样。在用户面前放置一个立方体很容易,因为Unity的坐标系映射到真实世界 - Unity中一米大约是现实世界中的一米。
1 在Hierarchy面板的左上角,选择Create下拉菜单并选择3D Object> Cube。
2 在“ 层次”面板中选择新创建的多维数据集
3 在检查器中找到Transform 部件并将位置更改为(X:0,Y:0,Z:2)。这将立方体定位在用户起始位置的前方2米处。
4 在“ 变换”组件中,将Rotation更改为(X:45,Y:45,Z:45)并将“ 缩放”更改为(X:0.25,Y:0.25,Z:0.25)。这将立方体缩放到0.25米。
5 要保存场景更改,请选择 File > Save Scene.

第五步 从Unity编辑器验证设备
现在我们已经创建了立方体,现在是时候快速检查设备了。您可以直接从Unity编辑器中执行此操作。
HoloLens使用Unity Remoting
1 在HoloLens上,安装并运行Windows应用商店中的 Holographic Remoting Player。在设备上启动应用程序,进入等待状态并显示设备的IP地址。记下IP。
2 Change Platform to Universal Windows Platform and click Switch Platform. 将平台更改为通用Windows平台,然后单击切换平台。
3 在您的开发PC上,在Unity中,打开 Window > Holographic Emulation. “ 窗口”>“全息仿真”。
4 Emulation Mode from None to Remote to Device. 更改仿真模式由无到远程到设备。
5 在 Remote Machine远程机器中,输入您之前提到的HoloLens的IP地址。
6 点击Connect连接。
7 Connection Status changes to green Connected.确保连接状态更改为绿色连接。
8 现在,您现在可以在Unity编辑器中单击“ 播放 ”。
您现在可以在设备和编辑器中看到多维数据集。您可以暂停,检查对象并进行调试,就像您在编辑器中运行应用程序一样,因为这实际上是发生了什么事情,但视频,音频和设备输入是通过网络在主机和设备之间来回传输的。
对于其他混合现实支持的耳机
1 使用USB电缆和HDMI或显示器端口电缆将耳机连接到您的开发PC。
2 启动混合现实门户并确保您已完成首次运行体验。
3 从Unity开始,您现在可以按下播放按钮。
4 您现在可以在混合现实耳机和编辑器中看到立方体渲染。

第六步 从Visual Studio构建并部署到设备
我们现在准备将我们的项目编译到Visual Studio并部署到我们的目标设备。
导出到Visual Studio解决方案
1 打开文件>生成设置窗口。 File > Build Settings
2 点击Add Open Scenes添加场景。 Add Open Scenes
3 将平台更改为通用Windows平台,然后单击切换平台。Change Platform to Universal Windows Platform and click Switch Platform.
4 在Windows Store设置中确保SDK是Universal 10。Windows Store settings ensure, SDK is Universal 10.
5 对于目标设备,请将任何设备留给 occluded displays或切换到HoloLens。
6 UWP构建类型应该是D3D。 UWP Build Type should be D3D.
7 UWP SDK可以留在 Latest installed.。
8 在调试下检查Unity C#项目。Check Unity C# Projects under Debugging.
9 点击Build。
10 在文件资源管理器中,单击新建文件夹并将文件夹命名为“App”。
11 随着应用程序选定的文件夹,单击选择文件夹按钮。
12 当Unity完成构建时,将出现一个Windows文件资源管理器窗口。
13 在文件资源管理器中打开App文件夹。
14 打开生成的Visual Studio解决方案(在本例中为MixedRealityIntroduction.sln)
编译Visual Studio解决方案
最后,我们将编译导出的Visual Studio解决方案,部署它,然后在设备上进行尝试。
1 使用Visual Studio中的顶部工具栏,将目标从“ 调试”更改为“ 发布”,并将ARM从ARM更改为X86。 Debug to Release and from ARM to X86.
对于部署到设备而不是仿真器,说明会有所不同。按照与您的设置相符的说明进行操作
通过Wi-Fi部署到混合现实设备
1 单击“ 本地计算机”Local Machine 按钮旁边的箭头,然后将部署目标更改为“ 远程计算机”。Remote Machine.
2 输入您的混合现实设备的IP地址并将身份验证模式 Authentication Mode更改为HoloLens的Universal(未加密协议)和其他设备的Windows。
3 单击调试>开始不调试。Click Debug > Start without debugging.
对于HoloLens,如果这是第一次部署到您的设备,您将需要配对使用Visual Studio。

通过USB部署到混合现实设备
确保您的设备通过USB电缆插入。
1 对于HoloLens,请单击“ 本地计算机”按钮旁边的箭头,然后将部署目标更改为“ 设备”Device。
2 要锁定连接到PC的遮挡设备,请将设置保存到本地计算机上。确保你有混合现实门户运行。
3 单击调试>开始不调试。
部署到模拟器
1 点击设备按钮旁边的箭头,然后从下拉菜单中选择HoloLens Emulator。
2 单击调试>开始不调试。
试试你的应用程序
现在,您的应用程序已部署,请尝试移动整个立方体,并观察它保持在您面前的世界。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,968评论 6 482
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,601评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 153,220评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,416评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,425评论 5 374
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,144评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,432评论 3 401
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,088评论 0 261
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,586评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,028评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,137评论 1 334
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,783评论 4 324
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,343评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,333评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,559评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,595评论 2 355
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,901评论 2 345

推荐阅读更多精彩内容