【Hololens开发】Holograms 100: Getting started with Unity

来源:互联网 发布:java正则表达式 匹配: 编辑:程序博客网 时间:2024/06/05 21:15

本文我们将通过Unity创建一个Hololens应用。这个项目将可以作为一个Hololens应用的初始模板供你以后开发时使用。

点击查看原文

目录

    • Chapter0 - 预先准备
    • Chapter1 - 新建一个项目
    • Chapter2 - 对Camera进行设置
    • Chapter3 - 修改项目设置Project Settings
      • Unity性能Performance和质量quality设置
      • 指定 Windows 10 SDK
    • Chapter4 - 创建一个立方体
    • Chapter5 - 在设备上确认一下吧
      • 远程模式使用Hololens进行远程遥控Remote
      • 模拟模式Simulate in Editor
      • 已知限制
    • Chapter6 - build项目并且部署到设备
      • 导出 Visual Studio 解决方案
      • 编译 Visual Studio 解决方案
      • 通过 Wi-Fi 部署到 Hololens 设备
      • 通过 USB 部署到 Hololens 设备
      • 部署到模拟器
      • 试试你的应用程序吧

Chapter0 - 预先准备

  • 一个正确配置Hololens 开发环境的 Win10 PC机。

Chapter1 - 新建一个项目

为了使用Unity开发一个应用,你首先需要创建一个新的项目(Project),项目由若干个文件夹(Folder)构成,其中最重要的是 Assets 文件夹。这个文件夹包含了所有你准备的所有资源:

  • 你从数字内容创作软件,如 Maya、C4D、Photoshop 中引入的素材
  • 你使用例如 Visual Studio 等编辑器编写的代码
  • 你使用 Unity 创建的 Unity 组件等

为了创建一个UWP(Universal Windows Platform 即 Windows通用应用平台),Unity 可以将项目导出为一个 Visual Studio 的解决方案,其包含了所有必须的资源和代码。

  1. 打开 Unity
  2. 选择 New,新建一个项目
  3. 输入项目名字(例如:MixedRealityIntroduction)
  4. 输入一个位置保存项目
  5. 保证 3D 选项被选中
  6. 选择 Create project ,创建项目。



新建项目


Chapter2 - 对Camera进行设置

Unity 中的 Main Camera 它可以处理头部跟踪(head tracking)和立体再现(stereoscopic rendering)。这里需要完成下面的步骤使其符合我们开发的要求:

  1. 选择 File > New Scene

首先,可以想象,如果我们把用户的起始位置定在 (X:0, Y:0, Z:0) 将更容易部署我们的应用。由于 Main Camera 追踪用户的头部运动,用户的起始位置可以设定为 Main Camera 的起始位置。

  1. Hierarchy 面板中选中 Main Camera
  2. Inspector 面板中找到 Transform 组件,修改其 Position 的数值,从 (X:0, Y:1, Z:-10) 修改为 (X:0, Y:0, Z:0)。

其次,默认的摄像头背景需要做一些修改。

对于 Hololens 应用来说,真实世界应该出现在摄像头渲染呈现的影像背后,而不是一个天空盒素材(Skybox texture)背后。

  1. 继续选中 Main Camera,在 Inspector 面板中找到 Camera 组件,把其 Clear Flags 属性从 Skybox 修改为 Solid Color
  2. 接着选中其 Background 属性,修改其 RGBA 值为 (0, 0, 0, 0),即黑色。

再者,我们需要考虑一下 Unity 中的近裁剪面(near clip plane),避免物体被渲染的离用户的眼睛太近。

对于 Hololens 应用来说,近裁剪面的值可以根据Hololens 推荐的值设置为 0.85 米。

  • 继续选中 Main Camera,在 Camera 组件中找到 Clipping Planes,把其 Near 值从默认的 0.3 修改为 0.85



Main Camera设置

最后,让我们保存一下目前的进度。保存我们当前的场景(Scene),选择 File > Save Scene As,命名为 MainScene,然后 Save


Chapter3 - 修改项目设置(Project Settings)

在这个章节中,我们将修改一些项目设置以帮助我们使用 Windows Holographic SDK 进行开发。我们也将修改一些质量设置。最终,我们会确保我们的项目导出为 Windows应用商店应用。

Unity性能(Performance)和质量(quality)设置

对HoloLens应用来说,保持高的帧率是非常重要的,我们要把性能质量设置调整为 Fastest 。想要查看更多的关于性能的信息,查询这里。

  1. 选择 Edit > Project Settings > Quality
  2. 选择 Windows Store LOGO 下的 Default 黑色箭头,选择 Fastest。正确选择后,会变成绿色。



Unity质量设置 for Hololens

指定 Windows 10 SDK

我们需要让Unity知道我们的应用是在全息视图下的,而不是2D视图。为此我们要激活 Virtual Reality Support 并指定 Windows 10 SDK。

  1. 选择 Edit > Project Settings > Player
  2. Inspector 面板中选择 Windows Store 选项卡
  3. 展开 Other Settings
  4. Rendering 部分中,勾选 Virtual Reality Supported 复选框,添加一个新的 Virtual Reality SDKs,确认我们的 Windows Holographic 在其中。



指定 Windows Holographic SDK

Chapter4 - 创建一个立方体

