Cómo crear arte generativo increíble con código JavaScript simple

    Rate this content
    Bookmark

    En lugar de dibujar manualmente cada imagen como en el arte tradicional, los artistas generativos escriben programas que son capaces de producir una variedad de resultados. En esta masterclass aprenderás cómo crear arte generativo increíble usando solo un navegador web y un editor de texto. Comenzando con conceptos básicos y avanzando hacia la teoría avanzada, cubriremos todo lo que necesitas saber.

    FAQ

    El arte generativo involucra el uso de un sistema autónomo, como un programa de computadora, para crear obras de arte. Este tipo de arte explora cómo las reglas predefinidas o los algoritmos pueden dar lugar a obras visualmente interesantes y únicas.

    Los emojis pueden ser utilizados como pinceles en la creación de arte generativo. Pueden ser integrados en el código de JavaScript para ser dibujados en el lienzo, modificando su tamaño, color y posición para crear patrones interesantes y dinámicas visuales.

    Para empezar en arte generativo, se puede usar JavaScript puro para los ejemplos más sencillos. Herramientas como p5.js también son populares por ofrecer funciones avanzadas que facilitan la creación de sistemas complejos de partículas, animaciones y más.

    El efecto de paralaje en arte generativo se puede lograr manipulando la velocidad y la dirección de los elementos gráficos en diferentes capas. Ajustando estos parámetros se puede simular profundidad y movimiento, dando un efecto más dinámico al arte.

    Fx-hash es una plataforma que permite a los artistas generar y vender arte generativo como NFTs (tokens no fungibles). Los artistas programan obras que generan resultados únicos cada vez que se 'acuñan', ofreciendo una experiencia singular para cada comprador.

    El ruido puede ser utilizado para añadir textura y realismo a las visualizaciones en arte generativo. Añadiendo pequeños valores aleatorios a las variables de color, posición o tamaño, se puede crear un efecto más orgánico y menos rígido.

    Frank Force
    Frank Force
    165 min
    12 Apr, 2022

    Comments

    Sign in or register to post your comment.

    Video Summary and Transcription

    La Masterclass sobre Arte Generativo y JavaScript abarca varios temas, incluyendo el dibujo de formas, el uso del depurador y el estilo CSS, y la exploración de variables y colores. También se adentra en la creación de efectos de fuego, el dibujo de líneas y formas, y el trabajo con oscilación y partículas. La masterclass enfatiza la importancia de guardar el trabajo, experimentar y construir desde lo básico. Destaca los usos del arte generativo en diferentes industrias e inspira en los textiles y el mundo real. En general, proporciona una visión completa de las técnicas de arte generativo y sus aplicaciones.

    1. Introducción al Arte Generativo y JavaScript

    Short description:

    Hola a todos, soy Frank Forrest, un artista generativo y también desarrollador de juegos. Me he centrado en aprender JavaScript para el arte generativo. Les mostraré un sitio web llamado Twitter, donde publico programas super pequeños de JavaScript. Estos programas son todos de arte generativo y puedes experimentar, remezclar ideas e incluso editar el código. Trabajaremos para crear arte generativo similar en esta masterclass.

    Hola a todos, soy Frank Forrest, un artista generativo y también desarrollador de juegos y supongo que muchas otras cosas. Pero ahora mismo estoy principalmente centrado en el arte generativo. Y realmente me he estado enfocando en, especialmente este año, pero incluso hace un par de años comencé a aprender JavaScript porque había estado aprendiendo C++ durante mucho tiempo. Así que no estoy seguro si ustedes están familiarizados con el tipo de cosas que hago. Así que solo voy a darles una rápida... mostrarles rápidamente qué es lo que he estado haciendo. En qué he estado trabajando.

    Entonces, veamos si puedo hacer eso. Tendrán que tener paciencia conmigo un poco porque todavía... No he usado Zoom mucho. Así que todavía estoy acostumbrándome al flujo de las cosas aquí. Bueno, espero que todos puedan ver mi pantalla ahora. Así que les estoy mostrando un sitio web llamado Twitter, que es un sitio web para publicar programas super pequeños de JavaScript. Todos estos programas son solo de 140 caracteres y todos son programas de arte generativo. Y creo que es un sitio web realmente genial para experimentar y jugar con diferentes ideas y ver lo que otras personas crean y remix ideas. Como que muchos de estos son remixes de cosas de otras personas. Pero si yo... Este no es el sitio web real, por cierto. Este es un sitio web que hice para hacerlo un poco más rápido para navegar por estas cosas.

    Así que he hecho más de mil de estos. He cubierto prácticamente todos los temas posibles que puedas imaginar. Ordenaré por los más populares. Cualquier cosa desde como un tipo de paisaje. Todo esto es arte generativo y este es el tipo de cosas que aprenderás en esta masterclass. Todos estos son programas muy, muy pequeños. Quiero enfatizar esto aquí. Puedes ver que el código está literalmente ahí en la pantalla. Así que si yo, por ejemplo, fuera a uno de estos, ahora puedes ver el código aquí mismo e incluso puedes editar el código. Este es el tipo de cosas que voy a mostrarles. Vamos a trabajar hacia esto. Así que no espero que entiendan exactamente lo que está pasando aquí. Así que, por ejemplo, podría tocar estos números para cambiar un poco los colores. Hacerlo más verde, o tal vez hacerlo más azul o lo que sea. Así es como yo estaría quizás ajustando lo que está pasando con este arte generativo. Puedo hacer estos en lugar de un cuadrado grande, puedo hacerlos como cuadrados pequeños, o podría poner muchos más de ellos, tal vez. O lo que sea. Así que con eso vamos a jugar hoy.

    2. Creando un archivo HTML y dibujando formas

    Short description:

    Vamos a comenzar creando un nuevo archivo HTML. Te mostraré cómo dibujar un cuadrado utilizando la función fill rect. Luego te mostraré cómo aplicar color a la forma utilizando nombres de colores HTML o códigos hexadecimales. Ahora, Chris, puedes dibujar más rectángulos si quieres.

    Entonces veo que algunas personas tienen la cámara encendida. Así que solo quiero saludar a Luz y Gleb. Gracias. Sabes, no quiero que nadie se sienta obligado a encender su cámara. Bartosz, gracias. Sabes, solo siéntete tranquilo. Haz lo que te resulte más cómodo. Aunque me ayudará si sientes que quieres compartir tu pantalla si estás trabajando en algo. Porque vamos a estar, quizás remezclando algunos de los trabajos de cada uno, creo que eso sería divertido.

    Entonces, comencemos totalmente desde cero. Vamos a comenzar simplemente creando un nuevo archivo de texto, un nuevo archivo HTML. Así que puedes hacer esto. No necesitas ningún tipo de programa especial. Solo vas a hacer clic derecho. Vas a crear un nuevo archivo. Lo voy a llamar index.html. Puedes llamarlo como quieras. Index.html es como el nombre estándar que se usa para los archivos HTML porque se abrirá automáticamente si vas a esa carpeta. Así que ahora tenemos un archivo HTML. Es un archivo vacío. Así que voy a abrir el bloc de notas. Ahora tengo notepad++, pero solo voy a usar el bloc de notas regular aquí. Lo voy a arrastrar allí. Ahora, no hay nada allí. Así que queremos crear un archivo HTML desde cero. Y ahora lo que pasa es que, hay muchas cosas complicadas con HTML. Y no voy a enseñar nada de eso. Solo voy a ir directamente a la cantidad mínima de HTML que necesitas para crear arte generativo. Así que vamos a ello. Tenemos nuestro archivo HTML aquí a un lado. Al otro lado, voy a abrir un navegador web. Y lo que puedo hacer es arrastrar el archivo HTML al navegador web. Así que ahora tengo un uno a uno. Tengo HTML a la izquierda, y tengo el navegador web a la derecha. Así que si solo escribo algunas letras aquí, lo guardo y voy a mi navegador web y lo recargo, verás que esas letras aparecen en mi navegador web. Porque un archivo HTML, realmente es muy flexible. Y se abrirá automáticamente como un archivo de texto o lo que necesites.

    Entonces, vamos a crear un lienzo porque no necesitas un lienzo para el arte generativo. Puedes crear arte generativo con cualquier cosa que puedas imaginar. Pero la mayoría del arte generativo utiliza un sistema de dibujo de estilo lienzo. Así que para crear un lienzo, es realmente así de simple, acabamos de crear un lienzo. Ahora necesitamos JavaScript code para operar en ese lienzo. Así que para hacer eso, creamos un bloque de script, donde hacemos script y usamos etiquetas de ángulo de soporte, y hacemos un script de barra para terminar el bloque. Ahora tenemos nuestro bloque configurado aquí. Y queremos poder dibujar en ese lienzo. Así que necesitamos obtener un contexto 2D, que es, solo lo voy a almacenar en una variable. Hablaré un poco más sobre las variables, pero lo almacenaremos en una variable, vamos a hacer X igual a C, que es el lienzo, cuando hago IDC, eso crea automáticamente una variable para el lienzo. Así que vamos a hacer X igual a C punto, obtener contexto. Eso nos dará nuestro contexto 2D para el lienzo. Y JavaScript es tan flexible, deberías terminar las líneas en punto y coma, porque rara vez puede suceder algo que no se supone que deba hacer si no haces eso, pero realmente no necesitas puntos y comas. Bueno, ahora tengo acceso a nuestro contexto. Así que te voy a mostrar cómo dibujar un cuadrado, un rect. Hay una función llamada fill rect. Y estas funciones pueden parecerte muy simples. ¿Cómo se supone que debo hacer arte increíble con solo un fill rect? Pero realmente, estos son los bloques de construcción. A nivel fundamental, estarás llamando a fill rect. Y mucho, la mayoría de mi arte usa fill rect o como estos comandos simples, porque al nivel más bajo, eso es realmente a lo que se reduce. Así que fill rect tiene cuatro parámetros, eso es solo la posición X e Y y el ancho y la altura. Así que si digo, 100, 100 y luego 500 y luego 100, vamos a obtener un rectángulo que espero sea bastante ancho, un poco fuera del lado. Ahora voy a presionar F5. Eso es un rectángulo. Así que espero que todos hayan podido seguir hasta ahora cómo crear un archivo de texto, un archivo HTML que tiene una forma dibujada en él. Así que esto es lo más básico. Ahora, déjame mostrarte cómo aplicar color a esa forma. Nuevamente, estamos operando en este objeto llamado x. Así que hemos almacenado nuestro contexto2d, que es como nuestra interfaz para dibujar y cosas en este lienzo específico. Y está almacenado en la variable llamada x. Así que haré x.DillStyle. Igual a rojo, la palabra rojo. Y luego voy aquí a 5. Deberían tener un rectángulo rojo, ¿verdad? Entonces, por lo general, no vas a usar nombres de colores. Así que esto es solo soportado por HTML. Hay muchos nombres de colores. Otra forma de hacerlo es con, si alguna vez has visto estos códigos hexadecimales. Entonces usarías un símbolo de hash. Y luego, puedes hacer 6 o 4 o 3 números. Yo suelo usar solo 3. Así que eso va a ser los componentes rojo, verde y azul. Entonces, si haces F, eso sería para rojo. 0, 0. Hagamos. Hagamos un verde. Así que sería 0 rojo, verde completo y 0 azul. Así que tenemos eso. Ahora, Chris, puedes dibujar más rectángulos si quieres. Así que tenemos uno verde. Solo voy a copiar y pegar. Y esto no distingue entre mayúsculas y minúsculas, al menos para esta parte de él, para la parte del color. Así que haré un rectángulo rojo.

    Watch more workshops on topic

    Crea un Juego Con PlayCanvas en 2 Horas
    JSNation 2023JSNation 2023
    116 min
    Crea un Juego Con PlayCanvas en 2 Horas
    Top Content
    Featured WorkshopFree
    Steven Yau
    Steven Yau
    En esta masterclass, construiremos un juego utilizando el motor WebGL de PlayCanvas desde el principio hasta el final. Desde el desarrollo hasta la publicación, cubriremos las características más cruciales como la escritura de scripts, la creación de UI y mucho más.
    Tabla de contenido:- Introducción- Introducción a PlayCanvas- Lo que vamos a construir- Agregando un modelo de personaje y animación- Haciendo que el personaje se mueva con scripts- 'Falsa' carrera- Agregando obstáculos- Detectando colisiones- Agregando un contador de puntuación- Fin del juego y reinicio- ¡Resumen!- Preguntas
    Nivel de la masterclassSe recomienda familiaridad con los motores de juegos y los aspectos del desarrollo de juegos, pero no es obligatorio.
    Introducción a WebXR con Babylon.js
    JS GameDev Summit 2022JS GameDev Summit 2022
    86 min
    Introducción a WebXR con Babylon.js
    Workshop
    Gustavo Cordido
    Gustavo Cordido
    En este masterclass, te presentaremos los conceptos básicos de la construcción de experiencias de Realidad Mixta con WebXR y Babylon.js.
    Aprenderás lo siguiente:- Cómo agregar objetos de malla 3D y botones a una escena- Cómo utilizar texturas procedurales- Cómo agregar acciones a objetos- Cómo aprovechar la experiencia predeterminada de Realidad Cruzada (XR)- Cómo agregar física a una escena
    Para el primer proyecto en este masterclass, crearás una experiencia interactiva de Realidad Mixta que mostrará estadísticas de jugadores de baloncesto a fanáticos y entrenadores. Para el segundo proyecto en este masterclass, crearás una aplicación WebXR activada por voz utilizando Babylon.js y Azure Speech-to-Text. Luego, desplegarás la aplicación web utilizando el alojamiento de sitios web estáticos proporcionado por Azure Blob Storage.

    Check out more articles and videos

    We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

    El Potencial Caprichoso de los Marcos de Trabajo de JavaScript
    React Summit US 2023React Summit US 2023
    28 min
    El Potencial Caprichoso de los Marcos de Trabajo de JavaScript
    Top Content
    Cuando se trata de construir interfaces caprichosas, React es un aliado sorprendentemente capaz. En esta charla, te mostraré cómo uso React para orquestar interacciones complejas al profundizar en algunos ejemplos de mi blog.
    Animaciones Emocionales y Funcionales de la Interfaz de Usuario en React
    React Day Berlin 2022React Day Berlin 2022
    28 min
    Animaciones Emocionales y Funcionales de la Interfaz de Usuario en React
    ¡Mejora el rendimiento de tus juegos WebGL Unity!
    JS GameDev Summit 2023JS GameDev Summit 2023
    7 min
    ¡Mejora el rendimiento de tus juegos WebGL Unity!
    Unity, cuando se implementa en la web, enfrenta tres desafíos críticos: el tamaño de la compilación, el uso de memoria y el rendimiento general. Esta charla profundiza en técnicas avanzadas de optimización para ayudarte a abordar cada uno de estos problemas. Los asistentes obtendrán información sobre:
    - Estrategias efectivas para optimizar texturas, audio y modelos.- Un análisis detallado de nuestra experimentación con ASTC en Unity, arrojando luz sobre los resultados inesperados a pesar de las afirmaciones de Unity.- Una guía completa de la herramienta de perfilado de memoria de Unity y sus implicaciones.- Una exploración de configuraciones de Unity menos conocidas que siguen siendo subutilizadas por muchos desarrolladores.
    Además, presentaremos nuestra herramienta propietaria diseñada específicamente para la optimización de Unity. También mostraremos el panel de control para desarrolladores de CrazyGames, nuestra plataforma que permite a los desarrolladores monitorear y mejorar el rendimiento de sus juegos web de manera fluida.
    Únete a nosotros para equiparte con las últimas estrategias y herramientas para elevar tus proyectos de juegos web de Unity.
    TresJS, una forma declarativa de crear escenas 3D a partir de componentes Vue
    Vue.js London 2023Vue.js London 2023
    27 min
    TresJS, una forma declarativa de crear escenas 3D a partir de componentes Vue
    Conoce TresJS ▲ ■ ●, una forma declarativa de llevar la magia de ThreeJS utilizando componentes y composables de Vue en la vida cotidiana. Piénsalo como React-three-fiber o Lunchbox pero sin necesidad de un renderizador personalizado. Simplemente funciona.¿Estás listo para agregar una nueva dimensión a tus aplicaciones Vue?
    Unreal Engine en WebAssembly/WebGPU
    JS GameDev Summit 2022JS GameDev Summit 2022
    33 min
    Unreal Engine en WebAssembly/WebGPU
    Top Content
    Tradicionalmente, los juegos de navegador no han sido tomados en serio. Si quieres dirigirte a la web, eso tradicionalmente ha significado comprometer tu visión como desarrollador de juegos. Nuestro equipo en Wonder Interactive está en una misión para cambiar eso, llevando uno de los motores de juegos nativos más importantes del mundo al navegador - Unreal Engine. En nuestra charla, nos adentraremos en nuestros esfuerzos por portar el motor al navegador y continuar con el pionero trabajo inacabado iniciado en Epic Games hace casi una década en colaboración con Mozilla. Profundizaremos en lo que esto significa para el futuro de los juegos en el navegador y el metaverso abierto en la web.
    De Blender a la Web - el Viaje de un Modelo 3D
    React Advanced Conference 2021React Advanced Conference 2021
    27 min
    De Blender a la Web - el Viaje de un Modelo 3D
    Top Content
    Crear experiencias 3D en la web puede ser algo que suena muy desalentador. Estoy aquí para eliminar esta idea de tu mente y mostrarte que el mundo 3D es para todos. Para eso, obtendremos un modelo del software 3D Blender a la web, lleno de animaciones, controles de accesibilidad y optimizado para el uso web, así que únete a mí en este viaje mientras hacemos la web más impresionante.