我想从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);
}
}
我想看光滑的图片。但是该怎么做?
答案 0 :(得分:0)
如果是关于Unity Camera
的,则不必捕获任何内容。
只需创建一个新的RenderTexture
Assets
-> 右键单击-> Create
-> RenderTexture
让您的Camera
渲染到该RenderTexture
中,而不是通过简单地引用RenderTexture
中创建的Target Texture
来渲染游戏视图(这使得Camera
呈现给游戏视图,但呈现给引用的RenderTexture
)
,最后只需将创建的RenderTexture
用作Texture
的{{1}}
如果您需要RawImage
同时渲染到正常的游戏视图,则只需在子对象上使用另一个Camera
即可完成上述过程。
结果