首页 > 解决方案 > MRTK V2 - 旁观者视图:看不到动态纹理

问题描述

设置:
我正在使用nativ 渲染插件在纹理上显示 webcontant 并且不会使主线程过载。Unity 端将纹理传递给插件,代码每帧都会更改它的像素。这是通过使用Texture.GetNativeTexturePtr完成的:

private void CreateTextureAndPassToPlugin()
{
    // Create a texture
    Texture2D tex = new Texture2D(1280, 720);
    tex.filterMode = FilterMode.Point;

    // Call Apply() so it's actually uploaded to the GPU
    tex.Apply();

    // Set texture onto material
    GetComponent<Renderer>().material.mainTexture = tex;

    // Pass texture pointer to the plugin
    SetTextureFromUnity (connID, tex.GetNativeTexturePtr(), tex.width, tex.height);
}

我根据微软的指南设置了整个旁观者视图的东西。我可以用我的 HoloLens 做一些事情,第二个人可以通过安卓设备看到我的交互。问题是观众无法在 android 设备上看到我的纹理/网络内容。

我想要什么:
sb 是否知道如何告诉统一纹理已更改并需要更新?我在这方面的知识非常有限。据我了解,问题似乎出在观众身上,而观众并没有提供解决问题的方法。

我的规格:
Unity 2019.2.0f1
Visual Studio 2017
原生插件:Unity Bitbucket Github

标签: c#unity3daugmented-realityhololensmrtk

解决方案


Spectator View 目前没有内置对动态纹理的支持。

如果您尝试拍摄体验以提供第二个观点,那么不太理想的解决方法是在视频中伪造此内容。理论上,您可以将此纹理内容记录到 hololens 设备上的 mp4 中,然后用 mp4 替换您的内容以进行拍摄。

如果您需要实时更新内容,您可以使用 MixedReality-WebRTC repo 之类的东西来获取内容并将其同步到 android 设备。我个人并没有花费大量时间使用 WebRTC,也不确定这样做的相关成本。

无论如何,这是一个合理的功能请求,我已经打开了以下问题进行跟踪: https ://github.com/microsoft/MixedReality-SpectatorView/issues/224


推荐阅读