domingo, 18 de enero de 2015

Dibujar un paisaje con CSS3

En esta ocasión veremos cómo dibujar un paisaje sencillo y colorido usando solamente CSS3.

Veamos el resultado final:


Crear formas irregulares usando Bordes


Comenzaremos con la técnica para hacer el edificio, puerta, ventana y troncos. Veamos qué pasa si formamos un cuadrado o rectángulo y desde el CSS3 le damos bordes bien anchos y, a cada borde, le damos un color diferente. Nos quedaría este resultado:


css
Código :
<style type="text/css">
   .recuadro1{
   width:0px;
      border-top:50px solid violet;
      border-right:50px solid pink;
      border-bottom:50px solid yellow;
      border-left:50px solid limegreen;
      }
   </style>


html5
Código :
<div id="ejemplo"></div>


Si le damos un ancho y ponemos en color transparente a 3 lados podemos obtener la siguiente forma:



Código :
.recuadro1{             
   width:100px;
   height:100px;
   border-top: 0px solid transparent;
   border-left: 50px solid transparent;
   border-right: 50px solid transparent;      
   border-bottom: 50px solid hotpink;
   }


Fíjense que el border-top está en 0 px.

De esos resultados nos valdremos para crear formas, en este caso haremos un edificio en una extraña perspectiva, tipo cartoon encimando 2 capas, una con borde inferior y la otra con borde superior:



Código :
.recuadro{
   position:relative;       
   width:100px;
   height:50px;
   border-top: 120px solid deeppink;
   border-left: 50px solid transparent;
   border-right: 50px solid transparent;
   border-bottom: 0px solid transparent;
   transform:rotate(-2deg); /*esto es para dejar mas cute al dibujo*/      
   z-index:3;         
   }
         
.recuadro1{
   position:relative;       
   width:100px;
   height:100px;
   border-top: 0px solid transparent;
   border-left: 50px solid transparent;
   border-right: 50px solid transparent;      
   border-bottom: 50px solid hotpink;
   transform:rotate(-2deg);
   margin:-270px 0 0 -5px;
   z-index:2;
   }


Con esta sola premisa podemos encimar diferentes capas con estas propiedades y así vamos formando nuestras figuras. también podemos en vez de encimar capas, usar :after y :before con posiciones absolutas.

Dibujar el edificio con css3



Como ya lo básico está explicado contaré como ir formando los elementos y al final pongo el codigo completo y el demo.

Ya con esta premisa y aplicando solamente esta técnica podemos formar el dibujo del edificio, la ventana y la puerta. Para incentivar la perspectiva rotaremos un poco los elementos. 


Márgenes



Debemos usar mucho margen negativo porque no olvidemos que para ir generando las formas estamos trabajando con rectángulos pero sólo estamos visualizando uno de sus lados. Veamoslo:



Agregamos la ventana y la puerta, todo esto con positiones relativas y usando z-index.

Dibujar los árboles


Se acuerdan del tutorial de Animación de nubes con CSS3? Usaremos la misma técnica para hacer los árboles. 

Tendremos 3 capas y las encimaremos. Luego les daremos forma redondeada con border-radius:



El tronco


Se hace igual que con el edificio, sólo que lo haremos más alto y fino. A estos también les daremos una leve rotación para darle más perspectiva al dibujo.

Dibujar un camino


La calle que está al lado de la casa es una capa con border-radius ovalado y bastante grosor.
Código :
.calle{
   width:1700px;
   height:500px;
   border-radius: 800px / 500px;
   behavior: url(pie.htc);
   border:100px solid white;
   position:relative;
   z-index:22;
   }


Luego sólo queda reacomodar los elementos con los valores relativos y márgenes para ir ubicándolos dentro de la composición.


Hacerlo crossbrowser



Se visualiza BIEN en chrome, safari, IE9 y 8.


border transparent



Ovbiamente esta es la peor parte . La propiedad “transparent” se visualiza mal en Ópera, IE6 (WTF!) y Firefox. 


El render en Firefox y Ópera




La superposición de los elementos y las transparencias no se ven muy bien en estos navegadores. 






El render no sale bien en estos navegadores. Si alguien tiene algun hack oscuro que lo postee acá 



border transparent en IE-6



Si todavía validas para IE6 aquí esta tu solución si deseas usar esta técnica con bordes transparentes.
En IE6 los bordes que deberían estar transparentes se ven negros. 





Esto lo solucionamos con un exótico y antiguo hack. Sólo debemos asignarle un color cualquiera a los bordes transparentes y aplicarle filter: chroma a ese color:


Código :
   /*----------------hack transparencia ie6 WTF!! >o< ----------*/
      
      *html .recuadro, *html .tronco, *html .ventana, *html .puerta
         {
         border-left: pink;
         border-right: pink;          
         border-bottom: pink;
         filter: chroma(color=pink);
         }
         
      *html .recuadro1
         {
         border-left: pink;
         border-right: pink;          
         border-right: pink;
         filter: chroma(color=pink);
         }


y la magia negra ocurre XD

Y qué pasa con los elementos rotados en IE?


Lamentablemente, IE tiene filtro para rotar, pero sólo hay 4 grados de rotación. Se puede usar también algún javascript, pero estas rotaciones utilizadas en el tutorial son muy sutiles, por lo que si no están no es una gran pérdida. No vale la pena recurrir a tanta magia negra por sólo 2 grados, no creen?



En la imagen solo habría que modificar un poco el margen y listo, pero la verdad... qué pereza no?? lo mismo para IE7, pero quién usa IE7?? :cool: 

Para los prefijos automáticos y los bordes redondeados utilicé prefix-free y css-pie.htc.


Y aquí el código final y el demo.

HTML5
Código :
<!DOCTYPE HTML>
<html lang="en-US">
   <head>
      <meta charset="UTF-8">
      <title>Ejemplo::Paisaje en CSS3</title>
      <link rel="stylesheet" type="text/css" href="style.css" media="all" />
      <script src="prefixfree.min.js"></script>
   </head>
   <body>      
      <div id="cuadro">
         <div class="sol"></div>
         <div class="tree1">
            <div class="arbol1"></div>
            <div class="arbol2"></div>
            <div class="arbol3"></div>
            <div class="tronco"></div>
         </div>
         <div class="edificio-todo">
            <div class="puerta"></div>
            <div class="ventana"></div>
            <div class="recuadro1"></div>
            <div class="recuadro"></div>
         </div>
         <div id="calle-cont">
            <div class="calle"></div>
         </div>
         <div class="tree">
            <div class="arbol1"></div>
            <div class="arbol2"></div>
            <div class="arbol3"></div>
            <div class="tronco"></div>
         </div>
      </div>
   </body>
</html>


CSS3
Código :
body{
   background:deepskyblue;
   border-bottom: 400px solid orchid;    
   font-family: "Trebuchet MS", Arial, sans-serif;
   }
   
*{
   margin:0;
   }
