你将收获

配置HoloLens2开发环境

创建和部署HoloLens2应用程序

实现HoloLens2间,以及HoloLens2与Web浏览器间的实时音视频通信

程序Bug的排查技巧

适用人群

Unity开发者,以及想要入门HoloLens2应用开发的同学

课程介绍

本课程将手把手带你开发一个HoloLens2应用,实现HoloLens2设备间,以及HoloLens2与Web浏览器间的实时音视频通话。课程涉及开发环境安装、应用部署、Bug排查等知识和技巧。

讨论留言
148 条回复 进入帖子
切换为未回复评论
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复

老师我做到第八章,hololens端和unity的本地端都能连接到信令服务器,而且点击按钮unity中也能接收到发送的信息,但是unity中就是不显示画面是怎么回事

  • 举报
回复
@m0_52846785web端控制台是否有报错,信令数据是否正常,以及换个网络环境试试,比如都连手机热点
  • 打赏
  • 举报
回复

作者还在吗

  • 举报
回复
@m0_52846785抱歉,很久没上csdn了
增强现实2024-03-19
  • 打赏
  • 举报
回复

img


web端控制台没报错,但是有这些问题看不懂

Apple_Coco2024-03-21
  • 举报
回复
@增强现实控制台里的报错和警告是跨域和响应头的问题。正常来说应该不碍事的,换个浏览器试试看
abcbbcdcdc2024-05-15
  • 举报
回复
@Apple_Coco老师您好,这个课程可以让Hololens2与pc端的unity进行通信吗
增强现实2024-03-19
  • 打赏
  • 举报
回复

老师,我摁了connect按钮,web端没有反应,信令服务器正常,web端Unity都没有报错,不知道怎么解决

img

Apple_Coco2024-03-21
  • 举报
回复
@增强现实正常来说,当你按了connect按钮后,unity端会发送offer信令,在信令服务器控制台中应该是可以看到一大串的文字输出的。如果local name和remote name配置正确的话,web端就会取到这个offer信令数据,从而开启后面的流程。根据我说的这个流程,检查下看看是不是有哪个环节出了问题。
增强现实2024-03-18
  • 打赏
  • 举报
回复

web程序可以在哪儿下载到吗?

增强现实2024-03-18
  • 举报
回复
@增强现实在评论区已经找到了
jadegreened2024-02-02
  • 打赏
  • 举报
回复

img


还有老师这是我的拿到的视屏,有点点糊。而且这个背景是虚化的不是周围的实景。请问该怎么解决呢?

jadegreened2024-02-02
  • 举报
回复
@jadegreened还有我可以把这个视屏拿出来放到后端里面去么?
Apple_Coco2024-02-02
  • 举报
回复
@jadegreened你是指背景里那些白色的线条吗,那个是环境平面检测功能,我记得在unity项目的HoloLens配置文件里可以关闭这个功能,具体你得找一下,查一下官方开发文档
Apple_Coco2024-02-02
  • 举报
回复
@jadegreened视频输出后端进行处理,这个功能我没做过,你可以查一下通过webrtc拿到的相关视频流是否可以使用,这里就需要你自己捣鼓一下啦
5条回复
jadegreened2024-02-02
  • 打赏
  • 举报
回复

img

老师您好,这是我遇到的问题,早上的时候这边还是可以打开的.已到了晚上这个页面就打不开了.请问这是什么问题呢?也没有报错.控制台反馈如下

img

. 还有老师,我也想要使用hololens来进行数据的传输,但是我想要通过网络接口的方式来进行通信,您觉得可行嘛?

jadegreened2024-02-02
  • 举报
回复
@jadegreened8001和8000都一样
jadegreened2024-02-02
  • 举报
回复
@jadegreened好像是浏览器的问题,不用edge dev就好了.我真怒了
  • 打赏
  • 举报
回复

老师,我想将hololens拍摄到的画面实时传送进unity,然后通过unity完成图像处理+生成物体模型。再将生成的模型,实时传送回hololens的显示端,这个想法是可行的吗

Apple_Coco2023-11-23
  • 举报
回复
@名字必须威武霸气理论上可以,webrtc也提供了data channel,可以用来传输数据。但这块我就没怎么研究了,需要你自己找下webrtc data channel相关资料捣鼓一下~ 实时性的话需要测试一下,不排除可能会有一定的延迟,并且你unity图像处理和生成模型的耗时也会影响最终体验,你尝试一下看看吧~
  • 打赏
  • 举报
回复

开发出来的Unity应用可以兼容ARM64架构的一些包吗?

Apple_Coco2023-11-15
  • 举报
回复
@沙砾59bf7de1ca29acb2理论上应该不行,因为这个WebRTC框架没记错的话是ARM32的,所以不兼容ARM64架构的包
  • 举报
回复
@Apple_Coco谢谢。确实不行,在找别的方案了
2301_782422482023-10-16
  • 打赏
  • 举报
回复
编译时运行报错:no capture devices are available 大佬这是为啥
shby888888882023-10-17
  • 举报
回复
@2301_78242248有摄像头吗
Apple_Coco2023-10-19
  • 举报
回复
@2301_78242248是部署到真机上报的找不到摄像头的错误吗,那这还是第一次碰到,不排除设备摄像头损坏了可能。试试HoloLens自带的拍照和录制视频功能是否能正常使用
shby888888882023-10-12
  • 打赏
  • 举报
回复

老师,web上和hololens上都能轮询到服务器,显示本端画面,但是我点击connect按钮后,浏览器端会报错Error: Connection failed.
at p._onConnectionStateChange (simplepeer.min.js:6:91242)
at _pc.onconnectionstatechange (simplepeer.min.js:6:81275)
同时两边都没有远端画面,您知道这是为什么吗

Apple_Coco2023-10-12
  • 举报
回复
@shby88888888这个问题我没碰到过欸,自己有自定义了些什么操作吗
shby888888882023-10-12
  • 举报
回复
@Apple_Coco老师,请问这个nodedss signaler脚本里的http server address应该设置成本机的ip吗,我设置成连的热点的ip,然后拔掉有线网,连热点,在unity里调试的时候,发现已经没有轮询了,接上学校的有线网,反而会有轮询信息,您知道这是为什么吗
shby888888882023-10-12
  • 举报
回复
@Apple_Coco没有的,而且中间某一次试的时候,web端两个视频都能看到,hololens端反而看不到remote的,现在被网络问题搞得头大,因为我们在用有线的校园网,每次ip地址都不一样,http server address也要改,hololens和电脑的ip也不一样,这样是可行的吗
2条回复
shby888888882023-10-11
  • 打赏
  • 举报
回复

老师,请问我在本地开手机热点实现了hololens和web的通讯,那么如何在其他人的电脑上也实现这个功能那,就是别人通过网页看到我眼镜的画面,我们可能不在同一局域网下,这该怎么办那?

Apple_Coco2023-10-12
  • 举报
回复
@shby88888888把信令服务器部署到云端,然后还要在云端部署自己的NAT穿透服务器,就可以实现非局域网的WebRTC通信了。这里就是WebRTC的相关知识点啦,你可以找这方面的资料了解一下~
shby888888882023-10-09
  • 打赏
  • 举报
回复

老师,我在添加了YUVFeedMaterial这个材质之后,场景里并没有黑色的框框,我点运行,会报错
[11:24:42] Network error trying to send data to http://127.0.0.1:3000/:Cannot connect to destination hostUnityEngine.Debug:LogError (object),画面也是全黑的

Apple_Coco2023-10-09
  • 举报
回复
@shby88888888这个报错是网络问题,你本地的nodedss服务有启动成功吗,没启动成功的话就会报这个错误。还有一种可能是电脑防火墙的问题,可以试着把防火墙关了看看。添加YUVFeedMaterial材质后,场景里没看到框看看是不是相机视角的问题
shby888888882023-10-10
  • 举报
回复
@Apple_Coco是的老师,我发现我转了180°才看到边框,虽然不知道为什么,相机一直是默认的位置,谢谢老师
shby888888882023-10-10
  • 举报
回复
@Apple_Coco老师我在添加那个手势菜单的时候,发现运行的时候即使我没有点击,数据就开始传输,但是我不加菜单就传输不了,您知道这是为什么吗,是不是可以设置按钮来控制他开始传输和结束那
2条回复
shby888888882023-10-08
  • 打赏
  • 举报
回复

老师,您那个使用技巧的视频在哪里还能看那

Apple_Coco2023-10-08
  • 举报
回复
@shby88888888抱歉啦,那个实用技巧里的方法已经过时了,所以我前段时间就把视频下架了。如果还感兴趣的话可以看看我之前记录的博客 https://blog.aayu.today/skill/environment-configuration/20210123/
shby888888882023-10-08
  • 打赏
  • 举报
回复

老师,您那个哔哩哔哩的视频找不到了

weixin_458360912023-10-07
  • 打赏
  • 举报
回复

老师,我在启用WebcamSource时候无法启动相机,请问你有遇到过这个情况吗?

img

Apple_Coco2023-10-08
  • 举报
回复
@weixin_45836091以前倒是碰过类似的,原因是相机设置为独占模式,当资源被其他应用占用时,就无法启动相机了,详细可以看 https://blog.csdn.net/Apple_Coco/article/details/116568291 我这篇博客。但感觉你的问题还不是这种,看你的截图日志下方,有一个不能加载mrwebrtc动态链接库的报错,感觉可能是这个原因引起的,你构建项目和打包时的配置是和我视频里的一致吗,有自己做过什么更改没
2301_782422482023-10-13
  • 举报
回复
@Apple_Coco我也项目也是报这个错。不知道什么原因。。。。
Apple_Coco2023-10-14
  • 举报
回复
@2301_78242248你在构建项目和打包时是否和视频里的一致呀
2条回复
permanent_xx2023-04-17
  • 打赏
  • 举报
回复

老师,我在web-RTC的文档中看到了SceneVideoSource这个Class。似乎是可以显示本地camera画面的。但是文档里面并没有详细去介绍这个SceneVideoSource应该如何配置,我自己折腾没成功,可以麻烦老师您看看应该如何配置吗?
https://microsoft.github.io/MixedReality-WebRTC/api/Microsoft.MixedReality.WebRTC.Unity.SceneVideoSource.html

img

Apple_Coco2023-04-18
  • 举报
回复
@permanent_xx我目前手边没有HoloLens设备,也没法捣鼓,而且关于HoloLens的Holographic Remoting for Play Mode功能,我之前也尝试用了,但可能是我电脑的问题,我用不了Holographic Remoting,可以看这里我和其他开发者在GitHub上的讨论(https://github.com/microsoft/MixedRealityToolkit-Unity/issues/8214#issuecomment-789994666)。而且我觉得你可以尝试就你的问题在GitHub上发一个issue,可能就会有人能帮到你。到现在这个自己折腾阶段了,更适合和GitHub上的开发者打交道了哈哈
permanent_xx2023-04-18
  • 举报
回复
@Apple_Coco好谢谢老师
permanent_xx2023-04-19
  • 举报
回复
@Apple_Coco老师我还想问一下,web端的代码为什么好像并没有涉及到web-rtc相关的代码,我目前想看看web端是在哪里对视频的stream进行渲染的
2条回复
permanent_xx2023-04-12
  • 打赏
  • 举报
回复

老师,请问一定要部署项目才能看到HoloLens端的第一视角吗?这是我在unity中使用HoloLens的Holographic Remoting for Play Mode功能,显示的画面还是电脑摄像头的画面。

img

Apple_Coco2023-04-12
  • 举报
回复
@permanent_xx本地开发调试可能确实没有办法能直接播放HoloLens的画面,因为相关的运行脚本还是跑在你本机电脑上的,确实没有办法能直接连接到HoloLens上吧我觉得,感觉此问题无解
permanent_xx2023-04-11
  • 打赏
  • 举报
回复

老师,请问是否可以在调试的时候把unity端(HoloLens端)的本地视频换成游戏里camera看到的画面呢,而不是电脑摄像头看到的画面,这样在调试的时候会更加方便,因为我们是共用一套HoloLens,如何可以无设备开发会方便很多

Apple_Coco2023-04-12
  • 举报
回复
@permanent_xx没太理解你的意思呀,游戏里camera看到的画面是指什么,是HoloLens端运行的游戏吗
permanent_xx2023-04-12
  • 举报
回复
@Apple_Coco对 就是HoloLens端运行时看到的画面
Apple_Coco2023-04-12
  • 举报
回复
@permanent_xx噢我大概理解你的意思了,我暂时也没想到其他办法能更方便的调试
permanent_xx2023-04-06
  • 打赏
  • 举报
回复

老师我今天unity端突然出现了一个错误,Failed to deserialize JSON message
具体出错的代码是:
else if (AutoLogErrors)
{
Debug.LogError($"Failed to deserialize JSON message : {json}");
}

img


这个是为什么呢

Apple_Coco2023-04-07
  • 举报
回复
@permanent_xxjson数据解析出错了,正常情况下解析offer和answer之类的信令数据是不会出错的,你这个是传递了自己的数据吗?你可以阅读下报错的那个函数,挺好懂的,然后自己添加几个输出语句,将传过来的数据打印到控制台上,看看是什么json数据,然后对称下药就好啦
permanent_xx2023-04-09
  • 举报
回复
@Apple_Coco这个确实挺奇怪的 因为这个是只开启unity端,甚至没有启动对等连接就报这个错,然后对应的json message也是null
permanent_xx2023-04-09
  • 举报
回复
@Apple_Coco然后我刚刚重新去配置webrtc发现到添加本地视频,发现现在只要添加了NodeDssSignlar的脚本就会报错了这个错误了
2条回复
加载更多回复