Unity WebCamTexture para Texture2D para byte[]

um:

WebCamTexture=>Textura2D

Palavras-chave:

GetNativeTexturePtr

CriarExternalTexture

Só para exibir na tela, não há problema com este código

Se você deseja converter para byte[] 

Usar EncodeToJPG

Então haverá um erro (ainda não sei o motivo)

Não foi possível recuperar a referência da imagem

Usando  GetRawTextureData  

Você obterá uma matriz de comprimento 0

Você também pode atribuir webCamera diretamente ao 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;
    }
}

dois,

WebCamTexture para Byte[]

Acho que você gosta

Origin blog.csdn.net/qq_35030499/article/details/131011508
Recomendado
Clasificación