Unity WebCamTexture转Texture2D转byte[]

一:

WebCamTexture=>Texture2D

关键词:

GetNativeTexturePtr

CreateExternalTexture

只是要显示在屏幕上,这段代码没有问题

如果想要转成byte[] 

使用EncodeToJPG

则会有一个报错(暂时不知道什么原因)

Unable to retrieve image reference

使用 GetRawTextureData  

则会得到一个长度为0的数组

也可以直接把webCamera直接赋值到RawImage上

using System;
using UnityEngine;
using UnityEngine.UI;
public class Sample : MonoBehaviour
{

    public WebCamTexture webCamera;
    public RawImage image;

    public Texture2D t2d;
    private void Start()
    {
        webCamera = new WebCamTexture(WebCamTexture.devices[0].name);
        webCamera.Play();
        IntPtr pt = webCamera.GetNativeTexturePtr();

        t2d = Texture2D.CreateExternalTexture(webCamera.width, webCamera.height, TextureFormat.RGBA32, false, false, pt);
        image.texture = t2d;
    }
}

二、

WebCamTexture转Byte[]

你可能感兴趣的:(Unity疑难杂症,unity,WebCamTexture,Texture2D,byte[])