IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> HoloLens2之路-Unity2019.4+MRTK2.6配置 -> 正文阅读

[游戏开发]HoloLens2之路-Unity2019.4+MRTK2.6配置

版权声明:Davidwang原创文章,严禁用于任何商业途径,授权后方可转载。

??本节主要讲述利用Unity2019.4LTS + MRTK2.6 的项目创建配置流程,下一节讲述Unity2020.3LTS + MRTK2.7 进行项目配置流程。Unity2021.3LTS还未发布 ,MRTK只会适配TLS版本,到时根据情况再进行完善。

??HoloLens2设备是一款便携式、可穿戴的移动设备,其应用开发部署流程与传统应用有些不太一样,下面我们从导入MRTK、配置工程项目、导出WMR(Windows Mixed Reality)应用,全流程体验开发MR应用的过程。

(一)、 创建工程

??通过Unity Hub,新建一个工程,选择3D模板、填写好项目名称、选择工程存储路径,项目名称与工程存储路径建议使用英文以防出现字符识别问题,如图1所示。
在这里插入图片描述

图1 新创建Unity工程

??工程创建完成后,在Unity菜单中,依次选择File> Build Settings(或者使用快捷键Ctrl+Shift+B),打开构建设置窗口,选择“Universal Windows Platform”,然后单击Switch Platform按钮切换工作平台到UWP平台(Universal Windows Platform,通用Windows平台),如图2所示。
在这里插入图片描述

图2 切换至UWP工作平台

??将工作平台切换到UWP平台后就可以导入MRTK工具包,MRTK支持以两种方式导入到Unity工程中,在实际使用中,使用其中任何一种方式都可以,下面分别予以介绍。

(二)、 直接导入MRTK工具包

??在Unity菜单中,依次选择Assets > Import Package > Custom Package…,打开资源导入窗口,选择已下载的Microsoft.MixedReality.Toolkit.Unity.Foundation.2.6.1.unitypackage包,将其导入到工程中。工具包导入完成后,会弹出MRTK项目设置窗口,可以根据需要进行设置,这里我们直接点击Apply按钮使用默认设置,如图3所示。

??Foundation工具包是使用MRTK开发套件的必选包,而Examples、Extensions、Tools、TestUtilities包则是可选包,可以根据需要导入(建议读者全部导入,可以随时查看示例、使用MRTK提供的各类工具,本书后面部分内容也需要使用到各类工具包)。
在这里插入图片描述

图3 配置对话框界面

??使用这种方式导入MRTK工具包最直观简单,但存在的问题是不好进行工具包升级,而且只能全部一次性导入,不能按需求导入指定功能,因此,我们也可以使用Unity提供的包管理器(Unity Package Manager,简称UPM)导入MRTK工具包。

(三)、 使用UPM导入MRTK工具包

??由于MRTK工具包目前并非Unity官方提供的组件包,因此首先需要在清单文件(manifest.json)中加入包源地址,在Unity中进行注册。在Windows文件管理器中打开Unity工程文件路径,使用Visual Studio 2019打开工程文件Packages/manifest.json文件,在该文件行首“{”后添加如代码清单1所示服务注册配置。
??代码清单1

{  //manifest.json文件原首行
  "scopedRegistries": [
    {
      "name": "Microsoft Mixed Reality",
      "url": "https://pkgs.dev.azure.com/aipmr/MixedReality-Unity-Packages/_packaging/Unity-packages/npm/registry/",
      "scopes": [
        "com.microsoft.mixedreality",
        "com.microsoft.spatialaudio"
      ]
    }
  ],

??添加完以上配置后,Unity就能正确解析和定位所使用服务,但我们并没有指定所需要的工具包,因此还需要将所使用的工具包名添加到依赖项(dependencies)中,如代码清单2所示,我们将Foundation、Tools、Examples工具包添加到依赖项中。
??代码清单2

"dependencies": {  //manifest.json文件原依赖项声明行
  "com.microsoft.mixedreality.toolkit.foundation": "2.6.1",
  "com.microsoft.mixedreality.toolkit.tools": "2.6.1",
  "com.microsoft.mixedreality.toolkit.examples": "2.6.1",

??完成所有配置后,保存文件,返回Unity软件,Unity将会自动加载MRTK Foundation工具包,在菜单中依次选择Window> Package Manager,打开包管理器窗口, 可以在该管理器中升级、卸载、管理Foundation包(名称为Mixed Reality Toolkit Foundation)。与Foundation包会自动加载不同,Examples、Tools包则需要开发者自行加载,如需要使用演示案例,在UPM窗口中,选择“Mixed Reality Toolkit Examples”,在右侧面板打开的案例列表中选择需要的案例,点击其后的Import into Project按钮即可完成该案例的导入,如图4所示。
在这里插入图片描述

图4 使用UPM管理MRTK工具包

??使用UPM管理MRTK工具包的好处是灵活性强,可以随时升级工具包版本,但需要注意的是,如果在使用中卸载了工具包,UPM中将不会出现对应的包名,这时需要重新编辑manifest.json文件以使Unity重新导入该包。

(四)、 使用MRFT导入MRTK工具包

??从MRTK2.6开始,微软公司提供了Mixed Reality Feature Tool(混合现实特性工具,简称MRFT)工具,该工具以可视化的方式管理MRTK工具包,可以大大简化MRTK工具包的管理[ 使用MRFT需要安装.NET 5运行时,下载地址:https://dotnet.microsoft.com/download/dotnet/5.0]。MRFT是一个独立的工具程序,其实质也是通过修改manifest.json文件引导Unity加载MRTK相应工具包,使用该工具程序导入MRTK工具包非常简单,首先指定要进行处理的Unity工程路径,然后选择好相应的工具包即可完成操作,如图5所示,在返回到Unity编辑器时,Unity会自动检测和加载对应的工具包。
在这里插入图片描述

图5 使用MRFT管理MRTK工具包

??使用MRFT管理MRTK工具包的最大好处是可以直观的看到所有MR应用开发所需要的工具包集合,并且可以选择加载指定版本。

(五)、 导入TextMeshPro工具包

??TextMeshPro是文字渲染工具包,相比于其他文字渲染插件,它使用有向距离场(Signed Distance Field,简称SDF)渲染文本,支持UI和3D文字渲染,在不同的分辨率和不同的位置下都能渲染出清晰的文本,而且它通过使用不同的简洁高效着色器来实现描边、阴影、发光等效果,有更好的性能表现。MRTK使用TextMeshPro渲染文本,可以预先导入该工具包,如果未预先导入,在使用到文本渲染时,也会弹出导入提示。我们预先导入该工具包,在Unity菜单中,依次选择Window> TextMeshPro >Import TMP Essential Resources,在随后打开的资源导入窗口中点击Import按钮即可完成导入,如图6所示。
在这里插入图片描述

图6 导入TextMeshPro工具包

(六)、 配置Unity项目

??现在我们已经把各类所需工具包导入到了项目中,在Unity菜单中,依次选择Edit> Project Settings打开项目配置窗口对项目进行配置。在打开的项目配置窗口中选择Player模块,在右侧功能区正确填写Company Name和Product Name,其他暂时全保持默认即可[ 项目配置窗口是设置管理各类项目属性、功能特性的地方,与项目所有功能特性、发布相关配置均在这里设置,在开发实际项目时需要认真详细填写项目配置窗口的各属性,以使发布的应用达到预期和优化性能。]。
??由于MR应用在Unity中被归类为XR应用类型,如果仅进行以上配置,最后生成发布的应用运行后是以窗口形式展现的2D应用,因此还需要激活Unity的XR功能,可以有两种方式进行设置。

(1)、使用XR Plugin Management

在项目配置窗口中选择XR Plug-in Management模块,在右侧面板中点击Install XR Plugin Management安装XR插件,在安装完成后,勾选“Initialize XR on Startup”和“Windows Mixed Reality”属性多选框,然后选择左侧XR Plug-in Management模块下新添加的“Windows Mixed Reality”子模块,按需勾选功能,这里暂时保持默认设置,如图7所示。
在这里插入图片描述

图7 使用XR Plugin Management设置XR功能

(2)、使用Legacy XR

??在项目配置窗口中选择Player模块,展开UWP平台下的XR Settings卷展栏,勾选“Virtual Reality Supported”属性多选框,单击Virtual Reality SDKs下方的“+”图标,选择“Windows Mixed Reality”以添加Windows Mixed Reality SDK。
尔后在出现的面板中设置Depth Format属性为16-bit Depth、勾选Enable Depth Buffer Sharing多选框、Stereo Rendering Mode属性为Single Pass Instance、根据需要勾选WSA Holographic Remoting Supported属性,如图8所示。

在这里插入图片描述

图8 使用Legacy XR设置XR功能

??我们建议采用第1种方式设置XR功能,第2种设置方式已经在Unity 2020版本中被移除,为了保持叙述完整性这里一并进行了介绍[ 本书后文有部分内容依赖Legacy XR设置方式,在相应内容部分会有特别提示。]。

(七)、 创建和设置场景

??在Unity菜单中,依次选择Mixed Reality Toolkit > Add to Scene and Configure,MRTK会自动在当前场景中添加必须的游戏对象,并为MR使用配置好Main Camera对象的各属性。
在Hierarchy窗口中,选择MixedRealityToolkit游戏对象,然后在Inspector窗口中,选择MixedRealityToolkit组件下的主配置文件为DefaultHoloLens2ConfigurationProfile,如图9所示,使用默认的HoloLens2配置文件。
在这里插入图片描述

图9 使用默认的HoloLens2配置文件

??作为演示,我们在场景中新创建一个立方体对象,调整立方体边长为0.2,适当调整一下立方体位置和角度,以使其能在MR应用启动时被看到,其他保持默认。

(八)、 导出Unity工程

??为更好的控制生成过程,我们首先需要将Unity工程导出为Visual Studio工程,在Unity菜单中,依次选择File > Build Settings,打开构建设置窗口,如图10所示。在构建设置窗口中添加场景,设置Target Device属性为Any Device、Architecture属性为X64,并根据需要设置其他属性,设置完成后,点击“Build”按钮将其构建到一个空的目标文件夹中。
在这里插入图片描述

图10 Unity工程导出设置
  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2021-11-23 12:41:48  更:2021-11-23 12:43:30 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 23:43:37-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码