Shader Standart - Fade . Fica transparente / Bugado (Paredes Semi-Transparentes)
2 participantes
Página 1 de 1
Shader Standart - Fade . Fica transparente / Bugado (Paredes Semi-Transparentes)
Já procurei muito no google mas não achei nada.
Vamos lá :
É realmente muito chato o personagem ir para traz de um objeto e você não saber nada oque acontece com ele.
Pensando nisso pesquisei no youtube e achei um vídeo que ensinava a fazer a parede ficar Semi-Transparente quando o personagem ficava atraz dela.
Não era o melhor método (pois usava lineCast , sendo assim ele não deixava transparente todo o objeto mas sim só onde o raio batia).
Em fim , fiz e deu certo , mas para o código funcionar o shader deveria ser Standart e o rendering mode ser Fade.
O problema nasce aqui , pois quando ponho para Fade o objeto some,aparecendo somente quando me aproximo dele.(Parece que ele só fica visível se não tiver nenhum objeto atraz dele).Mesmo quando ele fica visível ,a objeto fica falho, com partes normais,partes transparentes,partes visíveis mas que mostram a parte de traz do objeto.
E isso é com todos os objetos,inclusive com os cubos padrões do unity.
Resumo :
Preciso de uma solução . Ou um jeito de deixar o objeto em Fade e ele ficar totalmente visível ,ficando transparente somente quando eu peço.
Ou uma outra maneira de realizar este efeito de objetos semi-transparentes quando o player passa atraz.
Obs : Com o Rendering Mode como Cutout , o objeto fica visível normalmente , mas quando entro atraz ele simplesmente some, porque parece que ele não suporta essa transição suave do visível ao invisível , simplesmente some.(100% Visível ou 100% Invisível).
Usava o Toon / Lit , e acabei tendo que mudar por causa desse script para Standart , mas apareceu esse problema.
Alguém para me ajudar?
Link da imagem do problema : https://imgur.com/a/knlcz
Vamos lá :
É realmente muito chato o personagem ir para traz de um objeto e você não saber nada oque acontece com ele.
Pensando nisso pesquisei no youtube e achei um vídeo que ensinava a fazer a parede ficar Semi-Transparente quando o personagem ficava atraz dela.
Não era o melhor método (pois usava lineCast , sendo assim ele não deixava transparente todo o objeto mas sim só onde o raio batia).
Em fim , fiz e deu certo , mas para o código funcionar o shader deveria ser Standart e o rendering mode ser Fade.
O problema nasce aqui , pois quando ponho para Fade o objeto some,aparecendo somente quando me aproximo dele.(Parece que ele só fica visível se não tiver nenhum objeto atraz dele).Mesmo quando ele fica visível ,a objeto fica falho, com partes normais,partes transparentes,partes visíveis mas que mostram a parte de traz do objeto.
E isso é com todos os objetos,inclusive com os cubos padrões do unity.
Resumo :
Preciso de uma solução . Ou um jeito de deixar o objeto em Fade e ele ficar totalmente visível ,ficando transparente somente quando eu peço.
Ou uma outra maneira de realizar este efeito de objetos semi-transparentes quando o player passa atraz.
Obs : Com o Rendering Mode como Cutout , o objeto fica visível normalmente , mas quando entro atraz ele simplesmente some, porque parece que ele não suporta essa transição suave do visível ao invisível , simplesmente some.(100% Visível ou 100% Invisível).
Usava o Toon / Lit , e acabei tendo que mudar por causa desse script para Standart , mas apareceu esse problema.
Alguém para me ajudar?
Link da imagem do problema : https://imgur.com/a/knlcz
lesgoy- Mestre
- PONTOS : 3488
REPUTAÇÃO : 49
Respeito as regras :
Re: Shader Standart - Fade . Fica transparente / Bugado (Paredes Semi-Transparentes)
lesgoy escreveu:Já procurei muito no google mas não achei nada.
Vamos lá :
É realmente muito chato o personagem ir para traz de um objeto e você não saber nada oque acontece com ele.
Pensando nisso pesquisei no youtube e achei um vídeo que ensinava a fazer a parede ficar Semi-Transparente quando o personagem ficava atraz dela.
Não era o melhor método (pois usava lineCast , sendo assim ele não deixava transparente todo o objeto mas sim só onde o raio batia).
Em fim , fiz e deu certo , mas para o código funcionar o shader deveria ser Standart e o rendering mode ser Fade.
O problema nasce aqui , pois quando ponho para Fade o objeto some,aparecendo somente quando me aproximo dele.(Parece que ele só fica visível se não tiver nenhum objeto atraz dele).Mesmo quando ele fica visível ,a objeto fica falho, com partes normais,partes transparentes,partes visíveis mas que mostram a parte de traz do objeto.
E isso é com todos os objetos,inclusive com os cubos padrões do unity.
Resumo :
Preciso de uma solução . Ou um jeito de deixar o objeto em Fade e ele ficar totalmente visível ,ficando transparente somente quando eu peço.
Ou uma outra maneira de realizar este efeito de objetos semi-transparentes quando o player passa atraz.
Obs : Com o Rendering Mode como Cutout , o objeto fica visível normalmente , mas quando entro atraz ele simplesmente some, porque parece que ele não suporta essa transição suave do visível ao invisível , simplesmente some.(100% Visível ou 100% Invisível).
Usava o Toon / Lit , e acabei tendo que mudar por causa desse script para Standart , mas apareceu esse problema.
Alguém para me ajudar?
Link da imagem do problema : https://imgur.com/a/knlcz
Re: Shader Standart - Fade . Fica transparente / Bugado (Paredes Semi-Transparentes)
Estou usando os códigos abaixo.. um vai no objeto que deseja ficar transparente e outro na camera, obs: tem que colocar este script em todo objeto que for ficar na frente do player
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class paredeTransDyn : MonoBehaviour {
private Renderer renderMaterial = new Renderer();
RaycastHit HitPoint;
public GameObject transp;
public bool testandoCore;
// Use this for initialization
private GameObject refeTransparencia;
Material meuMaterial;
public Renderer rend;
void Start() {
transp = GameObject.Find("Main Camera");
refeTransparencia = GameObject.Find("RefTransMat");
rend = GetComponent<Renderer>();
meuMaterial = GetComponent<Renderer>().material;
renderMaterial = gameObject.GetComponent<Renderer>();
}
// Update is called once per frame
void Update() {
HitPoint = transp.GetComponent<ParedeTransparente>().hitpoint;
for (int m = 0; m < renderMaterial.materials.Length; m++) {
if (HitPoint.transform == transform)
{
testandoCore = true;
transform.GetComponent
}
else { testandoCore = false;
transform.GetComponent<Renderer>().material = meuMaterial;
}
}
}
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class paredeTransDyn : MonoBehaviour {
private Renderer renderMaterial = new Renderer();
RaycastHit HitPoint;
public GameObject transp;
public bool testandoCore;
// Use this for initialization
private GameObject refeTransparencia;
Material meuMaterial;
public Renderer rend;
void Start() {
transp = GameObject.Find("Main Camera");
refeTransparencia = GameObject.Find("RefTransMat");
rend = GetComponent<Renderer>();
meuMaterial = GetComponent<Renderer>().material;
renderMaterial = gameObject.GetComponent<Renderer>();
}
// Update is called once per frame
void Update() {
HitPoint = transp.GetComponent<ParedeTransparente>().hitpoint;
for (int m = 0; m < renderMaterial.materials.Length; m++) {
if (HitPoint.transform == transform)
{
testandoCore = true;
transform.GetComponent
}
else { testandoCore = false;
transform.GetComponent<Renderer>().material = meuMaterial;
}
}
}
}
Re: Shader Standart - Fade . Fica transparente / Bugado (Paredes Semi-Transparentes)
este vai na camera
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ParedeTransparente : MonoBehaviour {
public Transform alvo;
public RaycastHit hitpoint = new RaycastHit();
// float distancia;
// Use this for initialization
void Start()
{
}
// Update is called once per frame
void Update()
{
if (Physics.Linecast(transform.position, alvo.transform.position, out hitpoint)) {
Debug.DrawLine(transform.position, alvo.transform.position);
}
}
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ParedeTransparente : MonoBehaviour {
public Transform alvo;
public RaycastHit hitpoint = new RaycastHit();
// float distancia;
// Use this for initialization
void Start()
{
}
// Update is called once per frame
void Update()
{
if (Physics.Linecast(transform.position, alvo.transform.position, out hitpoint)) {
Debug.DrawLine(transform.position, alvo.transform.position);
}
}
}
Re: Shader Standart - Fade . Fica transparente / Bugado (Paredes Semi-Transparentes)
Seu codgo deu erro.the type arguments for method 'UnityEngine.Component.GetComponent<T>()'cannot be interferred from the usage.Linhas 20,24 Entre outras.natanael.olimpio escreveu:este vai na camera
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ParedeTransparente : MonoBehaviour {
public Transform alvo;
public RaycastHit hitpoint = new RaycastHit();
// float distancia;
// Use this for initialization
void Start()
{
}
// Update is called once per frame
void Update()
{
if (Physics.Linecast(transform.position, alvo.transform.position, out hitpoint)) {
Debug.DrawLine(transform.position, alvo.transform.position);
}
}
}
Mas eu acho que você me entendeu errado.
O meu codgo funciona corretamente , porem para ele poder ficar transparente eu tenho que alterar o material do meu objeto para standard fade , e quando faço isso o objeto fica com partes transparentes,partes visiveis,partes opacas que mostram o interior do objeto.
E isso com todos, até mesmo com o cubo padrão do unity
lesgoy- Mestre
- PONTOS : 3488
REPUTAÇÃO : 49
Respeito as regras :
Re: Shader Standart - Fade . Fica transparente / Bugado (Paredes Semi-Transparentes)
provavelmente vc nao configurou este objeto ... "refeTransparencia.GetComponent().material; " esqueci de mencionar, pra funcionar preciso ter um objeto em cena usando o shader transparente da unity, basicamente o objeto que vai ficar transparente substitui o shader dele pelo do objeto em questao e este eu utilizei uma tag pra carrega-lo sem ter q seta no inspector
Re: Shader Standart - Fade . Fica transparente / Bugado (Paredes Semi-Transparentes)
Da uma olhadinha nessas imagens que mostra o erro do script :natanael.olimpio escreveu:provavelmente vc nao configurou este objeto ... "refeTransparencia.GetComponent().material; " esqueci de mencionar, pra funcionar preciso ter um objeto em cena usando o shader transparente da unity, basicamente o objeto que vai ficar transparente substitui o shader dele pelo do objeto em questao e este eu utilizei uma tag pra carrega-lo sem ter q seta no inspector
https://i.imgur.com/voBy7Ef.png
https://i.imgur.com/u6ikILs.png
lesgoy- Mestre
- PONTOS : 3488
REPUTAÇÃO : 49
Respeito as regras :
Re: Shader Standart - Fade . Fica transparente / Bugado (Paredes Semi-Transparentes)
Ele nao esta reconhecendo nada que tenha GetComponent no script..lesgoy escreveu:Da uma olhadinha nessas imagens que mostra o erro do script :natanael.olimpio escreveu:provavelmente vc nao configurou este objeto ... "refeTransparencia.GetComponent().material; " esqueci de mencionar, pra funcionar preciso ter um objeto em cena usando o shader transparente da unity, basicamente o objeto que vai ficar transparente substitui o shader dele pelo do objeto em questao e este eu utilizei uma tag pra carrega-lo sem ter q seta no inspector
https://i.imgur.com/voBy7Ef.png
https://i.imgur.com/u6ikILs.png
qual versão do unity esta usando?a minha aqui é 2017.1
Re: Shader Standart - Fade . Fica transparente / Bugado (Paredes Semi-Transparentes)
Unity 5.3.5f1 (32-bit)natanael.olimpio escreveu:Ele nao esta reconhecendo nada que tenha GetComponent no script..lesgoy escreveu:Da uma olhadinha nessas imagens que mostra o erro do script :natanael.olimpio escreveu:provavelmente vc nao configurou este objeto ... "refeTransparencia.GetComponent().material; " esqueci de mencionar, pra funcionar preciso ter um objeto em cena usando o shader transparente da unity, basicamente o objeto que vai ficar transparente substitui o shader dele pelo do objeto em questao e este eu utilizei uma tag pra carrega-lo sem ter q seta no inspector
https://i.imgur.com/voBy7Ef.png
https://i.imgur.com/u6ikILs.png
qual versão do unity esta usando?a minha aqui é 2017.1
lesgoy- Mestre
- PONTOS : 3488
REPUTAÇÃO : 49
Respeito as regras :
Re: Shader Standart - Fade . Fica transparente / Bugado (Paredes Semi-Transparentes)
Mano seu projeto ta muito grande?lesgoy escreveu:Unity 5.3.5f1 (32-bit)natanael.olimpio escreveu:Ele nao esta reconhecendo nada que tenha GetComponent no script..lesgoy escreveu:Da uma olhadinha nessas imagens que mostra o erro do script :natanael.olimpio escreveu:provavelmente vc nao configurou este objeto ... "refeTransparencia.GetComponent().material; " esqueci de mencionar, pra funcionar preciso ter um objeto em cena usando o shader transparente da unity, basicamente o objeto que vai ficar transparente substitui o shader dele pelo do objeto em questao e este eu utilizei uma tag pra carrega-lo sem ter q seta no inspector
https://i.imgur.com/voBy7Ef.png
https://i.imgur.com/u6ikILs.png
qual versão do unity esta usando?a minha aqui é 2017.1
se nao tiver quiser upar em algum lugar eu baixo e dou uma olhada pra ti
Re: Shader Standart - Fade . Fica transparente / Bugado (Paredes Semi-Transparentes)
Ta gigante , tem 3 jogos dentro dele.natanael.olimpio escreveu:Mano seu projeto ta muito grande?lesgoy escreveu:Unity 5.3.5f1 (32-bit)natanael.olimpio escreveu:Ele nao esta reconhecendo nada que tenha GetComponent no script..lesgoy escreveu:Da uma olhadinha nessas imagens que mostra o erro do script :natanael.olimpio escreveu:provavelmente vc nao configurou este objeto ... "refeTransparencia.GetComponent().material; " esqueci de mencionar, pra funcionar preciso ter um objeto em cena usando o shader transparente da unity, basicamente o objeto que vai ficar transparente substitui o shader dele pelo do objeto em questao e este eu utilizei uma tag pra carrega-lo sem ter q seta no inspector
https://i.imgur.com/voBy7Ef.png
https://i.imgur.com/u6ikILs.png
qual versão do unity esta usando?a minha aqui é 2017.1
se nao tiver quiser upar em algum lugar eu baixo e dou uma olhada pra ti
O primeiro , o segundo (o que estou usando ) , e um outro que tinha começado kkk.
Mas oque exatamente você precisava ver , posso tirar um print ou algo assim.
Achei estranho o codgo , pq a variavel rend (se não me engano no nome) , recebe apenas GetComponent() , mais nada.O certo não seria GetComponent<Exemplo>() ou algo assim?
lesgoy- Mestre
- PONTOS : 3488
REPUTAÇÃO : 49
Respeito as regras :
lesgoy- Mestre
- PONTOS : 3488
REPUTAÇÃO : 49
Respeito as regras :
Re: Shader Standart - Fade . Fica transparente / Bugado (Paredes Semi-Transparentes)
vou criar um packpage hoje posto no drive e jogo o link aqui ai você importa ai e ver o funcionamento, e ver porque não esta funcionando no seu
Re: Shader Standart - Fade . Fica transparente / Bugado (Paredes Semi-Transparentes)
Amigo desculpe a demora em postar
segue o link da transparencia funcionando, lembrando que o nome do objeto de referencia(material transparente) tem que estar com o mesmo nome no codigo para funcionar
https://drive.google.com/file/d/1R5LEe9_PlktVPIFWq5gXoAjM7_UJKFE1/view?usp=sharing
segue o link da transparencia funcionando, lembrando que o nome do objeto de referencia(material transparente) tem que estar com o mesmo nome no codigo para funcionar
https://drive.google.com/file/d/1R5LEe9_PlktVPIFWq5gXoAjM7_UJKFE1/view?usp=sharing
Tópicos semelhantes
» [Resolvido] Fade in e fade out em botões, ou textos.
» Textura PNG transparente fica preta na build
» Cronometro 3,2,1 fica bugado ajuda aee...
» Tudo fica bugado ao mudar o projeto de PC para Android
» Como programar animações de fade in e fade out para botão no Unity
» Textura PNG transparente fica preta na build
» Cronometro 3,2,1 fica bugado ajuda aee...
» Tudo fica bugado ao mudar o projeto de PC para Android
» Como programar animações de fade in e fade out para botão no Unity
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos