Si se obstruye la vista del personaje, se muestra una silueta o lo que quieras.
Originalmente esta es nuestra escena.
Nos vamos a la ventana "Sistema de archivos", copiamos la escena principal 3 veces.
A la primera escena le ponemos el nombre: "Todo", a la segunda el nombre: "Protagonista" y a la tercera el nombre de: "Paredes".
Ahora abrimos la escena "Todo", cambiamos el nombre del nodo raíz al nombre de la escena.
Seleccionamos la cámara, en la propiedad "Cull Mask", desmarcamos todos los cuadros dejando solo uno con selección.
Clic derecho sobre el nodo "Muro", clic en "Crear Local".
Seleccionamos la malla del nodo "Muro".
Le creamos un nuevo material.
El material no debe tener sombras, entonces en la sección de "Flags", marcamos la casilla "Unshaded".
Ahora desplegamos la opciones de "Albedo", en "Color" damos un color que no se encuentre en ninguna parte de la escena, este color funcionara como un croma.
Ahora abrimos la escena "Protagonista", cambiamos el nombre del nodo raíz al nombre de la escena.
Eliminamos los nodos "Muro" y "Piso".
Hacemos clic derecho sobre el nodo "Personaje", después en "Crear Local".
Arrastramos el nodo "MeshInstance" al nodo raíz.
Arrastramos la cámara al nodo "MeshInstance".
Eliminamos el nodo "Personaje".
Como en la anterior ocasión le creamos un nuevo material a la malla.
Seleccionamos el nodo "MeshInstance", en la sección "VisualInstance", desmarcamos el primer cuadro para posteriormente marcamos el segundo cuadro.
Ahora sigue la cámara, en el apartado "Cull Mask", desmarcamos todos los cuadros dejando solo el segundo.
Toca la escena "Paredes", cambiamos el nombre del nodo raíz al nombre de la escena.
Arrastramos la cámara al nodo raíz.
Eliminamos los nodos: "Personaje" y "Piso".
Clic derecho en el nodo "Muro", clic en "Crear Local".
Arrastramos el nodo "MeshInstance" al nodo raíz.
Eliminamos el nodo "Muro".
Clic en la cámara, en "Cull Mask", desmarcamos todos los cuadros dejando solo el tercero.
En el nodo "MeshInstance", en "Visual Instance", desmarcamos el primer cuadro y marcamos el tercer cuadro.
Creamos una nueva escena cuyo nodo raíz sea un "Node2D" con el nombre de "Indice".
Hacemos de esta escena la escena principal.
Colocamos un nodo "Viewport", le damos el nombre de "Paredes".
Le damos el tamaño que tiene nuestro proyecto.
Si no sabe que tamaño tiene tu proyecto ve a: "Proyecto", "Ajustes de proyecto", "General", "Display", "Window".
Seleccionamos el nodo "Paredes", presionamos la combinación de teclas "CTRL + D" dos veces.
Renombramos los dos nuevos nodos con: "Protagonista" y "Todo".
Enlazamos una escena a cada "Viewport".
Agregamos un "Sprite" a la escena, lo nombramos "Paredes2".
En el anterior nodo colocamos un "ViewportTexture".
Seleccionamos el nodo "Paredes".
En el grupo "Offset", desmarcamos la casilla de "Centered" y marcamos la casilla "Flip V".
Ahora repetimos los anteriores 4 pasos dos veces.
Seleccionamos el nodo "Protagonista" y marcamos la casilla de "Transparent Bg".
Seleccionamos el nodo "Todo2", le creamos un "Nuevo ShaderMaterial".
Ahora le creamos un "Nuevo Shader".
Introducimos el siguiente sombreado.
Nos aparecen nuevas opciones, desplegamos "Shader Param", en "Croma" colocamos ese único color que decidimos en la escena "Todo", en "Fondo" colocamos cualquier color pero con una transparencia de "0".
Para concluir este agotador tutorial ponemos un script.
¡Listo!
https://www.mediafire.com/file/yrg2c1fvqyvdkx9/Siluetas.zip/file
Nota:
Prácticamente estamos convirtiendo escenas 3D en Imágenes 2D par posteriormente editarlas.
¿No era mas fácil poner un sombreado al personaje y ya?
-El problema es que no encontré ese sombreado mágico, bueno si encontré uno pero era un desastre con mallas complejas con muchos polígonos, para mallas simples como un cubo, una esfera, un cono, si funcionaba pero solo eso, en cambio este método largo que uso funciona para cualquier tipo de malla.
Originalmente esta es nuestra escena.
Nos vamos a la ventana "Sistema de archivos", copiamos la escena principal 3 veces.
A la primera escena le ponemos el nombre: "Todo", a la segunda el nombre: "Protagonista" y a la tercera el nombre de: "Paredes".
Ahora abrimos la escena "Todo", cambiamos el nombre del nodo raíz al nombre de la escena.
Seleccionamos la cámara, en la propiedad "Cull Mask", desmarcamos todos los cuadros dejando solo uno con selección.
Clic derecho sobre el nodo "Muro", clic en "Crear Local".
Seleccionamos la malla del nodo "Muro".
Le creamos un nuevo material.
El material no debe tener sombras, entonces en la sección de "Flags", marcamos la casilla "Unshaded".
Ahora desplegamos la opciones de "Albedo", en "Color" damos un color que no se encuentre en ninguna parte de la escena, este color funcionara como un croma.
Ahora abrimos la escena "Protagonista", cambiamos el nombre del nodo raíz al nombre de la escena.
Eliminamos los nodos "Muro" y "Piso".
Hacemos clic derecho sobre el nodo "Personaje", después en "Crear Local".
Arrastramos el nodo "MeshInstance" al nodo raíz.
Arrastramos la cámara al nodo "MeshInstance".
Eliminamos el nodo "Personaje".
Como en la anterior ocasión le creamos un nuevo material a la malla.
Seleccionamos el nodo "MeshInstance", en la sección "VisualInstance", desmarcamos el primer cuadro para posteriormente marcamos el segundo cuadro.
Ahora sigue la cámara, en el apartado "Cull Mask", desmarcamos todos los cuadros dejando solo el segundo.
Toca la escena "Paredes", cambiamos el nombre del nodo raíz al nombre de la escena.
Arrastramos la cámara al nodo raíz.
Eliminamos los nodos: "Personaje" y "Piso".
Clic derecho en el nodo "Muro", clic en "Crear Local".
Arrastramos el nodo "MeshInstance" al nodo raíz.
Eliminamos el nodo "Muro".
Clic en la cámara, en "Cull Mask", desmarcamos todos los cuadros dejando solo el tercero.
En el nodo "MeshInstance", en "Visual Instance", desmarcamos el primer cuadro y marcamos el tercer cuadro.
Creamos una nueva escena cuyo nodo raíz sea un "Node2D" con el nombre de "Indice".
Hacemos de esta escena la escena principal.
Colocamos un nodo "Viewport", le damos el nombre de "Paredes".
Le damos el tamaño que tiene nuestro proyecto.
Si no sabe que tamaño tiene tu proyecto ve a: "Proyecto", "Ajustes de proyecto", "General", "Display", "Window".
Seleccionamos el nodo "Paredes", presionamos la combinación de teclas "CTRL + D" dos veces.
Renombramos los dos nuevos nodos con: "Protagonista" y "Todo".
Enlazamos una escena a cada "Viewport".
Agregamos un "Sprite" a la escena, lo nombramos "Paredes2".
En el anterior nodo colocamos un "ViewportTexture".
Seleccionamos el nodo "Paredes".
En el grupo "Offset", desmarcamos la casilla de "Centered" y marcamos la casilla "Flip V".
Ahora repetimos los anteriores 4 pasos dos veces.
Seleccionamos el nodo "Protagonista" y marcamos la casilla de "Transparent Bg".
Seleccionamos el nodo "Todo2", le creamos un "Nuevo ShaderMaterial".
Ahora le creamos un "Nuevo Shader".
Introducimos el siguiente sombreado.
Nos aparecen nuevas opciones, desplegamos "Shader Param", en "Croma" colocamos ese único color que decidimos en la escena "Todo", en "Fondo" colocamos cualquier color pero con una transparencia de "0".
Para concluir este agotador tutorial ponemos un script.
¡Listo!
https://www.mediafire.com/file/yrg2c1fvqyvdkx9/Siluetas.zip/file
Nota:
Prácticamente estamos convirtiendo escenas 3D en Imágenes 2D par posteriormente editarlas.
¿No era mas fácil poner un sombreado al personaje y ya?
-El problema es que no encontré ese sombreado mágico, bueno si encontré uno pero era un desastre con mallas complejas con muchos polígonos, para mallas simples como un cubo, una esfera, un cono, si funcionaba pero solo eso, en cambio este método largo que uso funciona para cualquier tipo de malla.
Comentarios
Publicar un comentario