[RESOLVIDO] Criar textura com fundo transparente
2 participantes
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
[RESOLVIDO] Criar textura com fundo transparente
Olá,
Estou desenvolvendo uma aplicação em Unity, e existe um momento que preciso tirar um print da tela do dispositivo e gerar uma imagem (PNG, JPG ou outro formato), porem essa imagem gerada precisa ter o fundo transparente, mas não estou conseguindo desenvolver isso, alguém tem alguma ideia?
Esse era o código que estava trabalhando, mas sem sucesso.
Estou desenvolvendo uma aplicação em Unity, e existe um momento que preciso tirar um print da tela do dispositivo e gerar uma imagem (PNG, JPG ou outro formato), porem essa imagem gerada precisa ter o fundo transparente, mas não estou conseguindo desenvolver isso, alguém tem alguma ideia?
Esse era o código que estava trabalhando, mas sem sucesso.
- Código:
Texture2D resultCannyTexture = new Texture2D(resultInvertMat.cols(), resultInvertMat.rows(), TextureFormat.ARGB32, false);
Utils.matToTexture2D(resultInvertMat, resultCannyTexture);
Color[] pixel = resultCannyTexture.GetPixels();
for (int i = 0; i < pixel.Length; i++)
{
pixel[i].a = pixel[i].grayscale;
}
resultCannyTexture.SetPixels(pixel);
resultCannyTexture.Apply();
var bytes = resultCannyTexture.EncodeToPNG();
File.WriteAllBytes(imagePath, bytes);
Evertonslv- Iniciante
- PONTOS : 1586
REPUTAÇÃO : 1
Respeito as regras :
Re: [RESOLVIDO] Criar textura com fundo transparente
Dê uma olhada nesse tópico:
https://www.schultzgames.com/t1911-tutorial-unity-5-skid-marks-marcas-de-derrapagem?highlight=skid
No final do código, tem uma função que eu criei, chamada "CriarTexturaRastros"... Nela eu crio uma textura com partes transparentes.
Basta criar a cor RGBA antes, e depois aplicar nos pixels desejados.
https://www.schultzgames.com/t1911-tutorial-unity-5-skid-marks-marcas-de-derrapagem?highlight=skid
No final do código, tem uma função que eu criei, chamada "CriarTexturaRastros"... Nela eu crio uma textura com partes transparentes.
Basta criar a cor RGBA antes, e depois aplicar nos pixels desejados.
Re: [RESOLVIDO] Criar textura com fundo transparente
Olá,
Funcionou perfeitamente, muito obrigado.
Esse foi o código adaptado para minha necessidade.
Funcionou perfeitamente, muito obrigado.
Esse foi o código adaptado para minha necessidade.
- Código:
public Texture2D GetTransparentTexture()
{
Color transparentColor = new Color(1.0f, 1.0f, 1.0f, 0f);
Texture2D texture = LoadTexture2D();
for (int y = 0; y < texture.height; y++)
{
for (int x = 0; x < texture.width; x++)
{
if (!Color.black.Equals(texture.GetPixel(x, y)))
{
texture.SetPixel(x, y, transparentColor);
}
}
}
texture.Apply();
return texture;
}
public Texture2D LoadTexture2D()
{
Texture2D Texture = null;
byte[] fileData;
if (File.Exists(PropertiesModel.PathObjectDrawing))
{
fileData = File.ReadAllBytes(PropertiesModel.PathObjectDrawing);
Texture = new Texture2D(2, 2, TextureFormat.ARGB32, false);
Texture.LoadImage(fileData);
}
return Texture;
}
Evertonslv- Iniciante
- PONTOS : 1586
REPUTAÇÃO : 1
Respeito as regras :
Tópicos semelhantes
» [RESOLVIDO] - Blender - Erro deixa objeto Transparente
» [RESOLVIDO]Como aplicar textura trânsparente na unity
» [RESOLVIDO] tem como mudar a cor desse fundo de distância azul?
» Como criar sombra em objeto transparente?
» [RESOLVIDO] Bug Textura Unity
» [RESOLVIDO]Como aplicar textura trânsparente na unity
» [RESOLVIDO] tem como mudar a cor desse fundo de distância azul?
» Como criar sombra em objeto transparente?
» [RESOLVIDO] Bug Textura Unity
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos