Made In Flex Onsite III

Publicado por Iván Gajate el 20 de octubre de 2008 en Eventos, Flash

El viernes fue la tercera entrega de esta serie de eventos que organizan los de Made In Flex y la primera a la que asisto yo. Aunque Flex no es lo mío, siempre se aprenden muchas cosas en este tipo de eventos.

 

Alberto Alcaraz

nos habló sobre optimización en Flex. Impresionantes los resultados obtenidos con sólo cambiar algunos métodos utilizados. Aunque casi todo era Flex, algunas cosas valían para Flash perfectamente, como la declaración de variables locales estáticas o la definición previa en un bucle de su límite de iteraciones para evitar que el player tenga que recalcularlo en cada pasada del bucle.

Joan Garnet

hizo una clarísima introducción a Papervision3D, ya he visto unas cuantas sobre el tema, pero me gusta mucho cómo lo explica Joan, de forma clara y sencilla, haciendo pequeños ejemplos con cada concepto. Lo mismo hasta me animo de una vez a tocar esta librería :)

Además, me hizo fijarme en algunos detalles que no conocía, como el método onRenderTick para actualizar el render en Papervision. También fue buena idea heredar de BasicView para evitarte clases tan largas.

Joseba Alonso y Xavi Beumala

se explayaron de lo lindo con las novedades de Flash CS4. Más de uno estaba deseoso de ponerle la mano encima al paquete, jeje.

La mayoría de novedades sobre interfaz y similar ya lo habíamos visto en cristalab, pero vi algunos detalles en los que no me había fijado antes:

La posibilidad de alargar y acortar la línea de tiempo de una animación simplemente alargando su sprite va a ahorrar muchas horas con los típicos clientes de “un poquito mas rápido”, y ahora “un poquito mas lento”, “no, vuelve a ponerlo mas rápido, pero no tanto como antes…”  :[grr]

Aunque vuelvo a recordar, que eso ya lo hacíamos en Director hace años, pero bienvenido sea.

También habló de Pixel Bender, un toolkit para desarrollar filtros que luego se pueden usar en Flash e incluso en After Effects. Se trata de una aplicación en la que se pueden programar filtros como los de Photoshop basados en la modificación de píxels, y que posteriormente se pueden usar en flash. Lo mejor es que funcionan en otro proceso distinto al del player de Flash, aprovechándose una vez mas de la tarjeta gráfica y de procesos a bajo nivel, aumentando así el rendimiento, separando el trabajo de nuestra película, del procesamiento de la imagen. Impresionante.

Se pueden hacer filtros como el de esferizar de Photoshop por ejemplo

pixel bender espherize

 

mediante un código parecido a este:

<languageVersion : 1.0;>
/*****************************************************************************
 *
 * Author: Joa Ebert
 * http://blog.je2050.de
 * Contact: j -at- je2050.de
 *
 *****************************************************************************/
kernel Spherize
<
    nameSpace:          "popforge::ImageProcessing";
    vendor:             "Joa Ebert";
    version:            1;
    description:        "Applies spherical displacement map to an image.";
>
{
    parameter float refractionIndex
    <
        minValue:       0.0;
        maxValue:       1.0;
        defaultValue:   1.0 / 1.8;
        description:    "Refraction index of the sphere.";
    >;

    parameter float radius
    <
        minValue:       1.0;
        maxValue:       2880.0;
        defaultValue:   64.0;
        description:    "Radius of the sphere.";
    >;

    parameter float2 center
    <
        minValue:       float2(0.0);
        maxValue:       float2(2880.0);
        defaultValue:   float2(200.0);
        description:    "Center of the sphere.";
    >;

    void evaluatePixel(in image4 source, out pixel4 result)
    {
        float2 coord = outCoord();
        float2 dist = coord - center;
        float radius2 = radius * radius;
        float r2 = dist.x * dist.x + dist.y * dist.y; //maybe there is a function for this? remember its not |dist|

        // check if we actually want to displace or not
        if ( r2 > 0.0 && r2 < radius2 )
        {
            // distance from radius
            float z2 = radius2 - r2;
            float z = sqrt(z2);

            // refraction
            float xa = asin( dist.x / sqrt( dist.x * dist.x + z2 ) );
            float xb = xa - xa * refractionIndex;
            float ya = asin( dist.y / sqrt( dist.y * dist.y + z2 ) );
			float yb = ya - ya * refractionIndex;

            // displace by refraction
			coord.x -= z * tan( xb );
            coord.y -= z * tan( yb );
        }

        // sample with interpolation
        result = sampleLinear(source,coord);
    }
}

 

Otro pequeño detalle pero muy útil que no había visto antes es que en la biblioteca de Flash han puesto un pequeño buscador para filtrar los elementos por el nombre, y es que como bien decía Joseba, por mucho que nos empeñemos, nuestra biblioteca nunca está todo lo ordenada que debiera.

buscador_flashcs4

 

También se volvió a hablar sobre el 3D de Flash, la posibilidad de hacer transformaciones en el eje Z.

Dada la facilidad de hacer estas modificaciones en tiempo de diseño, cada vez tengo mas claro que va a ser una herramienta muy útil no solo para los diseñadores sino también para los desarrolladores, y va a permitir hacer la mayoría de efectos 3D que se necesitan, sobre todo si tenemos en cuenta que puede hacerse sobre un clip con todas las animaciones que se quieran dentro.

No digo que vaya a sustituir a librerías de 3D tipo Papervision, pero para la mayoría de efectos 3D que se usan en las interfaces web, ésta novedad va a ser mas que suficiente.

Soy de los que opinan que Flash se ha hecho grande gracias a su flexibilidad y facilidad de uso, y son los diseñadores sin muchos conocimientos de programación los que lo han impulsado hasta donde está ahora, sería un error ignorarles ahora.

 

Y lo mejor de todo el evento como casi siempre fueron las cañitas de después ;) Nos tomamos unas con Drus, Joseba, Joan, Xavi y Zárate, quien, se apuntó a última hora, y allí salió de todo, Flash, Flex, AS y muchas cosas mas…

 

Algunos enlaces que he encontrado por la red sobre estos temas:

 

17 comentarios para “Made In Flex Onsite III”

  1. Joder la pena es que tuvimos que volvernos a Alicante y no pudimos salir de cañas :P nada un gustor verte tio. saludos