官方网站见: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做混合现实开发主摄像机有一些变化需要设置。
- 选择 File > New Scene
首先, 如果你把用户的起始位置想象成(X:0,Y:0,Z:0),你制定App会更容易。因为主摄像头是在跟踪用户头部的移动 , 通过设置主摄像机的起始位置可以设置用户的起始位置。- Select Main Camera in the Hierarchy 面板
2.在Inspector 面板, 找到 Transform component 和改变 Position 从默认的 (X: 0, Y: 1, Z: -10) 到 (X: 0, Y: 0, Z: 0)
其次, 默认的相机背景需要一些思考。
对于Hololens 的应用,现实世界应该出现在相机渲染的一切背后,不需要天空贴图; - 在Inspector 面板选中 Main Camera,找到组件Camera然后修改ClearFlags 的下拉列表从Skybox到 Solid Color;
- 选中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米。 - 在Inspector 面板选中 Main Camera,找到组件Camera修改Near Clip Plane的值从默认0.3到0.85;
对于混合现实的应用程序到身临其境的耳机,我们可以用默认的Unity提供的设置。 - 在Inspector 面板选中 Main Camera,找到组件Camera保持Near Clip Plane的值为默认0.3;
最后,让我们保存目前的项目,为了保存场景修改,select File > Save Scene As, name the scene Main, and 选择Save.
- Select Main Camera in the Hierarchy 面板
第三步 设置项目设置
在这一章中,我们将设置一些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和最快的行是绿色的时候,您就会知道设置是正确的。
对于针对遮挡显示的混合现实应用程序,可以将质量设置保留为默认值。
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
真棒工作获得所有的项目设置应用。接下来,让我们添加全息图!
第四步 创建一个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 单击调试>开始不调试。
试试你的应用程序
现在,您的应用程序已部署,请尝试移动整个立方体,并观察它保持在您面前的世界。