在Unity项目中创建一个立方体跟创建其他物体没有任何区别。在用户面前放一个立方体非常简单,因为 Unity 中的坐标是跟真实世界匹配的,Unity中的1米差不多也是真实世界中的1米。

  1. Hierarchy 面板中右键,选择 Create 然后接着选择 3D Object > Cube
  2. 选中刚才新建的 Cube
  3. 找到 CubeTransform 组件,修改其 Position 的值为 (X: 0, Y: 0, Z: 2)。这个位置是距用户的开始点 2 米的位置。
  4. 接着修改 Rotation 值为 (X: 45, Y: 45, Z: 45),Scale 值为(X: 0.25, Y: 0.25, Z: 0.25)。这个立方体的长宽高都为0.25米。
  5. 保存场景, File > Save Scene

Chapter5 - 在设备上确认一下吧!

现在,我们是时候在设备上查看一下效果了。我们可以直接在 Unity Editor 中完成这个过程。

远程模式:使用Hololens进行远程遥控(Remote)

  1. 在 Hololens 上,安装并运行 Holographic Remoting Player,可以从 Windows Store 下载。运行它,设备会进入一个等待状态,并且显示一个设备的 IP 地址。记录 IP 地址。
  2. 回到我们的PC上,在Unity中,选择 Window > Holographic Emulation(译者提示:如果你的 Holographic Emulation 打开后提示你“You must enable Virtual Reality support……”,且你前面的步骤确认已经完成,此时,打开 File > Build Setting,选择 Windows Store ,单击 Switch Platform 即可解决问题)
  3. Emulation ModeNone 修改为 Remote to Device。进入远程模式。
  4. Remote Machine 一栏中,填入一开始记录的 IP 地址。
  5. 点击 Connect
  6. 确保 Connection Status 变为绿色的 Connected
  7. 现在可以在 Unity Editor 中单击正上方的 Play 按钮。

译者注:您可以暂停、检查对象和调试,就像在编辑中运行普通应用一样,区别之处在于视频、音频和设备的输入是通过网络在主机和远程设备之间进行传输的。远程模式对于验证性能来说并不奏效(因为所有繁重工作都是由PC主机处理的),但它可用于在开发过程中进行快速迭代。



远程模式

模拟模式:Simulate in Editor

(译者添加)

  1. Emulation Mode 修改为 Simulate in Editor
  2. 按下 Play 按钮即可

您的应用将由编辑器内置的模拟器开始运行,不需要头戴设备。您可以选择5个虚拟房间(与XDE HoloLens Emulator 提供的相同)并指定执行手势的虚拟手掌(左或右)。



模拟模式

在模拟模式下,您将使用游戏控制器来控制虚拟人物。



模拟模式中的控制方法

请注意,使用游戏控制器需要将焦点放在游戏窗口。使用UI做其它操作后只需点击一下游戏视图窗口就会对焦。

已知限制

  • 目前远程全息模式并不支持语音(PhraseRecognizer语音识别),而是获取编辑器所在主机的语音。
  • 在全息模拟模式下可以执行图像捕捉,但因为图像捕捉会使用本地相机(例如网络摄像头),您将无法使用TryGetProjectionMatrix或者TryGetCameraToWorldMatrix来获得矩阵。
  • 在远程模式下,主机PC端所有的音频将重定向到设备上(而不仅是来自应用的)。

Chapter6 - build项目并且部署到设备

现在我们可以导出我们的项目到 Visual Studio 并部署到我们的目标设备。

导出 Visual Studio 解决方案

  1. 打开 File > Build Setttings 窗口。
  2. 单击 Add Open Scenes ,添加场景。
  3. 运行平台Platform 修改为 Windows Store 并且单击 Switch Platform
  4. Windows Store 的设置中,确保 SDK 选择的是 Universal 10
  5. Target Device,可以是 Any Device 或选择 Hololens
  6. UWP Build Type 要选 D3D
  7. UWP SDK 可以选 Latest installed(译者注:最好与你装VS2015时安装的那个版本一致,否则VS会提示项目需要更新)
  8. 选中 Unity C# Projects
  9. 点击 Build
  10. 在打开的资源管理器中,新建一个文件夹,命名为 APP
  11. 选中 APP 文件夹,单击 Slect Folder 按钮。
  12. 当Unity 完成 Building 的时候,会自动打开一个资源管理器。
  13. 打开 APP 文件夹。
  14. 打开生成的 Visual Studio Solution(在此例中,是 MixedRealityIntroduction.sln)

编译 Visual Studio 解决方案

最后,我们可以编译这个导出的VS解决方案了。

  1. 在VS工具栏中,把 target 从 Debug 改为 Release,从 ARM 改为 x86

接下来的设置将根据你的选择有些不同:

通过 Wi-Fi 部署到 Hololens 设备

  1. 单击 本地计算机(Local Machine) 旁边的小箭头,将部署目标变为 远程计算机(Remote Machine)
  2. 输入设备的 IP 地址,将身份验证模式(Authentication Mode) 改为 通用(未加密协议)Universal(Unencrypted Protocol)
  3. 点击 调试(Debug) > 开始执行不调试(Debug without debugging)

通过 USB 部署到 Hololens 设备

  1. 单击 本地计算机(Local Machine) 旁边的小箭头,将部署目标变为 Device
  2. 点击 调试(Debug) > 开始执行不调试(Debug without debugging)

部署到模拟器

  1. 单击 本地计算机(Local Machine) 旁边的小箭头,将部署目标变为 Hololens Emulator
  2. 点击 调试(Debug) > 开始执行不调试(Debug without debugging)

试试你的应用程序吧!

现在你的应用程序已经部署了。试试到处走走观察一下呈现在你眼前世界里的这个立方体。

原创粉丝点击