Publicado el Dejar un comentario

Blender: cuando el poder digital lo tiene cualquiera

Hoy vamos a hablar de Blender. ¿Qué es Blender? Para aquellos que no estén familiarizados con este software, Blender es un programa de diseño, animación y modelado 3D con motores de físicas e iluminaciones en tiempo real.

Es utilizado por millones de personas alrededor del mundo, y se puede utilizar para producir escenas como esta:

“Classroom” de Christophe Seux, – Archivo de ejemplo renderizado por mi computadora.

A través de esta interfaz:

“Classroom” en modo de solo texturas, el proyecto real antes de pasar por los cálculos de la iluminación y sombras

Cada silla, cada pared —incluso las lámparas— fueron creados a través de un simple cubo. Un cubo que se puede eliminar, recortar, agrandar, achicar e incluso ampliar mas allá de los cuatro bordes fundamentales. Pero no solo del cubo vive el mundo, y es por eso por lo que se incluyen otras formas como planos, círculos, esferas, cilindros, conos e incluso donas. No importa que tengas en mente, Blender te permite crear desde salones de un colegio, hasta gatos y robots.

Blender pone a disposición de cualquier persona un increíble arsenal de herramientas para crear animaciones e ilustraciones al nivel de Pixar o DreamWorks, siendo la capacidad del usuario la única limitación del programa. Si eres hábil, tu animación puede tener una iluminación creíble, sonidos realistas, e incluso la post-edición puede hacerse dentro del mismo programa. Hasta los storyboards (o bocetos) que necesites pintar pueden hacerse dentro del mismo programa, solo tienes que entrar al modo de storyboard.

“Fishy Cat” de Manu Jarvinen
“Procedural” de Juri Unt

Y quiero detenerme en el tema de las limitaciones, porque Blender no tiene ninguna. En lo absoluto: existen muchos programas que compiten en este espacio, como 3DS Max de Autodesk, SketchUp de Trimble, y Cinema 4D de Maxon, que ofrecen las mismas funciones que Blender (a veces en productos separados, como es el caso de 3DS Max para modelado y Maya para animación, ambos de Autodesk) pero que tienen algo en común: son de pago. Sus licencias son propietarias y cuestan dolares. En un país como la argentina esto es inviable, especialmente para un amateur. Incluso puede requerir una gran computadora para renderizar un simple cubo.

Blender, en cambio, es gratuito y de código abierto, publicado bajo la licencia GNU GPL que permite que cualquiera pueda instalarlo, utilizarlo, redistribuirlo y hasta desarmarlo de su código. De más está decir que, gracias a esta licencia, Blender Foundation no pierde tiempo en programar costosos mecanismos de activación en línea.

Además de ser gratis, Blender es eficiente en el uso de recursos que puede instalarse hasta en una notebook de hace 10 años. Aunque no puedo prometer que la notebook viva luego de renderizar una escena con mucha iluminación. Créeme, así quemé una computadora marca PC CHIPS; pero con otro programa, ya que la temperatura es un problema típico de cualquier aplicación 3D, no importa de qué empresa venga.

”Meteoritos” de Criseg Dosmildiez

Ahora… ¿qué tan fácil de usar es Blender? Blender solía ser un programa innecesariamente distinto, complejo, que ha mejorado con el tiempo, pero que en su momento supo ser de lo peor. Y es que Blender, desde su concepción, nació distinto: empezó como un programa propietario, pero al corto tiempo los desarrolladores lo liberaron al público. Esta filosofía de ser distinto tiene sus ventajas, pero también acarrea consigo unas cuantas desventajas, que se hicieron evidentes hasta la versión 2.79b.

Yo, por ejemplo, venía de Cinema 4D: el programa de Maxon que era fácil de usar, pero que, al ser de pago, no podía actualizarse sin perder la licencia. Esto era un problema, porque cada nueva versión contenía funciones y herramientas que podían ser útiles, además de asegurarme de que continuaría funcionando bien y sin problemas de seguridad en el sistema operativo. Actualizar estaba fuera de discusión, pues, como todo adolescente argentino, no tenía un peso en el bolsillo. Es ahí donde entra Blender: un programa gratuito, tentador, y que parecía tener buena reputación.

