Fazer objeto com textura fica atrás de tudo na cena
3 participantes
Página 1 de 1
Fazer objeto com textura fica atrás de tudo na cena
boa tarde!!
criei um objeto com textura inserida, mas na cena ele fica na frente de tudo. nele eu fiz um efeito de distorção, talvez seja isso que tá fazendo ele ficar na frente, mas nao sei ao certo.
alguem sabe como corrigir isso?
criei um objeto com textura inserida, mas na cena ele fica na frente de tudo. nele eu fiz um efeito de distorção, talvez seja isso que tá fazendo ele ficar na frente, mas nao sei ao certo.
alguem sabe como corrigir isso?
Flávio- MembroAvançado
- PONTOS : 2830
REPUTAÇÃO : 29
Áreas de atuação : Aprendizagem em:
Programação C#;
Pixelart
Respeito as regras :
Re: Fazer objeto com textura fica atrás de tudo na cena
E tipo o 3dTextMesh Da unity?, fica tipo um X-ray se for isso deve ser o shader.
Tenta postar umas imagens do problema.
Tenta postar umas imagens do problema.
BRGC- ProgramadorMaster
- PONTOS : 3051
REPUTAÇÃO : 59
Idade : 20
Áreas de atuação : C#, C++, C, Flutter
Respeito as regras :
Re: Fazer objeto com textura fica atrás de tudo na cena
BRGC eu postei no youtube p ficar melhor de mostrar.
repare que mesmo mudando a posição Z mais p trás ainda fica na frente quando simulo
nao sei mexer nada nos shaders, o codigo ainda é fora do meu entendimento, só alguem mesmo acostumado a programar com shader para me explicar melhor o que fazer
repare que mesmo mudando a posição Z mais p trás ainda fica na frente quando simulo
nao sei mexer nada nos shaders, o codigo ainda é fora do meu entendimento, só alguem mesmo acostumado a programar com shader para me explicar melhor o que fazer
Flávio- MembroAvançado
- PONTOS : 2830
REPUTAÇÃO : 29
Áreas de atuação : Aprendizagem em:
Programação C#;
Pixelart
Respeito as regras :
Re: Fazer objeto com textura fica atrás de tudo na cena
houve um problema no video e resolvi postar de novo antes de esperar alguem responder
Flávio- MembroAvançado
- PONTOS : 2830
REPUTAÇÃO : 29
Áreas de atuação : Aprendizagem em:
Programação C#;
Pixelart
Respeito as regras :
Re: Fazer objeto com textura fica atrás de tudo na cena
O que tem na Distort Mask Cam? Pode ser apenas o Depth da câmera, tente mudar.
@@EDIT@@
Fui ver o script e a mask é só uma cópia da câmera feita em runtime kK, ai fiquei sem ideias, depois eu tento criar um projeto com isso.
@@EDIT@@
Fui ver o script e a mask é só uma cópia da câmera feita em runtime kK, ai fiquei sem ideias, depois eu tento criar um projeto com isso.
Última edição por Madness em Seg Dez 18, 2017 9:01 pm, editado 1 vez(es)
Madness- Designer
- PONTOS : 3609
REPUTAÇÃO : 222
Áreas de atuação : Designer
Iniciante C++
Quase um programador C#
Respeito as regras :
Re: Fazer objeto com textura fica atrás de tudo na cena
Madness escreveu:O que tem na Distort Mask Cam? Pode ser apenas o Depth da câmera, tente mudar.
onde eu encontro a Distort Mask cam?
Flávio- MembroAvançado
- PONTOS : 2830
REPUTAÇÃO : 29
Áreas de atuação : Aprendizagem em:
Programação C#;
Pixelart
Respeito as regras :
Re: Fazer objeto com textura fica atrás de tudo na cena
Pelo que vi é um problema no shader mesmo, em 3D a imagem sempre fica na frente e ainda fica com a rotação errada :/ pena que eu não sei muito sobre shaders, acho dificil conseguir arrumar isso.
Madness- Designer
- PONTOS : 3609
REPUTAÇÃO : 222
Áreas de atuação : Designer
Iniciante C++
Quase um programador C#
Respeito as regras :
Re: Fazer objeto com textura fica atrás de tudo na cena
Madness escreveu:Pelo que vi é um problema no shader mesmo, em 3D a imagem sempre fica na frente e ainda fica com a rotação errada :/ pena que eu não sei muito sobre shaders, acho dificil conseguir arrumar isso.
então é isso.
vamo ver se alguem entende de shader e sugere algo
mas aproveito para postar os shaders:
- Código:
Shader "Unlit/StripAlpha" {
Properties {
_MainTex ("Texture", 2D) = "white" {}
}
SubShader {
Tags { "RenderType"="Opaque" }
LOD 100
Pass {
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
struct appdata {
float4 vertex : POSITION;
float2 uv : TEXCOORD0;
};
struct v2f {
float2 uv : TEXCOORD0;
float4 vertex : SV_POSITION;
};
sampler2D _MainTex;
float4 _MainTex_ST;
v2f vert (appdata v) {
v2f o;
o.vertex = UnityObjectToClipPos(v.vertex);
o.uv = TRANSFORM_TEX(v.uv, _MainTex);
return o;
}
fixed4 frag (v2f i) : SV_Target {
fixed4 col = tex2D(_MainTex, i.uv);
#if UNITY_REVERSED_Z
col.a = 0.0;
#else
col.a = 1.0;
#endif
return col;
}
ENDCG
}
}
}
- Código:
// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'
Shader "Unlit/NewUnlitShader" {
Properties {
_MainTex ("Texture", 2D) = "white" {}
_Color("Color", Color) = (1.0,1.0,1.0,1.0)
}
SubShader {
Tags { "RenderType"="Opaque" }
LOD 100
Pass {
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
// make fog work
#include "UnityCG.cginc"
struct appdata {
float4 vertex : POSITION;
float2 uv : TEXCOORD0;
};
struct v2f {
float2 uv : TEXCOORD0;
float4 vertex : SV_POSITION;
float4 screen : TEXCOORD1;
};
sampler2D _MainTex;
float4 _MainTex_ST;
float4 _Color;
v2f vert (appdata v) {
v2f o;
o.vertex = UnityObjectToClipPos(v.vertex);
o.uv = TRANSFORM_TEX(v.uv, _MainTex);
o.screen = ComputeScreenPos(o.vertex);
return o;
}
float4 frag (v2f i) : SV_Target {
// sample the texture
float4 col = tex2D(_MainTex, i.uv) * _Color;
col.a = (i.screen.z / i.screen.w);
//using UNITY_REVERSED_Z becuase SHADER_TARGET_GLSL
//doesn't seem to work on my machine
#if !defined(UNITY_REVERSED_Z)
col.a = (col.a + 1.0) * 0.5;
#endif
return col;
}
ENDCG
}
}
}
- Código:
// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'
Shader "Unlit/Composite" {
Properties {
_MainTex("Texture", 2D) = "white" {}
_DistortionRT("Dist Color Buffer", 2D) = "white"{}
_DistortionMask("Dist mask", 2D) = "black"{}
}
SubShader {
Tags{ "RenderType" = "Opaque" }
Pass {
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
struct appdata {
float4 vertex : POSITION;
float2 uv : TEXCOORD0;
};
struct v2f {
float2 uv : TEXCOORD0;
float4 vertex : SV_POSITION;
};
sampler2D _MainTex;
float4 _MainTex_ST;
sampler2D _DistortionRT;
sampler2D _CameraDepthTexture;
float _DistortionOffset;
float _DistortionAmount;
v2f vert(appdata v) {
v2f o;
o.vertex = UnityObjectToClipPos(v.vertex);
o.uv = TRANSFORM_TEX(v.uv,_MainTex);
return o;
}
fixed4 frag(v2f i) : SV_Target {
fixed4 screen = tex2D(_MainTex, float2(i.uv.x, i.uv.y));
float2 distortUVs = i.uv;
#if defined(UNITY_UV_STARTS_AT_TOP) && !defined(SHADER_API_MOBILE)
distortUVs.y = 1.0 - distortUVs.y;
#endif
float4 distort = tex2D(_DistortionRT, fixed2(distortUVs.x + sin((distortUVs.y + _DistortionOffset) * 100)*_DistortionAmount, distortUVs.y));
float d = tex2D(_CameraDepthTexture, distortUVs).r;
#if UNITY_REVERSED_Z
return lerp(screen, distort, distort.a > d);
#else
return lerp(screen, distort, distort.a < d);
#endif
}
ENDCG
}
}
}
Flávio- MembroAvançado
- PONTOS : 2830
REPUTAÇÃO : 29
Áreas de atuação : Aprendizagem em:
Programação C#;
Pixelart
Respeito as regras :
Re: Fazer objeto com textura fica atrás de tudo na cena
Contatei a fonte desse projeto para saber se tem como alterar o shader para funcionar direito no 2D.
estou aguardando, mas achei outro efeito de distorção nao igual a esse mas vai me servir tbm.
estou aguardando, mas achei outro efeito de distorção nao igual a esse mas vai me servir tbm.
Flávio- MembroAvançado
- PONTOS : 2830
REPUTAÇÃO : 29
Áreas de atuação : Aprendizagem em:
Programação C#;
Pixelart
Respeito as regras :
Tópicos semelhantes
» Como fazer o clique não acertar o inimigo atrás de um objeto (hit collider)
» Objeto em movimento bate no box collider e fica tremendo até bugar a cena?
» Textura PNG transparente fica preta na build
» como fazer o objeto não ser destruido quando fechar a cena
» como fazer o personagen quando colidir em um objeto ele carregar outra cena furum {FECHADO}
» Objeto em movimento bate no box collider e fica tremendo até bugar a cena?
» Textura PNG transparente fica preta na build
» como fazer o objeto não ser destruido quando fechar a cena
» como fazer o personagen quando colidir em um objeto ele carregar outra cena furum {FECHADO}
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos