Material emissor
3 participantes
Página 1 de 1
Material emissor
Tem como eu ativar um material emissor quando eu apertar a tecla L?
Wesley Leal- Membro
- PONTOS : 3420
REPUTAÇÃO : 1
Áreas de atuação : Modelagem 3D
Respeito as regras :
Re: Material emissor
Bom, eu não achei muito conteúdo no site do Unity sobre isso, a não ser:
Eu faria uma gambiarra ai. Duplicaria o objeto, sendo que um ficaria com o Emissive e o outro não. O objeto com Emissive vai ficar desativado, e quando você apertar "L", vai ativá-lo. Em seguida desative o objeto sem Emissive.
Quando você apertar L novamente, vai acontecer exatamente o inverso do acima.
- Spoiler:
http://forum.unity3d.com/threads/dynamic-emission-in-real-time-gi.293569/
http://forum.unity3d.com/threads/standard-shader-emission-value.280153/
Eu faria uma gambiarra ai. Duplicaria o objeto, sendo que um ficaria com o Emissive e o outro não. O objeto com Emissive vai ficar desativado, e quando você apertar "L", vai ativá-lo. Em seguida desative o objeto sem Emissive.
Quando você apertar L novamente, vai acontecer exatamente o inverso do acima.
George Lucas Vieira- Avançado
- PONTOS : 3392
REPUTAÇÃO : 132
Idade : 21
Áreas de atuação : Programação, Modelagem e Animação.
Respeito as regras :
Re: Material emissor
Mas como eu ativo e desativo o objeto?
Wesley Leal- Membro
- PONTOS : 3420
REPUTAÇÃO : 1
Áreas de atuação : Modelagem 3D
Respeito as regras :
Re: Material emissor
Eu faria da seguinte forma teria 2 texturas o material emissor e a textura que n faria efeito no emissor ai no caso eu criaria um script em que eu necessitaria do material que vc quer que receba a emissão, ai no caso jogava no script as 2 texturas e o material la e fazia ko código acessando o emission do material anexado.
matheus1415- Membro
- PONTOS : 3302
REPUTAÇÃO : 7
Idade : 24
Áreas de atuação : Programação C# e Modelagem 3D
Respeito as regras :
Re: Material emissor
Utilizando o GameObject.SetActive. Seu script ficaria mais ou menos assim:
- Código:
public GameObject objEmissive;
public GameObject objEscuro;
private bool iluminar;
void Start(){
iluminar = false;
objEmissive.SetActive(false);
objEscuro.SetActive(true);
}
void Update(){
if(Input.GetKeyDown(KeyCode.L)){
if(iluminar){
objEmissive.SetActive(true);
objEscuro.SetActive(false);
iluminar = false;
}
else{
objEmissive.SetActive(false);
objEscuro.SetActive(true);
iluminar = true;
}
}
}
George Lucas Vieira- Avançado
- PONTOS : 3392
REPUTAÇÃO : 132
Idade : 21
Áreas de atuação : Programação, Modelagem e Animação.
Respeito as regras :
Re: Material emissor
Ele "Acende" e apaga rapidamente
Wesley Leal- Membro
- PONTOS : 3420
REPUTAÇÃO : 1
Áreas de atuação : Modelagem 3D
Respeito as regras :
Re: Material emissor
Ah sim, foi um erro de lógica meu. Tente assim:
- Código:
public GameObject objEmissive;
public GameObject objEscuro;
private bool apagar;
void Start(){
apagar = true;
objEmissive.SetActive(false);
objEscuro.SetActive(true);
}
void Update(){
if(Input.GetKeyDown(KeyCode.L)){
if(apagar){
objEmissive.SetActive(false);
objEscuro.SetActive(true);
apagar = false;
}
else{
objEmissive.SetActive(true);
objEscuro.SetActive(false);
apagar = true;
}
}
}
George Lucas Vieira- Avançado
- PONTOS : 3392
REPUTAÇÃO : 132
Idade : 21
Áreas de atuação : Programação, Modelagem e Animação.
Respeito as regras :
Re: Material emissor
Tens como eu entrar em contato com você no facebook?
Wesley Leal- Membro
- PONTOS : 3420
REPUTAÇÃO : 1
Áreas de atuação : Modelagem 3D
Respeito as regras :
Re: Material emissor
Tem sim: https://www.facebook.com/georgelucas.vieiradocarmo
Mas qual o problema agr?
Mas qual o problema agr?
George Lucas Vieira- Avançado
- PONTOS : 3392
REPUTAÇÃO : 132
Idade : 21
Áreas de atuação : Programação, Modelagem e Animação.
Respeito as regras :
Re: Material emissor
Eu teclo L e ele desliga automático
- Código:
using UnityEngine;
using System.Collections;
public class Emissionpanel : MonoBehaviour {
public GameObject objEmissive;
public GameObject objEscuro;
private bool apagar;
void Start(){
apagar = true;
objEmissive.SetActive(false);
objEscuro.SetActive(true);
}
void Update(){
if(Input.GetKeyDown(KeyCode.L)){
if(apagar){
objEmissive.SetActive(false);
objEscuro.SetActive(true);
apagar = false;
}
else{
objEmissive.SetActive(true);
objEscuro.SetActive(false);
apagar = true;
}
}
Wesley Leal- Membro
- PONTOS : 3420
REPUTAÇÃO : 1
Áreas de atuação : Modelagem 3D
Respeito as regras :
Re: Material emissor
Eu que vacilei man, foi mal. O problema tá ali no start.
Código corrigido: (vou colocar as duas maneiras aqui)
Código corrigido: (vou colocar as duas maneiras aqui)
- Código:
public GameObject objEmissive;
public GameObject objEscuro;
private bool apagar;
void Start(){
apagar = false;
objEmissive.SetActive(false);
objEscuro.SetActive(true);
}
void Update(){
if(Input.GetKeyDown(KeyCode.L) && apagar){
objEmissive.SetActive(false);
objEscuro.SetActive(true);
apagar = false;
}
if(Input.GetKeyDown(KeyCode.L) && !apagar){
objEmissive.SetActive(true);
objEscuro.SetActive(false);
apagar = true;
}
}
- Código:
public GameObject objEmissive;
public GameObject objEscuro;
private bool apagar;
void Start(){
apagar = false;
objEmissive.SetActive(false);
objEscuro.SetActive(true);
}
void Update(){
if(Input.GetKeyDown(KeyCode.L)){
if(apagar){
objEmissive.SetActive(false);
objEscuro.SetActive(true);
apagar = false;
}
else{
objEmissive.SetActive(true);
objEscuro.SetActive(false);
apagar = true;
}
}
}
George Lucas Vieira- Avançado
- PONTOS : 3392
REPUTAÇÃO : 132
Idade : 21
Áreas de atuação : Programação, Modelagem e Animação.
Respeito as regras :
Re: Material emissor
Perfeito!
Funcionou!
Vlw mano!
Meu facebook
Funcionou!
Vlw mano!
Meu facebook
Wesley Leal- Membro
- PONTOS : 3420
REPUTAÇÃO : 1
Áreas de atuação : Modelagem 3D
Respeito as regras :
Tópicos semelhantes
» como mudar o material de um mesh que tem mas de 1 material por Script ?
» Material
» Material Editor
» Random Material
» Light ou Material
» Material
» Material Editor
» Random Material
» Light ou Material
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos