前言

好记性不如烂笔头,之前做项目的时候很熟练很顺手就没有写笔记。因为排期问题项目中断几个月之后需要重新拾起来,结果发现自己现在忘记得差不多了,于是还是决定写点东西记录一下。即便是简单的项目设置,忘记的时候也还是很痛苦啊。QAQ

1 版本信息

Unity 版本:2022.1.18f1c1

Visual Studio 版本:Visual Studio Community 2022

2 开发流程

2.1 新建项目

一切的最初是新建一个 3D 项目,就起名为 MRTK Learn 好了!

注意:Unity 受到 Windows 最大路径长度的影响,如果文件路径的长度超过 255 个字符,可能会出现无法编译的情况。因此,建议将本项目存储在尽可能靠近驱动器根目录的位置

2.2 导入 & 配置资源

在这里,我们需要使用混合现实工具来为 Unity 项目导入所需的包,这里放上工具的下载连接

https://www.microsoft.com/en-us/download/details.aspx?id=102778

注意:需要安装.NET 5.0 运行时才能运行混合显示工具(在 VS 中可以安装)

下载完成之后双击打开工具

需要略微等待一段时间,随后点击 Start 以启动工具

选择自己的项目路径(这个地址要找到 Assets 文件夹),随后点击 Discover Feature 进行下一步

需要选择以下工具包,然后点击 Get Features 验证选择

点击 Validate 以验证所选的包及导入路径是否正确

如果系统返回“未检测到任何问题”,点击“确定”,然后“导入”

选择 Approve 将所需的包导入到项目中

最后点击 Exit 关闭导入工具

2.3 配置 Unity 项目

当所需的包导入 Unity 之后,选择 Yes 重启 Unity,以便为新的输入系统启用后端

Unity 重启后会显示 MRTK 项目配置器。如果未显示,可通过导航栏 Mixed Reality > Toolkit > Utilities > Configure Project for MRTK 手动打开配置器

点击,打开 Project Settings

选择使用 OpenXR,并为 OpenXR 选项进行设置

设置完成后打开错误提示,点击 Fix All

应用 MRTK 的自动设置

导入 TextMeshPro 相关的包

设置完成后关闭配置器

随后需要进行用户设置,填写自己的组织(公司)名称和产品名称。产品名称就是应用在 HoloLens 菜单中显示的名称(在名称前面添加一个下划线可以让该应用排在所有应用前面,方便开发期间查找)

填写包名

注意:包名是应用的唯一识别码,重复部署相同包名的应用是会覆盖安装的!!!如果需要保留多个版本,要记得修改包名

2.4 创建场景并配置 MRTK

为测试场景添加 MRTK 工具

添加完成后如下所示

2.5 使用对象操控程序添加手部交互

新建一个 Cube 并调整位置和大小,并为 Cube 添加所需的脚本

  

  • Unity 的单位为 1 米,如果使用默认缩放 (1,1,1),则立方体过大,在这里将立方体的大小调整为 10*10*10 cm
  • 世界原点 (0,0,0) 处为相机位置,就是用户眼睛所在的位置,如果将立方体生成在与眼睛相同的位置上,那么用户带上头显之后必须向后移动才能看到这个立方体
  • 若想要使用手进行交互并抓取物体,则该物体必须具备的条件是:
    • 拥有 Collider 碰撞器组件
    • 拥有 Object Manipulator 脚本(添加此脚本时,系统会自动添加 Constraint Manager 脚本,该脚本是 Object Manipulator 依赖的脚本)
    • 拥有 NearInteractionGrabbable 脚本
  • Object Manipulator 脚本能够让物体变得可移动、缩放、旋转,用户可以通过一只手或两只手来完成这些操作
  • NearInteractionGrabbable 脚本让用户能够直接用手接触全息影像

2.6 进行测试

点击 Play 进行测试

在 Unity 编辑器内的输入模拟方法如下:

  • 更改场景中的视图

    • 若要水平移动相机,按 W/A/S/D 键
    • 若要垂直移动相机,按 Q/E 键
    • 若要旋转相机,按住鼠标右键拖动
  • 模拟手的输入
    • 若要模拟右手,按住空格键;松开则移除该手
    • 若要模拟左手,按住左 Shift 键;松开则移除该手
    • 若要在场景中移动手,只需移动鼠标
    • 若要模拟抓取,单击鼠标左键
    • 若要旋转手,按住空格键 + CTRL 键(右手)或按住左 Shift + CTRL 键(左手),然后移动鼠标
  • 固定某只手
    • 若要保持某只手持续出现(即在编辑器中模拟双手交互的情况),按下 T(左手)或 Y(右手)即可,再次按键则移除该手

2.7 生成 Unity 项目

打开 Build Settings,将示例场景添加到 Scene In Build 中,更换发布平台为 UWP 并调整对应的参数设置

修改 Build Settings 中的设置:

  • 将“Architecture(体系结构)”设置为“ARM 64-bit”
  • 将“Build Type(生成类型)”设置为“D3D Project”
  • 将“Target SDK Version(目标 SDK 版本)”设置为“Lastest Installed(最新安装项)”
  • 将“Minimum Platform Version(最低平台版本)”设置为“10.0.10240.0”
  • 将“Visual Sudio Version(Visual Studio 版本)”设置为“Visual Studio 2022”(安装了哪个版本就用哪个版本,VS2019 也一样的)
  • 将“Build and Run on(生成和运行位置)”设置为“Local Machine(本地计算机)”
  • 将“Build Configuration(生成配置)”设置为“Release(发布)”

点击 Switch Platform 切换平台,随后点击 Build 生成项目即可

等待项目生成

生成完毕

3 参考资料

MRTK2-Unity 开发人员文档 - MRTK 2 | Microsoft Learn

混合现实工具包简介 - 设置项目并使用手势交互 - Training | Microsoft Learn

【MRTK】HoloLens开发基础项目设置的更多相关文章

  1. iOS开发基础之设置状态栏和二维码的unspported type found 问题

    最近遇到设置状态栏和二维码AVCaptureMetadataOutput setMetadataObjectTypes: unspported type found的错误问题,所以我在这里进行总结一下 ...

  2. (三十一)web 开发基础项目

    1. 编写index.jsp <%@ page language="java" contentType="text/html; charset=UTF-8" ...

  3. Java基础学习总结(70)——开发Java项目常用的工具汇总

    要想全面了解java开发工具,我们首先需要先了解一下java程序的开发过程,通过这个过程我们能够了解到java开发都需要用到那些工具. 首先我们先了解完整项目开发过程,如图所示: 从上图中我们能看到一 ...

  4. .NET项目开发的几个非常重要的项目设置

    在开发.NET项目的时候,包括Winform项目和Web方面的项目,编译和部署的时候,都需要考虑到是32位的X86方式,还是64位的方式,有时候还需要进行调试,如果没有合理设置好这些关系,还可能出现无 ...

  5. 开发环境中biztalk项目设置注意事项(转)

      适用版本:biztalk 2006 适用环境:开发测试环境 在开发过程中,在开发环境中,一定会是一个对项目不断的修改.编译.部署.测试,查看测试结果,发现有问题,然后回到开发环境再修改.编译.部署 ...

  6. Unity推荐设置(HoloLens开发系列)

    本文翻译自:Recommended settings for Unity Unity提供了一系列默认选项,这些选项能够适用于所有平台的一般情况.但是,Unity同样为HoloLens提供了一些特殊行为 ...

  7. 今天介绍一下自己的开源项目,一款以spring cloud alibaba为核心的微服务架构项目,为给企业与个人提供一个零开发基础的微服务架构。

    LaoCat-Spring-Cloud-Scaffold 一款以spring cloud alibab 为核心的微服务框架,主要目标为了提升自己的相关技术,也为了给企业与个人提供一个零开发基础的微服务 ...

  8. HoloLens开发手记 - 应用程序模型 App model

    HoloLens使用Universal Windows Platform (UWP)提供的应用模型.UWP应用模型定义了应用如何被安全和完全地安装.更新.版本控制和移除.它管理了应用生命周期 - 应用 ...

  9. HoloLens开发手记 - Unity development overview 使用Unity开发概述

    Unity Technical Preview for HoloLens最新发行版为:Beta 24,发布于 09/07/2016 开始使用Unity开发HoloLens应用之前,确保你已经安装好了必 ...

  10. Unity开发概览(HoloLens开发系列)

    本文翻译自:Unity development overview 要开始使用Unity创建全息应用,点此安装包含Unity HoloLens技术预览的开发工具.Unity HoloLens技术预览基于 ...

随机推荐

  1. 出现The server time zone value ‘�й���׼ʱ��‘ is unrecognized的解决方法

    使用mybatis链接数据库时出现如下错误, The server time zone value '�й���׼ʱ��' is unrecognized or represents more tha ...

  2. Maven 聚合工程的创建

    简单场景举例 聚合工程创建示例 说明: 创建 Maven Project:表示创建 maven 项目,new Project 方式创建 创建 Maven Module:表示创建 maven 项目,ne ...

  3. oracle日常命令

    ---查询锁表(查出后,再执行查询结果进行释放:可多次查询,存在循环锁表的情况)-- select 'alter system kill session '|| ''''|| sess.sid || ...

  4. Seata Server 1.5.2 源码学习

    Seata 包括 Server端和Client端.Seata中有三种角色:TC.TM.RM,其中,Server端就是TC,TM和RM属Client端.Client端的源码学习上一篇已讲过,详见 < ...

  5. 2022-11-14 Acwing每日一题

    本系列所有题目均为Acwing课的内容,发表博客既是为了学习总结,加深自己的印象,同时也是为了以后回过头来看时,不会感叹虚度光阴罢了,因此如果出现错误,欢迎大家能够指出错误,我会认真改正的.同时也希望 ...

  6. 基于python的数学建模---scipy库

    instance1: 求解下列线性规划问题 s.t.   代码: from scipy import optimizeimport numpy as npc = np.array([2,3,-5])A ...

  7. bugku 计算器

    打开就一个输入框和验证,尝试后发现输入框限制了位数,这还不简单,F12直接修改表单长度试试 成功得到flag

  8. ubuntu 18.04安装tensorflow (CPU)

    在已经安装anaconda环境及pip之后. 添加并设置pip配置文件: mkdir ~/.pip vim ~/.pip/pip.conf pip.conf文件内容: [global] index-u ...

  9. psutil.AccessDenied: psutil.AccessDenied

    解决办法 import psutil for proc in psutil.process_iter(): try: print(proc.name()) except (psutil.NoSuchP ...

  10. Py2neo:一种快速导入百万数据到Neo4j的方式

    Py2neo:一种快速导入百万数据到Neo4j的方式 Py2neo是一个可以和Neo4j图数据库进行交互的python包.虽然py2neo操作简单方便,但是当节点和关系达几十上百万时,直接创建和导入节 ...