[TUTORIAL] Como fazer Espelhos na unity FREE
Página 1 de 1 • Compartilhe •
[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)
MarcosSchultz- Administrador
-
PONTOS : 61441
REPUTAÇÃO : 2154
Idade : 22
Áreas de atuação : Administrador do fórum
Respeito as regras :
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 : 1677
REPUTAÇÃO : 38
Idade : 20
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?
MarcosSchultz- Administrador
-
PONTOS : 61441
REPUTAÇÃO : 2154
Idade : 22
Áreas de atuação : Administrador do fórum
Respeito as regras :
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 : 1677
REPUTAÇÃO : 38
Idade : 20
Respeito as regras :
MarcosSchultz- Administrador
-
PONTOS : 61441
REPUTAÇÃO : 2154
Idade : 22
Áreas de atuação : Administrador do fórum
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 : 1214
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 : 1214
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 : 1042
REPUTAÇÃO : 12
Idade : 31
Á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
MarcosSchultz- Administrador
-
PONTOS : 61441
REPUTAÇÃO : 2154
Idade : 22
Áreas de atuação : Administrador do fórum
Respeito as regras :
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 : 1042
REPUTAÇÃO : 12
Idade : 31
Á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.
MarcosSchultz- Administrador
-
PONTOS : 61441
REPUTAÇÃO : 2154
Idade : 22
Áreas de atuação : Administrador do fórum
Respeito as regras :

» [Willy Tutorial] Como fazer um filho!
» Como fazer um post de tutorial igual ao fdf?
» [Resolvido] [Resolvido] Como fazer um litígio
» Como fazer isso???
» [Resolvido] Como fazer uma Página inicial???
» Como fazer um post de tutorial igual ao fdf?
» [Resolvido] [Resolvido] Como fazer um litígio
» Como fazer isso???
» [Resolvido] Como fazer uma Página inicial???
Página 1 de 1
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum