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/
相关推荐
Android系统攻城狮9 小时前
Linux Gstreamer深度解析之gst_audio_encoder_set_frame_max调用流程与实战(六十一)
android·linux·运维·音视频·gstreamer音视频·音视频进阶·gstreamer音视频进阶
各类产品分享115 小时前
智慧矿山AR巡检系统哪家做得比较好
ar·ar巡检
redfred19 小时前
HyperFrames 部署教程:5.6 万 Star 开源「写 HTML 出视频」框架,Windows 从零上手(CLI 三条命令 + 7 个避坑)
ffmpeg·开源·自动化·html·音视频
martindelophy20 小时前
用自然语言剪视频:我们在 Timeline Studio 中实现了 ChatCut 对话剪辑
android·音视频
特视界说20 小时前
没有完整 3D 模型,能做产品三维动画吗?
3d·微信·音视频·新浪微博
特视界说20 小时前
产品宣传动画和企业宣传片有什么区别,应该先做哪个?
微信·音视频·新浪微博·新人首发
bluebonnet2720 小时前
【docker】容器内映射外部音频驱动
docker·容器·音视频
可乐鸡翅yeah_1 天前
FFmpeg 生成 HLS 独立分片 independent‑segments 参数到底有什么用
javascript·ffmpeg·音视频·safari·m3u8
企业数字化笔记1 天前
视频理解怎样从“看见”变成“判断”?几何规则、轨迹特征与动作模型的选型
音视频
各类产品分享2 天前
水务集团AR巡检系统选哪家公司好
ar·ar巡检