NoiseFloor 发表于 2021-12-9 09:59

Hololens的UE4开发

大家好,我是很久不见,主要从事的方向是引擎美术。
本月事情比较多,本来没有时间做原创文章内容的,于是准备转载一篇地编教程,经过我翻译校对过的,但是在要发布的时候发现某公众号将此教程设置为了“原创”,于是临时更换了本期文章的内容。
1开发环境
WIN10版本,win10 1809及以上版本。


Visual Studio版本,VS2019 16.2或更高版本。


在安装时勾选:C++桌面开发工具、.NET桌面开发工具、通用Windows平台开发工具。


Windows 10 SDK(10.0.18362.0)


安装下列独立组件:
编译器、编译工具和运行时组件 > MSVC v142 - VS 2019 C++ ARM64版编译工具(最新版本)。USB连接可能也有帮助。


安装时勾选独立组件USB设备连接性,后期打包完成,
连接电脑加载安装包时会用到。


2Hololens2模拟器安装


检查默认设置并继续,确保安装模拟器(Emulator)、模拟器镜像(Emulator Image)和 Visual Studio模板(Visual Studio Templates)。


UE4版本 4.23以上,并安装两款插件:





从Epic Games启动程序安装支持文件。如果是首次为HoloLens打包项目,需要从Epic Games启动程序下载支持文件。




UE4不同版本对Hololens2功能的支持:




3开发插件
MRTK(MIXED REALITY TOOLKIT)



混合现实工具包(MRTK)是一个用于混合现实应用程序的开源,跨平台开发工具包。MRTK提供了跨平台的输入系统,基础组件以及用于空间交互的通用构建基块。该工具包旨在加速针对Microsoft HoloLens,Windows Mixed Reality沉浸式(VR)头戴式受话器和OpenVR平台的应用程序的开发。
先决条件:
在开始使用UX Tools之前,请确保已安装必需的工具。

获取预建插件:
如果您只想将UXT添加到游戏项目中,最快的方法是通过发布页面中提供的打包插件:
1.从最新版本的页面下载打包的插件zip (例如UXTools.0.9.0.zip)。
2.将文件直接解压缩到项目的Plugins文件夹中。该插件文件夹应位于你的项目,其中的根.uproject文件。如果不存在,请创建它。
3.如果您打算将其打包为HoloLens,请确保您的游戏项目是一个代码而非纯蓝图。否则,UE将无法打包它,因为它无法构建插件源。
4.打开您的项目,并在“插件”菜单中启用“ UX工具”插件。


新建工程没有“Plugins”文件夹,自己在目录下新建,并将UXTools插件放入该文件夹中。


打开UE4项目时会发现在插件目录下已经有了UX Tools的插件。


MRTK配套官方案例:


包含的案例如下:
AffordanceTest 功能可见性测试
BoundsControl 边界控制
Button 按钮
Follow 跟随
HandConstraint 手约束
Loader 加载
ObjectManipulator 对象操纵器
Slider 滑块


视频内容包括使用UE4自带套件开发简介、使用UX Tools插件开发简介、插件安装、应用打包。建议作为开发入门看一下。
4UX Tools插件内容简介
案例内容:
若要在在UE4中运行关卡,需要在世界场景设置的gamemode中选择“MRGameMode”。


操作方式:
Shift+鼠标控制左手,中间:指,右键:翻腕。Alt+鼠标控制右手,中间:指,右键:翻腕
1. AffordanceTest 功能可见性测试




蓝图类下加载了一个Actor物体和一个UxtBoundsControl组件。
其中“Preset”包含了控制边界的几种预设。


2. BoundsControl 边界控制




案例包含六个边界控制的蓝图类,对应的是UxtBoundsControl中的六种预设。


3. Button 按钮




案例包含了按钮的几种样式:
圆形按钮、方形按钮、开关、勾选开关、切换开关等。
在蓝图类中添加UxtPressableButton组件。


按钮风格与WIN10系统风格类似








4. Follow 跟随




案例中蓝图类下加载了一个Follow组件。包含了该组件的可调节参数。


5. HandConstraint 手约束




案例中的蓝图类添加了UxtPalmUpConstraint组件,可以设置相关参数。


6. Loader 加载






案例通过按钮事件驱动层关卡的加载与卸载。




7. ObjectManipulator 对象操纵器




蓝图类中添加UxtGenericManipulator组件。
其中One hand Rotation Mode中可以设置不同的抓取操作方法。


8. Slider 滑块




蓝图类中添加UxtPinchSlider组件。
在蓝图中可以进行相关设置。




插件内容:


UXTools内容中主要包含案例中所使用的资源和蓝图类。


UXTools C++类主要包含了蓝图组件等C++资源。
UXTools插件介绍、功能、API文档:
https://microsoft.github.io/MixedReality-UXTools-Unreal/version/public/0.9.x/Docs/WelcomeToUXTools.html
另外说一下,本期文章是我的一个早期课件,MRTK开发套件现已经可以从虚幻商城直接进行下载了,方便了很多。有兴趣的朋友可以尝试下载试用一下。


以上就是本次案例的内容了。下一期文章会接着介绍使用UE4打包HoloLens项目的内容。
本次案例是我的个人练习,如有不足之处,希望大家可以一起交流学习,一起变得更强!
页: [1]
查看完整版本: Hololens的UE4开发