Noticias

¡RECUERDA QUE SI ERES UN NUEVO USUARIO, DEBES PRESENTARTE PARA PODER PUBLICAR MENSAJES! | TENEMOS CANAL OFICIAL DE TELEGRAM: t.me/unity3dspain

Cambiar Alpha de un material

Iniciado por lanchas22, Abril 05, 2016, 09:45:20 AM

Tema anterior - Siguiente tema
Buenos días, estoy intentando cambiar el alpha de un material, pero unity no me permite. me dice que no tiene un sprite renderer, el objeto solo tiene 3 materiales asignados, es una pared con 3 materiales, he intentado hacer esto.el alpha lo quiero cambiar después, a través de un scrollbar.using UnityEngine;
using System.Collections;public class Transparencias : MonoBehaviour {
    public KeyCode increasealpha;
    public KeyCode decreasealpha;
    public float alphalevel = .5f;
    void Start () {    }
    
    void Update () {
        if (Input.GetKeyDown (increasealpha))
                alphalevel += .40f;
        
        if (Input.GetKeyDown (decreasealpha))
            alphalevel -= .40f;
    
        GetComponent<SpriteRenderer> ().color = new Color (1, 1, 1, alphalevel);
    }
}Muchas gracias

Pero son conceptos distintos. Un sprite o image es una imagen 2D con un renderer.Los materiales son shaders que pueden contener diferentes tipos de texturas y tienen su propio renderer.Los materiales pueden aplicarse a otras imágenes 2D o a objetos 2D/3D.Para cambiar el color (y el alpha) de un objeto debes obtener su renderer, de éste su material (o textura) y de éste su color para cambiarlo.O sea, suponiendo que lo llamo desde el objeto que contiene los materiales.GetComponent<Renderer>().material.color = Color....Te vas a encontrar con casos que el color del material no es tan fácil de encontrar, ya que lo deberás llamar por su nombre y éste depende del shader que se utilice. Como siempre, nada es tan sencillo como parece.

[quote author=iRobb" data-ipsquote-contapp="forums" data-ipsquote-contenttype="forums" data-ipsquote-contentclass="forums_Topic" data-ipsquote-contentid="35561" data-ipsquote-contentcommentid="129147 date=1459845020]Pero son conceptos distintos. Un sprite o image es una imagen 2D con un renderer.Los materiales son shaders que pueden contener diferentes tipos de texturas y tienen su propio renderer.Los materiales pueden aplicarse a otras imágenes 2D o a objetos 2D/3D.Para cambiar el color (y el alpha) de un objeto debes obtener su renderer, de éste su material (o textura) y de éste su color para cambiarlo.O sea, suponiendo que lo llamo desde el objeto que contiene los materiales.GetComponent<Renderer>().material.color = Color....Te vas a encontrar con casos que el color del material no es tan fácil de encontrar, ya que lo deberás llamar por su nombre y éste depende del shader que se utilice. Como siempre, nada es tan sencillo como parece.[/quote]Muchas gracias. voy a intentar conseguirlo.un saludo.

Etiquetas: