Hololens2远程音视频通话与AR远程空间标注,基于OpenXR+MRTK3+WebRTC实现

Hololens2远程音视频通话与AR远程空间标注

使用Unity2021.3.21版本开发,基于OpenXR+MRTK3.0+WebRTC实现。

(1)通过视频获取视频帧的矩阵的方法可以参考:https://learn.microsoft.com/zh-cn/windows/mixed-reality/develop/advanced-concepts/locatable-camera-overview

复制代码
 通过MediaCapture类可以进行MR视频捕捉,当然也可以通过微软的第三方插件进行捕捉视频。通过改视频获取到视频帧对应的矩阵即可。

(2)视频坐标到空间坐标,根据(1)里面的视频帧对应的矩阵就可以了将视频上面的坐标转换到空间Hololens空间中

下面展示一些 内联代码片

复制代码
                /// <summary>
    /// 将屏幕上的坐标转换到世界坐标(将视频上的坐标转换成0到1的坐标,坐标原点为视频左下角,即为相对MR捕捉相机的屏幕坐标)
    /// </summary>
    /// <param name="x">(0~1)</param>
    /// <param name="y">(0~1)</param>
    /// <returns></returns>
    public Vector3 ScreenPointToWorldPoint(float x, float y)
    {

        Vector4 clipPos = Vector4.zero;

        clipPos.x = 2 * x  - 1;
        clipPos.y = 2 * y- 1;
        clipPos.z = -0;


        Vector3 cameraPosinv =cam.projectionMatrix.inverse.MultiplyPoint(clipPos);
      

        return cam.cameraToWorldMatrix.MultiplyPoint(cameraPosinv);
    }

## 

(3)附上一些学习视频:

复制代码
视频一:https://www.bilibili.com/cheese/play/ss16358
视频二:https://www.bilibili.com/video/BV12J4m1j7XS/
相关推荐
不吃鱼的猫74841 分钟前
【从零手写播放器:FFmpeg 音视频开发实战】04-封装格式与多媒体容器
c++·ffmpeg·音视频
好家伙VCC2 小时前
# 发散创新:基于ARCore的实时3D物体识别与交互开发实战 在增强现实(
java·python·3d·ar·交互
九丝城主3 小时前
1V1音视频对话4--FLUTTER实现
flutter·音视频
张张说点啥4 小时前
能做影视级可商业视频的AI工具,Seedance 2.0 全球首发实测
人工智能·音视频
qq_433502185 小时前
收集了一些免费视频背景映月素材网站分享记录
经验分享·学习·音视频·生活
上海合宙LuatOS1 天前
LuatOS核心库API——【hmeta 】硬件元数据
单片机·嵌入式硬件·物联网·算法·音视频·硬件工程·哈希算法
一个人旅程~1 天前
QQ音乐、potplayer、VLC等对音乐格式的支持和加密文件格式的转换有哪些方法?potplayer的音质相对于VLC有哪些特点?
windows·经验分享·电脑·音视频
音视频牛哥1 天前
从协议栈到工程落地:SmartMediaKit全链路模块化架构深度解析
音视频·rtsp播放器·rtmp播放器·安卓rtsp服务器·安卓轻量级rtsp服务·安卓rtsp摄像头推流·安卓摄像头rtmp推流
奔跑吧 android1 天前
【车载Audio】【AudioHal 04】【高通音频架构】【从 AHAL adev_open 到 PAL XML 解析:30微秒内的调用链深度追踪】
音视频·audiohal·车载audio·高通音频架构·ahal·audiofinger
REDcker1 天前
FFmpeg完整文档
linux·服务器·c++·ffmpeg·音视频·c·后端开发