一、开始前说一下,在制作这个Demo过程中面临了无数坑、碰壁,为了后来者更快上手,写这篇blog,中间可能会有别的问题,暂时没记录到,后面遇到再说,这篇文章主要讲怎么把mrwebrtc用在hololens上,我使用的是hololens2(unity开发),所以直接选择的ARM框架打包。
二、正式开始。
1.首先需要下载MixedReality-WebRTC的库文件,链接:https://github.com/microsoft/MixedReality-WebRTC
注意:下载时下载两个文件,一个库文件
com.microsoft.mixedreality.webrtc-2.0.1.tgz
一个示例文件
com.microsoft.mixedreality.webrtc.samples-2.0.1.tgz
然后需要下载示例中使用的nodedss服务器,链接:https://github.com/bengreenier/node-dss
注意:我当时下完这个是懵的,不知道是干嘛的,我们需要先下载nodejs(https://nodejs.org/en/),安装完nodejs后,在我们的cmd中cd到我们保存nodedss服务器的位置
然后在控制台输入
set DEBUG=dss*
npm install
npm start
等到npm服务安装完成后就开始运行了,运行成功的标志是
至此,我们的服务器就完成了。现在进入unity阶段,在unity的packagemanager中添加package,选择使用本地添加,分别选择我们下载的MixedReality-WebRTC下的package.json和MixedReality-WebRTC samples下的package.json,加载进项目。之后可以看到项目中packages文件夹下有了MixedReality-WebRTC和MixedReality-WebRTC Samples两个文件夹,打开samples下的VideoChatDemo场景,运行一下就可以看到服务器开始刷新消息,表示连接成功。
然后,我们想要把当前的项目打包到hololens,首先切换UWP平台,
Unity工程 Player Setting 需要注意的设置
1.Other Settings :关闭Graphics Jobs选项,没有关闭的话,有些Unity版本导出来的项目,运行会报错
2. Publishing Settings:在Capabilbilities里,检查确保打开了HoloLens2的相机还有麦克风支持,否在WebRTC插件在设备上运行时无法正确初始化
3. Supported Device Families:勾选Holographic(这部分解决方案是https://blog.csdn.net/lwsas1/article/details/108532642 这位网友提供的,感谢!)
,导入MRTK,添加MRTK进场景,在打包时要注意,不要使用unity的打包工具,使用MRTK的打包工具,打包成VS解决方案,打开打包后的VS解决方案,选择Release+ARM开始打包,基本就成功了。注意:要用MRTK的打包工具,使用unity打包工具会造成打包到hololens上后闪退。