/*------------------ejemplo ^^ ------------*/
      .recuadro{
         position:relative;       
         width:100px;
         height:50px;
         border-top: 120px solid deeppink;
         border-left: 50px solid transparent;
         border-right: 50px solid transparent;
         border-bottom: 0px solid transparent;
         transform:rotate(-2deg);      
         z-index:3;
         
         }
         
      .recuadro1{
         position:relative;       
         width:100px;
         height:100px;
         border-top: 0px solid transparent;
         border-left: 50px solid transparent;
         border-right: 50px solid transparent;      
         border-bottom: 50px solid hotpink;
         transform:rotate(-2deg);
         margin:-270px 0 0 -5px;
         z-index:2;
         }
         
      .ventana{
         position:relative;
         margin:-200px 0 0 -5px;
         right:-30px;
         width:50px;
         height:70px;         
         border-top: 30px solid white;
         border-left: 5px solid transparent;
         border-right: 5px solid transparent;
         border-bottom: 0px solid transparent;
         transform:rotate(-4deg);
         z-index:4;
         }
         
         .puerta{
         position:relative;
         margin:130px 0 0 -5px;
         right:-70px;
         width:50px;
         height:100px;         
         border-top: 50px solid white;
         border-left: 10px solid transparent;
         border-right: 10px solid transparent;
         border-bottom: 0px solid transparent;
         transform:rotate(-2deg);
         z-index:5;
         }
         
      #cuadro{
         width:80%;
         height:200px;
         padding:50px;         
         margin:0 auto;
         }
         
      .sol{
         width:100px;
         height:100px;
         border-radius:100px;
         behavior: url(pie.htc);
         background:yellow;
         }
         
      .tree1{
         width:200px;
         height:180px;
         margin:50px 0 0 230px;      
         position:relative;
         z-index:20;
         transform: scale(0.8) rotate(-15deg);
         }
         
      .edificio-todo{
         width:300px;
         height:200px;         
         margin:-190px 0 0 300px;
         position:relative;
         z-index:21;
         }
      
      #calle-cont{
         width:93%;
         height:380px;
         overflow:hidden;
         position:relative;
         margin:-200px 0 0 200px;
         }
      
      .calle{
         width:1700px;
         height:500px;
         border-radius: 800px / 500px;
         behavior: url(pie.htc);
         border:100px solid white;
         position:relative;
         z-index:22;
         }
      
      .tree{
         width:200px;
         margin:-380px 0 0 500px;         
         position:relative;
         z-index:23;
         transform: scale(1.2) rotate(8deg);
         }
                        
      .arbol1{
         width:100px;
         height:80px;
         border-radius:100px /80px;
         behavior: url(pie.htc);
         background:yellowgreen;
         position:relative;
         z-index:9;
         }
         
      .arbol2{
         width:120px;
         height:100px;
         border-radius:120px /100px;
         behavior: url(pie.htc);
         background:yellowgreen;
         transform:rotate(-2deg);
         margin:-50px 0 0 30px;
         position:relative;
         z-index:8;
         }
         
      .arbol3{
         width:120px;
         height:100px;
         border-radius:100px /80px;
         behavior: url(pie.htc);
         background:yellowgreen;         
         transform:rotate(5deg);
         margin:-100px 0 0 -30px;
         position:relative;
         z-index:7;
         }
         
      .tronco{
         width:20px;
         height:200px;         
         border-top: 50px solid brown;
         border-left: 10px solid transparent;
         border-right: 10px solid transparent;
         border-bottom: 0px solid transparent;
         transform:rotate(-2deg);
         z-index:6;
         margin:-20px 0 0 30px;
         position:relative;
         }
         
      /*----------------hack transparencia ie6 WTF!! >o< ----------*/
      
      *html .recuadro, *html .tronco, *html .ventana, *html .puerta
         {
         border-left: pink;
         border-right: pink;          
         border-bottom: pink;
         filter: chroma(color=pink);
         }
         
      *html .recuadro1
         {
         border-left: pink;
         border-right: pink;          
         border-right: pink;
         filter: chroma(color=pink);
         }
Ver demo


Fuente:enlace

Si quieres seguir aprendiendo con nosotros, puedes ingresar a nuestros 
Cursos y Diplomados de Tecnología Web visita www.uneweb.edu.ve  para más información

sábado, 17 de enero de 2015

Cómo simular una tela en 3D Studio Max

Siguiendo el tip de JaLeRu donde indicaba cómo simular efectos de física en 3DS Max, en este tip veremos cómo hacer una tela realista en 3D Studio Max, en mi caso usé la versión 2008 del programa.

Lo primero que haremos será crear una esfera o una figura sobre la cual cae la tela.

Luego crearemos un cilindro finito que hará de tela. Cuantos más "Cap segments" tenga el cilindro más realista será, pero tardará mucho más tiempo interpretar la escena y luego renderizarla.

Como ejemplo, mi escenario quedó así:




Después seleccionamos la esfera y vamos al menú, seleccionamos Reactor>Create Object>Rigid Body Collection.

Seleccionamos la esfera, vamos a Reactor>Open Property Editor y dejamos los valores de la esfera de la siguiente forma:



    Masa: 0 (para que no se caiga)
    Fricción: 0,3 (predeterminado)
    Elasticidad: 0,3 (predeterminado)
    Bounding Sphere


En mi caso quedó así:



Después, seleccionamos el cilindro que hará de tela, vamos a la lista de modificadores y le ponemos uno que dice "reactor Cloth".

Después vamos al bloque que dice fold stiffness y ponemos "Spatial Model", esto es para que la tela tenga propiedades espaciales. Además activamos la opcion "Avoid self Intersections".

En mi caso quedó así:




Después, seleccionamos el cilindro y vamos al menú, donde dice Reactor>Create Object>Cloth Collection.

Y ya estamos listos para ir a Reactor>Preview animation y ver como quedaría nuestra animación.

Si nos gusta el resultado podemos poner Reactor>Create animation y listo, las modificaciones son irreversibles.


Fuente:enlace

Si quieres seguir aprendiendo con nosotros, puedes ingresar a nuestros 
Cursos y Diplomados de Tecnología Web visita www.uneweb.edu.ve  para más información

viernes, 16 de enero de 2015

Crear una máscara de texto transparente en Photoshop

Una opción muy fácil de hacer efectos de texto transparente con imágenes en Photoshop es utilizar la herramienta de Máscara de Texto. Manos a la obra!

Seleccionar las fotos


Vamos a utilizar tres imágenes que cada una tendrá su propia capa la cual ImagenA es la que va a tener el texto y la ImagenB e ImagenC serán el fondo.



Colocar y editar el texto a enmascarar


Seleccionaremos la Herramienta Máscara de Texto de la Barra de Herramienta.



Al hacer click, nuestra pantalla se pondrá de Modo de Máscara.



Configuramos todos los valores para nuestro texto en el Panel Carácter.



Tipiamos el texto a colocar, en este caso será CRISTALAB.



Con la Herramienta Marco Rectangular, movemos nuestra selección al lugar deseado.



Creando la Máscara de Texto


Una vez que tenemos la selección de nuestro texto, nos vamos al Menú - Selección - Invertir Selección o simplemente pulsamos la combinación de teclaMayús+Ctrl+I.



Quedando la selección de esta forma.



Le damos click al Botón de Máscara del Panel Capa para crear la máscara y hacer "hueca" la ImagenA.



De tal forma nos muestra el fondo de la ImagenB.



Le damos click al Ojo para ocultar la ImagenB y así quede la ImagenC visible.



Y si ocultamos la ImagenC, nos mostrará el fondo que tengamos por defecto en Photoshop.



Fuente:enlace

Si quieres seguir aprendiendo con nosotros, puedes ingresar a nuestros 
Cursos y Diplomados de Tecnología Web visita www.uneweb.edu.ve  para más información

Consigue cómo envejecer personas con Photoshop

Hace un par de semanas se planteó un concurso en el que había que envejecer a cierta persona; resulté ganador entre miles de participantes. Pero después de una conmovedora entrega de premios se me informa que para conservarlos debo realizar un tip y/o tutorial explicando el proceso, lo que deja ver claramente que el concurso no era otra cosa que una excusa para sumar más material a cristalab.

Dada la naturaleza de las circunstanciaras dejo en claro que las explicaciones que se darán a continuación posiblemente carezcan de la carisma a la que acostumbro.


# 1: Elegir las imágenes



Las imágenes con las que se trabajará (en este caso, dos) deben ser lo mas compatibles posible en cuanto exposición, iluminación, ángulo de toma etc. Tomando como patrón la imagen original.




# 2: Selección fragmentada de piel


Para seleccionar fragmentos de piel se sugiere el uso de la herramienta lazo (L); deben seleccionarse primero las partes que cubran los rasgos principales (nariz, boca, ojos, orejas, etc.) intentando ser lo mas preciso posible.

[center]


# 3: Moldeado de selecciones



Usando la herramienta de trasformación (Ctrl + T) y manteniendo la tecla Ctrl presionada podremos moldar los nodos de transformación de manera independiente. Se sugiere disminuir la opacidad de la capa para asi tener una mejor perspectiva de la imagen original.





# 4: Ajustes de iluminación y contrastes



Finalmente se pueden usar las diferentes paletas de ajustes (Imagen > Ajustes) para nivelar las diferentes partes y obtener una iluminación pareja.




Resultado final



Fuente:enlace

Si quieres seguir aprendiendo con nosotros, puedes ingresar a nuestros 
Cursos y Diplomados de Tecnología Web visita www.uneweb.edu.ve  para más información

jueves, 15 de enero de 2015

Cómo dibujar un rostro de perfil

Hola todos de nuevo, con el fin de continuar con mi serie de tutoriales les dejo este que es otra forma de dibujar un rostro de perfíl, digo otra forma porque ya tenemos en cristalab un tutorial que habla de lo mismo aquí . 

Este está destinado a usuarios que apenas dan sus primeros pasos en el dibujo, algo de lo más común es tener problema al dibujar rostros de perfíl, no describo aún cómo dibujar el resto de los elementos, pero no pienso que eso sea relevante aún. Comenzamos:


Proporciones




Primero comienza con las formas más básicas, como en cualquier procedimiento de dibujo, esto te ahorra borrones para que puedas ver a grandes rasgos la forma y tamaño de los elementos, ya que es más fácil corregir:





Inicia por el círculo, en base al círculo dibujas la mandíbula, angular por detrás y más suave en el frente y estos dos elementos serán tu referencia para dibujar el cuello, yo en realidad dibujo sobre la marcha, es decir, coloco los elementos donde y como a mí me paresca que se ven mejor, sin embargo siempre es más fácil tener referencias, así que les dejo estas medidas para ayudarse, pero por favor, no vayan por una regla, forzar las medidas exactas hará que sus proporciones se vean poco naturales.






Ahora sí, los rasgos faciales



Esto es un poco dificil de explicar, les recomiendo que lo que puedan lo hagan ustedes con el dibujo como referencia ya que no quisiera abrumarlos con un montón de medidas, pero aquí está una lista por si tienen dificultad con algo:



  1. Los ojos ocupan de alto 1/4, vean dónde está la linea superior, a la mitad del círculo, no hagas el ojo muy al frente ni muy atrás, considera que está ligeramente hundido en la cara, el volumen se lo da la ceja ya que está más delante que el ojo.
  2. La punta de la naríz está aprox. a la altura de la base del círculo, notas la curvatura de la línea frontal de la mandíbula, es el borde de la mejilla, ve como está inclinada hacia atrás, la base de la nariz no toca esa línea, mira que la nariz no es tampoco demasiado puntiaguda, también observa el nacimiento de la naríz (en la frente) y su posición con respecto al ojo.
  3. El labio superior sobresale un poco sobre el labio inferior, la base del labio inferior ya alcanza a tocar la línea de la mandíbula, esta diferencia entre ambos labios se hace mayor entre más curva sea la mandíbula.
  4. La oreja está por detrás de la mitad del círculo, casi centrada en esa mitad y mide aprox. lo mismo que la nariz, puede estar ubicada a cualquier altura entre la ceja y la base de la nariz.
  5. Solo puedo decir que pongas mucha atención a la forma de la barbilla el cuello, la barbilla sobresale un poco sin perder alineación con la nariz y los labios, el cuello varía mucho entre un personaje y otro, pero trata de equilibrarlo de manera agradable, un error recurrente es hacerlo desde la base de la oreja, procura dejar un espacio, también pasa mucho que lo hacen muy alejado de la mandíbula, evita también eso, si quieres afinar la mandíbula observa bien el dibujo y mira que la línea es más fuerte en la parte de adelante y más delicada en la base, también marqué una pequeña línea debajo de la oreja para terminar de simular la forma.




Ahora lo que resta es dibujar el cabello, elige un punto de fuga (a donde se dirigirán los mechones) y has un montón de lineas de anchos variantes, procura aprovechar al máximo la curva natural de tu mano, esto da un efecto de ligereza al cabello, mira que los mechones del frente son más pequeños y definidos, y el cabello de atrás se comporta como una masa, así que en las areas espesas del cabello no termines de dibujar todas las líneas hasta el punto de fuga, también recuerda que el cabello hace un pequeño rodeo por la cabeza antes de llegar a su nacimiento.



Listo, hemos terminado el paso por paso!, debajo les doy una pequeña explicación de como hacer variaciones básicas en las proporciones.

Dibujar personas diferentes


Cuando ves a una persona siempre te da una sensación su rostro: calmado, fuerte, creído etc... es bueno conocer con qué facciones puedes jugar al dibujar un rostro, a continuación dos ejemplos que les servirán para comenzar, ustedes intenten tomar referencia fotográfica u otros dibujos para analizarlos mejor.

Para lograr un rostro más infantil solo se "recorre" la barbilla hacia arriba haciendo la mandíbula más compacta y la naríz más sutil en su base, pero como hiciste la mandíbula más compacta debes equilibrar el espacio que hay en el costado de la cara para que no se vea muy alargado, entonces la oreja va más adelante (en el centro del círculo) y es más pequeña, y se hace un efecto en cadena, ahora la nuca deberá recorrerse también hacia adelante formando un cuello más fino y la cabeza más redonda.



Un rostro más masculino y fuerte se logra reduciendo el ángulo y curvatura de la mandíbula, vean que ahora forma una linea vertical y el mentón apunta hacia el frente, la nariz también es un poco menos respingada para ayudar a seguir la línea del mentón.


Fuente:enlace

Si quieres seguir aprendiendo con nosotros, puedes ingresar a nuestros 
Cursos y Diplomados de Tecnología Web visita www.uneweb.edu.ve  para más información

Entradas populares