Decidí descargar y darle una oportunidad al programa. Y vaya que le di oportunidades: cada intento de armar algo se hacía frustrante, así que lo cerraba y volvía a Cinema 4D, o me pasaba la vida viendo tutoriales sobre cómo hacer X o Y. La interfaz era un verdadero infierno: los desarrolladores y la comunidad estaban muy acostumbrados a ser distintos, por lo que aquellos que vinieran de otro programa debian olvidarse de lo que conocían para aprenderse las mañas exclusivas de Blender.

 Por ejemplo, lo que en cualquier programa serían Layers (capas) en Blender eran veinte cuadraditos en la parte inferior de la pantalla. Y los objetos no seleccionan con el botón el botón izquierdo del ratón, no, ese era el botón del Cursor 3D. Acá la forma correcta de seleccionar un objeto era con el botón derecho del ratón, lo que en cualquier otro programa sería un menú contextual. Y eso no es todo: por defecto, Blender venia activado con el modo Blender Renderer, un motor obsoleto que ya no tenia la capacidad de producir nada moderno. El verdadero motor, Cycles, debía ser activado manualmente. Si tenés un producto que era superior, ¿por qué el programa venia activado con el motor obsoleto?

Aún con el motor de renderizado en modo Cycles, no ibas a poder dominar a la bestia sin que Andrew Price, de BlenderGuru, te enseñe como realizar una “dona”.

La interfaz de Blender desde la primera versión hasta la 2.79b.

Sé que estoy sonando negativo (y no te culpo si te hace pensar mal del programa), pero con suficiente practica logré dominarlo, al punto de que ya no quiero ni cerca de Cinema 4D.  Y es que existe una flexibilidad, un control tan grande con Blender, que cuando logras ser “uno” con la interfaz descubres un mundo que antes se sentía limitado; como es el caso de los nodos y shaders, una función difícil de entender al principio, pero que luego permite un gran control sobre la apariencia de un objeto. Aprender a usar Blender fue difícil, pero, al final del día, el esfuerzo valió la pena.

Casi como coincidencia, al tiempo que lograba dominar Blender, los desarrolladores lanzaban la versión 2.8, que tomaba en cuenta los problemas del programa y la usabilidad. ¡Y qué pedazo de programa que es ahora! Todos los problemas que mencioné se fueron solucionando: los veinte botones que eran capas ahora son Collections y funcionan igual que en cualquier otro programa, el “Cursor 3D” ya casi no existe (por lo que el mouse se comporta como debería) y el motor por defecto es Eevee (sí, como el nombre de un Pokémon), que es el sucesor de Blender Renderer, capaz de producir una escena en tiempo real y no es tam pesado como Cycles, que también ha mejorado.

El programa ha mejorado tanto que lo que conté en párrafos anteriores podría archivarse como una simple anécdota de autosuperación, y nunca ha sido mejor momento que este para aprender a usar Blender. O darle una segunda oportunidad, si es que te asustó a la primera vez. Blender tiene un potencial ilimitado y puede ayudarte a conseguir una carrera en el mundo audiovisual. O puede ayudarte a modelar tu casa. También te puede hacer tostadas, solo que estas no las podrás comer.

Si yo lo aprendí a usar, vos también podes.

Publicado el Dejar un comentario

Volviendo al ruedo: emitiendo en internet con más posibilidades

Hace mas de una década hacia streams por internet a través de un “canal web” llamado Canal Hex, que transmitía todo tipo de contenido que quería compartir con los espectadores. No había mucha tecnología por entonces, y lo que salía en pantalla era muy primitivo, pero se hacía todo lo que se podía y se hacia con cariño. Y fue así hasta 2013, donde dejé de hacer streams completamente. Desde que lo dejé hasta el dia de hoy, el software y las plataformas se han perfeccionado un montón, al punto de que hacer un stream (también conocido como “directo”) es tan fácil como agarrar un celular y salir a la calle.

Como hacer un stream es ahora mucho mas fácil (y divertido), decidí volver a hacer streams otra vez. Pero con otro motivo en mente. Y es ahí donde surge mi proyecto llamado Kanade TV.

Origenes

Kanade TV nace en el año 2018, indirectamente inspirado de mis trabajos anteriores de streaming, mas concretamente los que hacía en 2009-2012. Durante esos años la escena del streaming era muy limitada: no existía OBS Studio y Twitch se llamaba Justin.tv. A esto sumale que el software para streaming, además de ser mediocre (como Flash Media Encoder) era pago y costaba fortunas. Software como Webcam Max (accesible pero pesado) estaba pensado para usarse con WebCams, mientras que los software mas profesionales (VidBlaster, VMix, etc.) tenian su precio en euros. Por esto, nadie emitía juegos en directo a plataformas como YouTube o Justin.TV; en su lugar, la mayoría prefería subirlo en partes, bajo una serie de videos llamados Let’s Play. (¿Se acuerdan de eso?)

Volviendo al 2018, todo el software que mencioné recién quedó OBSOLETO con la la llegada de OBS Studio. OBS Studio es un software espectacular en todos los sentidos de la palabra, que no solo es muy completo sino que además es gratis. Tan grande es este software que si entras a twitch.tv es muy probable que el 90% de los streamers en el índice estén usando OBS.

Entonces, me pregunté a mi mismo: ¿Si hiciera lo mismo que hace unos años, pero con OBS Studio, que cosas podría mejorar? Esta fue la basis que dio origen a Kanade TV: un proyecto de autosuperación personal en el que buscaba hacer todo lo que no pude hacer antes. Y además compartía el anime que seguía con el mundo, asi era aún mejor.

Y así, todo empezó con un amigo chileno que me prestó una página de facebook.

Entrando al Afterlife (Primeros streams)

Las transmisiones empezaron con algo simple: unos capítulos del clásico anime Toradora y algunas cosas en pantalla que programé en JavaScript ese día. Ya de por si, nunca habría podido hacer eso hace 10 años: hora y temperatura en tiempo real y un banner de información en pantalla como en Trasnoche POP, el extinto bloque de música de Canal 9 Argentina.

Una calidad horrible cortesía de Movistar y su parque de diversiones que metieron en mi casa.
El banner estaba programado para quedarse un rato en negro y volver a empezar el scroll si se quedaba sin noticias. De esa misma forma funcionaba el infobox de Trasnoche POP.

Ahora bien, ya quedó claro que se pueden hacer varias cosas con OBS, y esto es solo el inicio. Sin embargo, no olvidemos que la página de facebook por la que emitía tenía algunos fans, y estos no estaban entendiendo de qué iba la transmisión. Necesitaba dejar en claro que no formaba parte de las emisiones regulares. Y pensé que el nombre de la transmisión se debía llamar igual que el nombre interno que usaba para ver anime: Kanade TV.

No tenia ningún branding planeado, asi que metí una letra cualquiera y la palábra Kanade TV en blanco.

La palabra “ARGENTINA” del infobox fue reemplazada por el nombre del día (usando momentjs) y el reloj que estaba arriba fue rediseñado abajo con el graph. Si bien el reloj del stream y el interno parecían iguales en la otra foto, en código son completamente distintos: uno está hecho con jQuery y el otro con Rainmeter.

El logo solo era para el stream. En la transmisión interna (la que veía yo) siempre estuvo la hora y temperatura local. ¿Para que mirar por la ventana cuando puedo ver la hora directamente desde la TV?

Luego de unos días apareció otro logo ya mas trabajado, que se estilizaba como “Kde. TV” con énfasis en el punto y las minúsculas para no confundir con el proyecto KDE de Linux.

