如何从Unity3d相机捕获帧并将其实时显示在另一张原始图像上?
我想从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
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
作为纹理
用于原始图像
如果同时需要摄影机
渲染到正常游戏视图,只需在子对象上使用另一个摄影机
,即可完成上述过程
结果