[TUTORIAL] Como fazer Espelhos na unity FREE
4 participantes
Página 1 de 1
[TUTORIAL] Como fazer Espelhos na unity FREE
Depois de centenas de pedidos resolvi correr atraz e fazer este sistema...
ele é um pouco pesado, portanto não aconselho usar, e se for usar, porcure ativa-lo somente quando estiver proximo ou algo assim para evitar perda significativa de FPS, más vamos lá
Tutorial em vídeo:
Scripts:
Veja o vídeo que nele está bem especificado o que fazer :D
ele é um pouco pesado, portanto não aconselho usar, e se for usar, porcure ativa-lo somente quando estiver proximo ou algo assim para evitar perda significativa de FPS, más vamos lá
Tutorial em vídeo:
Scripts:
- Código:
using UnityEngine;
using System.Collections;
public class Espelho : MonoBehaviour {
private bool renderizar;
public Renderer display;
void OnPostRender(){
if(renderizar == true){
Texture2D TexturaAtual = new Texture2D(Screen.width,Screen.height);
TexturaAtual.ReadPixels (new Rect(0,0,Screen.width,Screen.height),0,0);
TexturaAtual.Apply();
display.material.mainTexture = TexturaAtual;
renderizar = false;
}
}
void Update (){
renderizar = true;
}
}
Veja o vídeo que nele está bem especificado o que fazer :D
Última edição por MarcosSchultz em Ter Jun 07, 2016 9:18 pm, editado 1 vez(es)
Re: [TUTORIAL] Como fazer Espelhos na unity FREE
Marcos, fiz esse sistema de espelhos para ser usado na minha mira de sniper.porem ,não sei se e o script ou alguma coisa que fiz(fiz tudo do mesmo jeito),esta enchendo a memoria RAM. E como se fosse que, a variável textura atual, que guarda a textura que vai ser aplica na no OBJ não estivesse excluindo a textura anterior, tipo, quando estancia vários objetos, e esse OBJ não e destruído, fica alocando um espaço na memoria, e quanto mais se estancia mais memoria e requerida, e nenhuma parte dessa memoria e liberada,pois os OBJ estanciados continuam lá. O que faço?
JailtonUnity- MembroAvançado
- PONTOS : 3777
REPUTAÇÃO : 38
Idade : 25
Respeito as regras :
Re: [TUTORIAL] Como fazer Espelhos na unity FREE
você nao está enchendo a memoria ram, o que ocorre é que está acontecendo um segundo render com base em todos os calculos da sua camea ( em tamanho de tela )
Na primeira linha, você captura a textura de tela inteira, e na segunda linha, você renderiza a textura inteira no plano, é isso que faz pesar...
se diminuir a captura talvez fique mais leve.
Más existem diversas outras maneiras de fazer uma mira assim...
tem como enviar um vídeo demonstrando como a mira funciona para eu ter uma idéia?
- Código:
Texture2D TexturaAtual = new Texture2D(Screen.width,Screen.height);
TexturaAtual.ReadPixels (new Rect(0,0,Screen.width,Screen.height),0,0);
Na primeira linha, você captura a textura de tela inteira, e na segunda linha, você renderiza a textura inteira no plano, é isso que faz pesar...
se diminuir a captura talvez fique mais leve.
Más existem diversas outras maneiras de fazer uma mira assim...
tem como enviar um vídeo demonstrando como a mira funciona para eu ter uma idéia?
Re: [TUTORIAL] Como fazer Espelhos na unity FREE
Obg marcos, achei um script mais simples: (c#)
- Código:
using UnityEngine;
using System.Collections;
public class mostrarVisaoDaCamera : MonoBehaviour {
private Texture2D renderedTexture; //variavel que guarda a textura que vai ser aplicada no "obj"
public Renderer obj; // objeto que vai ser aplicado a textura "renderedTexture"
void Start(){
renderedTexture = new Texture2D(Screen.width, Screen.height);
obj.material.mainTexture = renderedTexture;
}
void OnPostRender(){
renderedTexture.ReadPixels(new Rect(0, 0, Screen.width, Screen.height),0 ,0);
renderedTexture.Apply();
}
}
JailtonUnity- MembroAvançado
- PONTOS : 3777
REPUTAÇÃO : 38
Idade : 25
Respeito as regras :
Re: [TUTORIAL] Como fazer Espelhos na unity FREE
Unity5, não deu aki... Eu coloquei esse código num plane e inseri na variável display o próprio plane.
Mateus huebra- Iniciante
- PONTOS : 3314
REPUTAÇÃO : 0
Re: [TUTORIAL] Como fazer Espelhos na unity FREE
Opa, consegui, coloquei aquele primeiro void no update também, mas o plane mostra a imagem da câmera principal, como faço tipo um espelho mesmo?
Mateus huebra- Iniciante
- PONTOS : 3314
REPUTAÇÃO : 0
Re: [TUTORIAL] Como fazer Espelhos na unity FREE
achei que tinha um material glass reflection tipo assim como no blander...vivendo e aprendendo...muito bom
tom ramber- Avançado
- PONTOS : 3141
REPUTAÇÃO : 12
Idade : 37
Áreas de atuação : Blender, Unity
Respeito as regras :
Re: [TUTORIAL] Como fazer Espelhos na unity FREE
tom ramber escreveu:achei que tinha um material glass reflection tipo assim como no blander...vivendo e aprendendo...muito bom
Agora da pra usar a RenderTexture na Unity 5
Re: [TUTORIAL] Como fazer Espelhos na unity FREE
bem mais facil so que algumas mesch modelada no blender nao funciona com a render texture...e sao mesch planas...alguem sabe o problema.?
tom ramber- Avançado
- PONTOS : 3141
REPUTAÇÃO : 12
Idade : 37
Áreas de atuação : Blender, Unity
Respeito as regras :
Re: [TUTORIAL] Como fazer Espelhos na unity FREE
tom ramber escreveu:bem mais facil so que algumas mesch modelada no blender nao funciona com a render texture...e sao mesch planas...alguem sabe o problema.?
O UVMap tem que ser contínuo, senão vai ficar estranho mesmo.
Tópicos semelhantes
» [TUTORIAL] Como fazer uma Barra de Loading na Unity 5
» [TUTORIAL] Unity 5 - Render Texture (espelhos, câmeras de segurança, etc)
» [TUTORIAL] Como fazer um Sol Realista na Unity 5 ( Sun Shafts )
» [TUTORIAL] Unity 3D - Como fazer um imã simples.
» [TUTORIAL] Como fazer um laser com LineRenderer - UNITY 5
» [TUTORIAL] Unity 5 - Render Texture (espelhos, câmeras de segurança, etc)
» [TUTORIAL] Como fazer um Sol Realista na Unity 5 ( Sun Shafts )
» [TUTORIAL] Unity 3D - Como fazer um imã simples.
» [TUTORIAL] Como fazer um laser com LineRenderer - UNITY 5
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos