Como criar sombra em objeto transparente?
5 participantes
Página 1 de 1
Como criar sombra em objeto transparente?
Em determinada cena do meu jogo o piso verdadeiro está bem abaixo do personagem , mas como a camera esta ortografica parece que ele está em cima.
Com isso da pra criar vários efeitos legais e ilusões.
O problema é que não tem como por sombra , pq o chão não esta debaixo do personagem.
Minha ideia seria criar um objeto transparente somente para receber a sombra do personagem , dando assim uma impressão maior que ele está no chão.
E ai acontece que não da! Toda vez que coloco qualquer transparencia (Fade , Transparency [no shader]) ele fica sem sombra , somente objeto opaco recebe sombra.
Duvida : Não tem alguma maneira de criar um objeto transparente , mas que mostre a sombra?
No caso este objeto não colidiria com nada , não teria cor nenhuma , seria apenas para mostrar a sombra.
Com isso da pra criar vários efeitos legais e ilusões.
O problema é que não tem como por sombra , pq o chão não esta debaixo do personagem.
Minha ideia seria criar um objeto transparente somente para receber a sombra do personagem , dando assim uma impressão maior que ele está no chão.
E ai acontece que não da! Toda vez que coloco qualquer transparencia (Fade , Transparency [no shader]) ele fica sem sombra , somente objeto opaco recebe sombra.
Duvida : Não tem alguma maneira de criar um objeto transparente , mas que mostre a sombra?
No caso este objeto não colidiria com nada , não teria cor nenhuma , seria apenas para mostrar a sombra.
lesgoy- Mestre
- PONTOS : 3489
REPUTAÇÃO : 49
Respeito as regras :
Re: Como criar sombra em objeto transparente?
A maneira mais simples de fazer isso seria colocar um plano com uma sombra falsa filiada ao teu player, ela sim seria transparente (recomendo usar o material Mobile/Particles/Multiply)
Aqui tem uma imagem assim, caso queira usar...
Aqui tem uma imagem assim, caso queira usar...
Isabela- Avançado
- PONTOS : 2835
REPUTAÇÃO : 260
Idade : 24
Respeito as regras :
Re: Como criar sombra em objeto transparente?
mas o problema é que era pra um chão , e ai teria vários objetos. E se eu usasse isso a sombra do personagem sairia do chão.
Pq o chão é tipo uma ponte muito curta , ai qualquer lugar no canto que o personagem fique a sombra falsificada sairia da ponte e ficaria estranho kk
Pq o chão é tipo uma ponte muito curta , ai qualquer lugar no canto que o personagem fique a sombra falsificada sairia da ponte e ficaria estranho kk
lesgoy- Mestre
- PONTOS : 3489
REPUTAÇÃO : 49
Respeito as regras :
Re: Como criar sombra em objeto transparente?
Entendi, se a sombra falsa não é uma opção pra ti, o que você procura é um Matte shadow, material que só receba sombra sem renderizar sua cor difusa, neste caso, crie seu chão falso novamente e use esse Shader aqui, ele fará o que quer.
Bom dia!
Bom dia!
Isabela- Avançado
- PONTOS : 2835
REPUTAÇÃO : 260
Idade : 24
Respeito as regras :
Re: Como criar sombra em objeto transparente?
Obs.: Caso o seu problema seja só isto, tente dar uma olhada nas "Mask Sprites"
https://docs.unity3d.com/Manual/class-SpriteMask.html
Vídeo muito bom sobre: [EM INGLES] https://www.youtube.com/watch?v=4pl8DcsCQ_k
https://docs.unity3d.com/Manual/class-SpriteMask.html
Vídeo muito bom sobre: [EM INGLES] https://www.youtube.com/watch?v=4pl8DcsCQ_k
NKKF- ProgramadorMaster
- PONTOS : 4818
REPUTAÇÃO : 574
Idade : 20
Áreas de atuação : Desenvolvedor na Unity, NodeJS, React, ReactJS, React Native, MongoDB e Firebase.
Respeito as regras :
Re: Como criar sombra em objeto transparente?
Não , o que eu quero é por sombra em tempo real em um objeto transparente. Ele n precisa colidir com nada , só precisa mostrar a sombra.
lesgoy- Mestre
- PONTOS : 3489
REPUTAÇÃO : 49
Respeito as regras :
Re: Como criar sombra em objeto transparente?
O que eu disse aí em cima faz exatamente isso, você olhou ao menos?
Isabela- Avançado
- PONTOS : 2835
REPUTAÇÃO : 260
Idade : 24
Respeito as regras :
Re: Como criar sombra em objeto transparente?
Parça, esta é a melhor opção de todas: Não usa nenhum script, é leve e é super fácil.
NKKF- ProgramadorMaster
- PONTOS : 4818
REPUTAÇÃO : 574
Idade : 20
Áreas de atuação : Desenvolvedor na Unity, NodeJS, React, ReactJS, React Native, MongoDB e Firebase.
Respeito as regras :
Re: Como criar sombra em objeto transparente?
Eu baixei o arquivo , e respondi o outro.isah escreveu:O que eu disse aí em cima faz exatamente isso, você olhou ao menos?
Mas é isso mesmo , o shader funcionou perfeitamente.
Era isso mesmo que eu estava procurando , obrigado pela ajuda
lesgoy- Mestre
- PONTOS : 3489
REPUTAÇÃO : 49
Respeito as regras :
Re: Como criar sombra em objeto transparente?
Gente desculpa reviver esse topico , mas é que encontrei um problema.
Se o shader estiver como opaco , o shader de sombras funciona normalmente.
Mas se eu mudo o material do objeto (opaco) para transparente , o shader deixa de funcionar o objeto transparente continua sem sombra.
Como resolver?
Eu só queria que o objeto transparente recebesse sombras em tempo real ;-;
Se o shader estiver como opaco , o shader de sombras funciona normalmente.
Mas se eu mudo o material do objeto (opaco) para transparente , o shader deixa de funcionar o objeto transparente continua sem sombra.
Como resolver?
Eu só queria que o objeto transparente recebesse sombras em tempo real ;-;
lesgoy- Mestre
- PONTOS : 3489
REPUTAÇÃO : 49
Respeito as regras :
Re: Como criar sombra em objeto transparente?
Tente utilizar StandardShader no objeto, com o RenderingMode em "Fade"
Re: Como criar sombra em objeto transparente?
Mesma coisa , continua sem sombra
lesgoy- Mestre
- PONTOS : 3489
REPUTAÇÃO : 49
Respeito as regras :
Re: Como criar sombra em objeto transparente?
lesgoy escreveu:Mesma coisa , continua sem sombra
Então a sua luz não está produzindo sombras... como estão as configurações da sua luz?
Re: Como criar sombra em objeto transparente?
crie um objeto, vá no mesh renderer dele, aonde esta escrito: Cast Shadows, normalmente estará (ON) coloque Shadows only, isso deve resolver, ai o objeto será 100% invisível, mais terá a sombra de um objeto normal.
se não for, pode ser oque o marcos falou...
se não for, pode ser oque o marcos falou...
Extreme Craft- Avançado
- PONTOS : 3276
REPUTAÇÃO : 30
Idade : 23
Áreas de atuação : C# , Blender , Unity
Respeito as regras :
Re: Como criar sombra em objeto transparente?
Não funcionou também.
Se eu deixo o material do objeto que deveria ser transparente opaco , tudo ocorre normal.
Mas se eu troco para Transparente/Fade ele deixa de receber sombras.
Sim , as luzes geram sombras , tanto que aparecem quando o material opaco esta selecionado
Se eu deixo o material do objeto que deveria ser transparente opaco , tudo ocorre normal.
Mas se eu troco para Transparente/Fade ele deixa de receber sombras.
Sim , as luzes geram sombras , tanto que aparecem quando o material opaco esta selecionado
lesgoy- Mestre
- PONTOS : 3489
REPUTAÇÃO : 49
Respeito as regras :
Re: Como criar sombra em objeto transparente?
Até ai tudo bem mas quando ponho o shader transparente o problema começa .
Olhe :
Cena normal , um cubo comum , um chão comum que não recebe sombras e um chão falso e transparente que apenas recebe sombra :
Shader do chão ( Standard - Rendering Mode : Opaque)
Ai mudo o material do chão de Standard RM Opaque , para Standard RM Transparent e as sombras somem :
Tentando corrigir o problema pego o chão falso que só recebe sombra e levanto ele só um pouco , apenas para ele ficar em cima do chão verdadeiro , resultado :
É isso , eu queria que quando o material do chão estivesse Standard RM Transparent , ele também recebesse sombras. Como não foi possível pq as sombras são desligadas nesse shader , tentei esse metodo (do chão falso que só recebe sombras)mas não funcionou :/
Essa duvida é um pouco diferente mas achei desnecessário criar outro tópico para um assunto parecido.
Olhe :
Cena normal , um cubo comum , um chão comum que não recebe sombras e um chão falso e transparente que apenas recebe sombra :
Shader do chão ( Standard - Rendering Mode : Opaque)
Ai mudo o material do chão de Standard RM Opaque , para Standard RM Transparent e as sombras somem :
Tentando corrigir o problema pego o chão falso que só recebe sombra e levanto ele só um pouco , apenas para ele ficar em cima do chão verdadeiro , resultado :
É isso , eu queria que quando o material do chão estivesse Standard RM Transparent , ele também recebesse sombras. Como não foi possível pq as sombras são desligadas nesse shader , tentei esse metodo (do chão falso que só recebe sombras)mas não funcionou :/
Essa duvida é um pouco diferente mas achei desnecessário criar outro tópico para um assunto parecido.
lesgoy- Mestre
- PONTOS : 3489
REPUTAÇÃO : 49
Respeito as regras :
Re: Como criar sombra em objeto transparente?
Tente usar o seguinte material:
Legacy Shaders > Transparent > Cutout > Bumped Diffuse
Legacy Shaders > Transparent > Cutout > Bumped Diffuse
Re: Como criar sombra em objeto transparente?
Mas ai n adianta muita coisa , pq ou objeto vai ser 100% opaco ou 100% transparente :/
lesgoy- Mestre
- PONTOS : 3489
REPUTAÇÃO : 49
Respeito as regras :
Re: Como criar sombra em objeto transparente?
lesgoy escreveu:Mas ai n adianta muita coisa , pq ou objeto vai ser 100% opaco ou 100% transparente :/
Não, não vai, ai você tem que usar uma textura semi transparente. O shader Cutout só é responsável por fazer as sombras aparecerem, mas voce vai ter que mexer no alpha e colocar uma textura semi transparente e ir ajustando.
Re: Como criar sombra em objeto transparente?
Mesmo com uma textura semi-transparente ou ele fica 100% opaco ou 100% transparente :/
lesgoy- Mestre
- PONTOS : 3489
REPUTAÇÃO : 49
Respeito as regras :
Re: Como criar sombra em objeto transparente?
lesgoy escreveu:Mesmo com uma textura semi-transparente ou ele fica 100% opaco ou 100% transparente :/
Então o único jeito é usar uma SpotLight apontando para baixo, pois é a única coisa que vai refletir no material semi transparente normal.
Re: Como criar sombra em objeto transparente?
O SpotLight até ilumina a cena (aquele circulo branco ) mas sombra ele n faz em objeto transparente também :/
lesgoy- Mestre
- PONTOS : 3489
REPUTAÇÃO : 49
Respeito as regras :
Re: Como criar sombra em objeto transparente?
lesgoy escreveu:O SpotLight até ilumina a cena (aquele circulo branco ) mas sombra ele n faz em objeto transparente também :/
Em baixo do objeto você coloca uma spot com cor negra, ou alguma outra cor... há várias soluções, inclusive projector, mas sombra em realTime em material transparente só se for no Cutout mesmo.
Re: Como criar sombra em objeto transparente?
Mas nem no cutout vai kk
Faz assim , se não for pedir muito tente criar um projeto com as soluções em funcionamento e manda aqui.
Pq acho que não estou sabendo executar da maneira que vc esta pedindo...
Resumindo :
Objeto normal com sombra :
Objeto com transparencia (cutout , ou ele fica 100% opaco ou 100% transparete) :
Agora o objeto original , como ele deveria ser :
Então é isso , eu só quero que este ultimo objeto (semi-transparente) tenha sombra.
(Já tentei criar uma textura semi-transparente e por no Legacy Shaders > Transparent > Cutout > Bumped Diffuse ,mas da o mesmo resultado )
se alguem conseguir este efeito por favor me ajude
Faz assim , se não for pedir muito tente criar um projeto com as soluções em funcionamento e manda aqui.
Pq acho que não estou sabendo executar da maneira que vc esta pedindo...
Resumindo :
Objeto normal com sombra :
Objeto com transparencia (cutout , ou ele fica 100% opaco ou 100% transparete) :
Agora o objeto original , como ele deveria ser :
Então é isso , eu só quero que este ultimo objeto (semi-transparente) tenha sombra.
(Já tentei criar uma textura semi-transparente e por no Legacy Shaders > Transparent > Cutout > Bumped Diffuse ,mas da o mesmo resultado )
se alguem conseguir este efeito por favor me ajude
lesgoy- Mestre
- PONTOS : 3489
REPUTAÇÃO : 49
Respeito as regras :
Re: Como criar sombra em objeto transparente?
O único jeito de fazer um material semi transparente ter sombras é se ele for transparente em alguns pontos e opaco em outros, mas se você quiser que um vidro por exemplo tenha sombras, lamento dizer, mas é impossível...
Isto ocorre por que é quase impossível calcular o "indirect multiplayer" da luz. Pense, a Unity já é pesada para calcular a luz normalmente, e com bake, ela consegue calcular a "claridade" gerada pelos reflexos da luz nas paredes, e isto tudo é pesado simplesmente calculando área onde tem luz e onde não tem luz.
Agora tente pensar que este cálculo deve ser feito com diferentes intensidades de sombra, ou seja, de 0 a 255 intensidades diferentes de alpha para calcular o "indirect multiplayer", para fazer a "claridade ambiente" do local... seria MUITOOO pesaddo, por que agora em vez de 2 parâmetros (com luz e sem luz), você teria 256 parâmetros, que são as intensidades da luz após atravessar o material semi transparente, fora o cálculo da intensidade da sombra que fica no material, pois a intensidade da luz se dividiria nesse material.
Em resumo, para não fritar as CPU's por ai, este cálculo não existe. Nada impede de você fazê-lo com shaders personalizados, mas vai ser algo monstruosamente pesado.
Isto ocorre por que é quase impossível calcular o "indirect multiplayer" da luz. Pense, a Unity já é pesada para calcular a luz normalmente, e com bake, ela consegue calcular a "claridade" gerada pelos reflexos da luz nas paredes, e isto tudo é pesado simplesmente calculando área onde tem luz e onde não tem luz.
Agora tente pensar que este cálculo deve ser feito com diferentes intensidades de sombra, ou seja, de 0 a 255 intensidades diferentes de alpha para calcular o "indirect multiplayer", para fazer a "claridade ambiente" do local... seria MUITOOO pesaddo, por que agora em vez de 2 parâmetros (com luz e sem luz), você teria 256 parâmetros, que são as intensidades da luz após atravessar o material semi transparente, fora o cálculo da intensidade da sombra que fica no material, pois a intensidade da luz se dividiria nesse material.
Em resumo, para não fritar as CPU's por ai, este cálculo não existe. Nada impede de você fazê-lo com shaders personalizados, mas vai ser algo monstruosamente pesado.
Re: Como criar sombra em objeto transparente?
Não tem como você usar um Quad e pedir à câmera não renderizar sua imagem?
NKKF- ProgramadorMaster
- PONTOS : 4818
REPUTAÇÃO : 574
Idade : 20
Áreas de atuação : Desenvolvedor na Unity, NodeJS, React, ReactJS, React Native, MongoDB e Firebase.
Respeito as regras :
Re: Como criar sombra em objeto transparente?
Quad?...
Foi por isso que vim até este tópico ja criado.
Pensei que daria para usar o objeto semi-transparente(sem sombras) , e aquele shader que passaram aqui , de ser um objeto que apenas recebe sombras mas n tem opacidade nenhuma.
Sera que não da pra usar esse shader pra fazer isso ?
Se conseguirem me passei aqui por favor ,pois como mandei em algumas imagens acima , quando ponho o shader só sombra em cima de algo semi-transparente ele buga kk
Foi por isso que vim até este tópico ja criado.
Pensei que daria para usar o objeto semi-transparente(sem sombras) , e aquele shader que passaram aqui , de ser um objeto que apenas recebe sombras mas n tem opacidade nenhuma.
Sera que não da pra usar esse shader pra fazer isso ?
Se conseguirem me passei aqui por favor ,pois como mandei em algumas imagens acima , quando ponho o shader só sombra em cima de algo semi-transparente ele buga kk
lesgoy- Mestre
- PONTOS : 3489
REPUTAÇÃO : 49
Respeito as regras :
Tópicos semelhantes
» Como faço para deixar o objeto transparente ao passar atraz?
» Como criar um objeto só quando colider com outro?
» (Duvida) como misturar objeto e criar outro
» Alguém sabe como criar um objeto aleatório
» Como criar Um limite para rotação de um objeto
» Como criar um objeto só quando colider com outro?
» (Duvida) como misturar objeto e criar outro
» Alguém sabe como criar um objeto aleatório
» Como criar Um limite para rotação de um objeto
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos