Jump to content
Sign in to follow this  
Jhonatan00_00

ANSWERED Orden de Renderizado (SOLUCIONADO)

Recommended Posts

Por lo que veo en el vídeo esta persona sabe programar lo que yo no voy a llegar a aprender en toda mi vida, pero por eso mismo ha realizado el Fade In/Out de la manera mas compleja que se te puede ocurrir y tampoco creo que me sirva para lo que yo estoy tratando de hacer (o no he entendido nada del video), que es hacer transparente la imagen que capta una de las cámaras y después que vaya apareciendo poco a poco...

Para esto del FadeIn/Out lo que yo he hecho ha sido crear un Canvas, darle el tamaño de la pantalla y el color que yo quiera y por script tocar su transparencia para que la pantalla se encienda o se apague, no tiene mas historia. Lo complicado es cuando quieres hacer lo mismo con un personaje 3D o un objeto 3D y que aparezca progresivamente, no encuentro la forma.

Share this post


Link to post
Share on other sites

Buenos días Francoe1, eso es lo primero que hice y lo mas sencillo, pero los objetos 3D no actúan como los objetos 2D al hacerse transparentes. Una imagen 2D al no tener fondo si no que es plana simplemente se hace transparente y ya está, pero un objeto 3D como puede ser un cubo, cuando es semitransparente deja ver sus 4 caras. Si aplicamos esto a un personaje se puede ver como está modelado, que es hueco por dentro e incluso me genera fallos como caras invertidas, etc... No funciona.

Lo que yo necesito es que ese personaje se haga transparente como si fuese 2D.

Share this post


Link to post
Share on other sites

@Jhonatan00_00, Claramente te entendi de ante manos, por eso te comentaba que para el efecto en 3D deberias utilizar Post Procesado, digamos que un objeto 3D es eso y nada más, no se puede comportar como 2D por que si, si bien se puede desarrollar shaders para que las caras de atrás no se rendericen y encontrar una forma de renderizar todo lo no afectado por el alpha entonces podrias crear algo similar. Si queres lograr este efecto de modificar el Culling y Z-depth para obtener un alpha por shaders deberias aprender a utilizar shaders, la guia oficial esta bastante bien para los conceptos basicos. https://docs.unity3d.com/Manual/ShadersOverview.html

Contenido de interés para realizar shaders.

http://wiki.unity3d.com/index.php?title=AlphaVertexLitZ

https://github.com/andydbc/HologramShader

https://forum.unity.com/threads/transparent-depth-shader-good-for-ghosts.149511/

https://forum.unity.com/threads/question-about-zwrite-and-transparency.529054/

 

  • Like 1

Share this post


Link to post
Share on other sites

Gracias!!. No puedo indicar mas de un comentario como solución al problema del hilo por lo que he marcado el que soluciona lo que indica el titulo, pero he podido solucionar también lo de la transparencia gracias al último mensaje de Francoe1. Es una pasada lo que logran hacer con Shader. :63_astonished:

Viendo tutoriales, leyendo y aprendiendo un poco mas he podido simplificar todo mucho para poder crear un Shader con transparencia y que su vez tenga BumpMap, pero hay un problema y es que aún no me deja tocar el grado de transparencia. Muevo la barra de colores y el objeto si cambia de color, pero muevo la de la transparencia y no hace nada.

El Shader que he creado es este:

Shader "Custom/Transparent" {
	Properties {
		_MainTex ("Base (RGB)", 2D) = "white" {}
		_BumpMap("Bump Map", 2D) = "bump" {}
		_Color ("Main Color", Color) = (1,1,1,1)
    
	}
	SubShader {
		Tags { "RenderType"="Transparent" }
		
		CGPROGRAM
		#pragma surface surf Lambert

		sampler2D _MainTex;
        sampler2D _BumpMap;

        fixed4 _Color;

		struct Input {
			float2 uv_MainTex;
			float2 uv_BumpMap;
		};

		void surf (Input IN, inout SurfaceOutput o) {
			half4 c = tex2D (_MainTex, IN.uv_MainTex) * _Color;
			o.Albedo = c.rgb;
			o.Alpha = c.a;
			o.Normal = UnpackNormal(tex2D(_BumpMap, IN.uv_BumpMap));
		}
		ENDCG
	} 
	FallBack "Diffuse"
}

A ver si alguien puede ayudarme. :7_sweat_smile:

Edited by Jhonatan00_00

Share this post


Link to post
Share on other sites
Sign in to follow this  

UnitySpain © Todos los derechos reservados 2020
×
×
  • Create New...