Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从Unity3d相机捕获帧并将其实时显示在另一张原始图像上?_Unity3d_Camera_Rawimage - Fatal编程技术网

如何从Unity3d相机捕获帧并将其实时显示在另一张原始图像上?

如何从Unity3d相机捕获帧并将其实时显示在另一张原始图像上?,unity3d,camera,rawimage,Unity3d,Camera,Rawimage,我想从Unity3d虚拟相机中捕获帧,然后让它们显示在另一个原始图像上。结果是原始图像屏幕闪烁很多 using UnityEngine; using UnityEngine.UI; public class RawImageVirtualWebCamTexture : MonoBehaviour { private RawImage rawimage; void Start() { GameObject obj = GameObject.Find("R

我想从Unity3d虚拟相机中捕获帧,然后让它们显示在另一个原始图像上。结果是原始图像屏幕闪烁很多

using UnityEngine;
using UnityEngine.UI;

public class RawImageVirtualWebCamTexture : MonoBehaviour
{
    private RawImage rawimage;

    void Start()
    {
        GameObject obj = GameObject.Find("RawImageTransform");
        rawimage = obj.GetComponent<RawImage>();
    }

    void OnRenderImage(RenderTexture source, RenderTexture destination)
    {
        if (source != null)
        {
            rawimage.texture = source;
        }
        Graphics.Blit(source, destination);
    }
}
使用UnityEngine;
使用UnityEngine.UI;
公共类RawImageVirtualWebCamTexture:MonoBehavior
{
私有图像;
void Start()
{
GameObject obj=GameObject.Find(“RawImageTransform”);
rawimage=obj.GetComponent();
}
void OnRenderImage(渲染器源、渲染器目标)
{
如果(源!=null)
{
rawimage.texture=源;
}
图形。Blit(源、目标);
}
}

我想看平滑的图片。但是如何做到这一点呢?

如果是关于Unity
摄像机的话,你不需要捕捉任何东西

只需创建一个新的

资产
->右键单击->
创建
->
渲染环境

让您的
相机
渲染到该
渲染器
中,而不是通过在
目标纹理
中简单引用创建的
渲染器
来渲染游戏视图(这使得该
相机
不再渲染到游戏视图,而是渲染到引用的
渲染器

最后,只需将创建的
RenderTexture
作为
纹理
用于
原始图像


如果同时需要
摄影机
渲染到正常游戏视图,只需在子对象上使用另一个
摄影机
,即可完成上述过程


结果