Tristemente, ya no había noticias ni hora en pantalla. ¿Por que? Porque, siendo honestos, a nadie le importaba las noticias de argentina. Solo querían ver la serie que se estaba transmitiendo.

Toda esa animación es en CSS3. Si, tal como leíste. También se puede apreciar que el plugin de navegador de OBS no se lleva bien con las opacidades. (y sí, la marca de agua es de animeflv.net, un saludo para ellos.)

Un poco de contexto

Ahora… ¿por qué “Kanade TV”? ¿Qué es exactamente Kanade, o quién es? En su momento no era importante, pero a los chicos que hoy manejan el canal quizás les interese saber de donde viene el nombre.

“Kanade” viene del nombre de la computadora que usaba para transmitir en ese momento, cuyo nombre de equipo decía PC-Kanade. Esa computadora, con una humilde placa M5A97 PRO y procesador FX-6100, fue armada en 2013. El mismo dia que vi el final de Angel Beats:

“KANADEEEEEEEEEE” gritaba Otonashi. Aviso de spoiler.

Actualizaciones

Una vez que Kanade TV quedó establecido como un stream regular de los fines de semana (a partir de las 18 hs), lo que siguió después fueron retoques visuales. El primer cambio: eliminar el circulo rojo del logo. Era necesario, porque creí que generaba demasiado contraste con las letras blancas.

A veces el stream empezaba unos minutos antes para preparar el horario, así que se le agregó una placa de “espera” con hora, temperatura, información y la lista de los programas de la noche, el dia siguiente, y el próximo fin de semana. Y una cámara web en vivo desde un hotel. Todo eso mientras sonaba esta canción de fondo.

La lista de programas estaba programada (en jQuery, como siempre) para tomar la información desde un archivo XML con campos predefinidos. De esta forma, era muy fácil actualizar la programación y escribir los programas del día sin tener que jugar con javascript.

Sin dudas, esto era mucho mejor que empezar la programación con una imagen estatica así:

Es chiste, igual te queremos @fuyinari.

Graduación (y final del objetivo)

La misión original estaba cumplida, habia una gran cantidad de automatización en pantalla: el LEP tenía animación de entrada y salida, infobox con noticias, hora en pantalla, temperatura en pantalla, la programación del día, de mañana y del próximo fin de semana, la cámara con el obelisco, y la multipantalla con datos a lo Bloomberg. Todo en tiempo real. Y programado con javascript.

Lamentablemente, la tecnología no es suficiente para tener espectadores. Necesitas tener programas mas llamativos, que conecten bien con tu audiencia. Y eso nunca lo pude lograr. Asi que llegado diciembre 2018, decidí que era hora de terminar la misión. El ultimo programa fue una maratón de SKET Dance.

Con un mensaje en el lugar de los programas del día, Kanade TV se despidió para no volver. O eso creí yo.

El código XML para ese mensaje:

<?xml version="1.0" encoding="UTF-8" ?>
<schedule>
	<strings>
		<tonight>Esta Noche</tonight>
		<tomorrow>Mañana</tomorrow>
		<otherday>Próximo</otherday>
	</strings>
	<!--
		<days>
			<name>The name of the Day</name>
			<id>1 is Monday, 7 is Sunday. Do the math.</id>
			<list>
				<show>The nane mof the show</show>
				<duration>Unused. Has the same value as Start.</duration>
				<start>Optional. When does the show start? If blank it will simply not show. </start>
			</list>
		</days>
	-->
	<day>
		<name>Eso fue todo</name>
		<id>8</id>
		<list>
			<show>
				<name>Feliz Navidad</name>
				<duration>23</duration>
			</show>
			<show>
				<name>Feliz 2019</name>
				<duration>23</duration>
			</show>
			<show>
				<name> </name>
				<duration>23</duration>
			</show>
			<show>
				<name></name>
				<duration>23</duration>
				<start>Gracias</start>
			</show>	
		</list>
	</day>
</schedule>