StereoKit Ink 应用程序概述

已完成

到目前为止,你已经了解了如何安装和配置 Visual Studio,以及如何为桌面和 HoloLens 2 启用开发人员模式。 在本单元中,你将大致了解 StereoKit Ink 的结构。 StereoKit Ink 是一个示例项目,用于演示 StereoKit 提供的核心组件。

注意

在 Github 上的此处找到 StereoKit Ink 的源代码。

此 StereoKit 演示项目旨在介绍有关如何绘制混合现实内容和与之交互的基础知识。 你将了解如何创建:

  • 径向手部菜单。
  • 带有自动布局的简单窗口菜单。
  • 自定义 UI 元素。
  • 文件选取器。

此外,你将了解绘制模型、线条和创建基于手部的交互是多么的简单。

Screenshot of the StereoKit Ink application on desktop

选择了 StereoKit Ink 的功能,来表示内容创建工具所需的常见任务的采样。 提供的代码旨在易于阅读和理解,而不是功能完备或稳健。 这应该是一种很好的方式来感受如何使用 StereoKit 的 API,看看用很少的代码能完成多少操作。

先决条件

此项目使用 StereoKit 在 HoloLens 2 和 VR 头戴显示设备上生成混合现实应用程序。

项目布局

StereoKit Ink 的解决方案使用 2 个项目设置:.Net Core 和 UWP。 不同的项目类型支持不同的功能和平台;根据你正在处理的内容,在它们之间切换可能很常见。

  • .NET Core 项目包括:

    • 桌面 VR
    • 平面屏幕 MR 模拟器
    • Leap Motion 关节手
    • 无编译时间
  • UWP 项目包括:

    • HoloLens 2 + 关节手
    • 桌面 VR
    • 平面屏幕 MR 模拟器
    • 控制器模拟手部
    • 一些编译时间

窗口菜单

StereoKit Ink 应用程序中使用了两个窗口菜单:“墨迹工具”窗口和“墨迹菜单”窗口。 这两个窗口使用 UI 元素执行几个不同的任务。

  • “墨迹工具”窗口 -“墨迹工具”窗口包含一些用于配置要绘制的线条的选项。 通过此窗口,用户可从样本中选择颜色、用滑块优化颜色,甚至更改线条的大小。 此窗口的顶部还有一个墨水瓶模型,用于增加趣味和说明窗口的用途。 尽管其中大多数都是简单的内置 UI 元素,但使用自定义 UI 工具可完成样本按钮,说明如何使用 StereoKit 的 API 来设计自己的 UI 元素。

  • “墨迹菜单”窗口 -“墨迹菜单”窗口具有一些用于管理活动墨迹绘制的选项:“撤消”、“恢复”、“保存”、“加载”、“清除”和“退出”。 其中大多数按钮都非常简单,但“保存”和“加载”按钮描述了使用内置跨平台文件选取器来处理文件的情况。

StereoKit 使用直接模式 UI 范例。 这可能与你习惯的 UI 系统不同,但它具有一些相当令人愉快的优点。 特别是,API 真的很简单,并且 StereoKit 不存储 UI 本身的状态。 相反,你可使用标准代码结构在两个帧之间添加、删除或完全重新排列 UI,还可非常简单地更改或检查 UI 的状态。 这种功能组合使用户不费多少脑力就能快速开发 UI。

UI 系统还提供了一组工具,用于自定义 UI 视觉对象的外观。 尽管 StereoKit Ink 保留了 StereoKit 的大多数默认 UI 设置,但完全可大幅修改 UI 的外观!

访问手部数据

StereoKit Ink 应用程序使用手部关节数据在画布上绘制线条。 StereoKit 是一个手部优先的 API,将始终提供良好的手部关节。 虽然 StereoKit 将优先考虑系统可能具有的任何关节手传感器,但它也将回退到控制器或鼠标,并根据这些设备模拟手部关节。

StereoKit 提供了一个包含手部数据高级和低级信息的集合。 此外,也可在本指南中找到有关如何获取和使用手部数据的快速概述。

StereoKit Ink 示例只包含三个代码文件和几个艺术资产。 不过,代码的目标是非常易读,有大量的注释来阐明任何不明显的内容。 以下各章将介绍其中的一些细节。