ETR Absolute Transform nodes for Designer

I present you my first set of nodes for Substance 3D Designer: Eterea Absolute Transforms. It consists of 12 nodes, with grayscale and color versions, with which you can perform different types of transformations and deformations to our images. I will now describe each of them briefly (except one, they are all very easy and intuitive).

But first of all I want to thank Julián Rojas Millán who created the initial germ of these nodes. In his ArtStation website he shares an SBS that I downloaded and started to use. But I was immediately bitten by the bug and wanted to know how they were created, expand their features and adapt them to my needs. I talked to him and he kindly accepted that I could share with you my own extended version. Thanks a lot for everything, Julián!


⬇️ Download ETR Absolute Transform

First of all, let’s see how to install these nodes, in case you have never done it before:

INSTALLATION

Once downloaded, I advise you, if you don’t already have it, to create a directory so Designer can load from there all your personal nodes (these and others that you can download and install in the future). You can indicate any place, but I advise you here:

/Users/YOURNAME/Documents/Adobe/Adobe Substance 3D Designer/

Inside this directory you can place the folder “Absolute_Transforms” with the file “etr_abs_transforms.sbs”.

Then is time to open Designer and go to Preferences > Projects > User Project > Library

Click on the little “+” icon and add the directory you just created.

On the other hand, in the Library panel add a new Filter, the icon with the little circle and + sign (you will have to add a Folder first, clicking on the icon on the left, if you don’t want to add it inside an existing folder) and configure this Filter as shown in the screenshot: call it “Absolute Transforms”, Project: User Project, Graph, URL, Contains, “etr_abs_transforms”.

Yes, I know, if you have never done it before, this whole process will seem a bit cumbersome… Later and with more experience it’s a piece of cake.

This way, by clicking on this “Filter” you will be able to access all the nodes for this kit, in their versions for grayscale or color.

USE

In this collection we have two large groups of nodes, the Transformation nodes themselves (Position, Scale, Rotation…) and also the Deformation nodes (Skew, Stretch, Bend…).

In Designer we have a fundamental Atomic Node which is Transformation 2D. It is able to make any change to Position, Scale and Rotation and it acts in a very similar way to the Transform tool in Photoshop. But this node has a special feature, as indicated in the manual:

The settings for scaling and rotation are not absolute, and do not relate to the 2D view directly. If you type in an Angle or Stretch value, you must Apply it, and can then not easily reset it. Best way to wipe the Rotation and Stretch settings is to reset it to default.

It is a node that, in the case of Rotations and Stretch, is more intended to be used manually, using the 2D viewport interface. If we use it numerically, all transformations, except for translations, must be applied in steps. This way of acting can be very useful and convenient in certain situations. But not so much in others.

The nodes presented here, like the ones that Julian did in his day, act in an “absolute” way. When we apply a scale or a rotation, the slider stays there with that transformation value. And we can return to it at any time to modify it. This only happens with the Position, in the original Transformation 2D Atomic Node. Here it’s so with EVERYTHING.

For the rest, before going node by node, I will tell you some generic things that affect all or almost all:

  • For Scale changes and for Deformation intensities I have preferred to use percentage type sliders. Some go from 0% to 100% and others from -100% to +100% I know that in other Designer nodes it is more common to use normalised values (from 0 to 1 or from -1 to +1), but as a creator and artist I generally prefer to think in percentage terms when I think about the scale or the intensities of a deformation. I like to think of “25%” rather than “0.25”, but of course we can also enter floating values to fine tune and having “115.25%”. Oh, and no parameter is clamped: we can go beyond -100 and +100 (although in some cases you may get very extreme results going far away).
  • For the Rotation I have preferred not to use the native Designer widget, with the rotor and the double slider for turns & degrees, but I have included a simple slider that goes from -180 to 180 degrees, because again, I also believe that those are the most common ranges of rotation. I never need to rotate “15 turns” in Designer. If we were talking about an animation program it would be different.
  • In almost every node we can change the Pivot. If we do not change it, in a rotation, scale or any deformation everything will take place with respect to the center, but with the pivot we can make it with respect to any of the corners, the center of the sides or any desired point. In some nodes you may never need to change it… but I have preferred to keep it in all, except for position changes, where it does not make sense.
  • In all nodes (except Safe Rot Ext, where it is not relevant) we can change the Tiling Mode which, by default, is in “Relative to Input” mode (that is: generally active) to “Absolute” mode to remove it completely or leave it only at X or Y.
  • In almost all nodes (except Safe Rot Ext, where it is not needed) we can change the Matte Color. That is, the color that appears when we reduce our image and we have disabled tiling. By default it is black, but we can change it to another gray or color.
  • And in all nodes we can change the Filtering, which by default is Bilinear but we can change it to Nearest. Something very useful in certain occasions, although generally it is not necessary to touch.

Let’s see now node by node:

Position and Rotation

No big mystery. The first one can only change the position, being 0.5 the default value and the second one only changes the rotation, being 0 degrees the default value.

Scale

In this node you can change the scale uniformly or independently, along X and Y. Or in a combined way, if it’s more comfortable for us. You will see how interesting it is to be able to have the rotation and specific scales that we have given to an element as a value that we can read and alter at any time, unlike what happens with the original Transformation 2D, where we often have to reset the transformation matrix if we want to make any change.

Transform PSR

It’s a node that has the 3 previous ones in one. We can translate, rotate, scale uniformly and non-uniformly. Having this node we could do without the 3 previous ones, but I prefer to keep all of them, because there are many times that we have completely clear that we only want to make a unique kind of transformation to a certain input.

Rot Int

This is a very interesting node that serves to be able to rotate an element that occupies all our image without that nothing of the element disappears. That is to say: at the same time that the rotation takes place, it is also reduced according to the angle, so that the initial square always touches the limits of the image, without going out. If we change the pivot, logically things change, but the result obtained can also be very interesting.

Safe Rot Ext

This is one of the most complex and useful nodes of the set. And of which I am particularly proud: in its first version, made after seeing Szymon Wójciak’s tweet, it only scaled the image when it was rotated so that nothing from the outside would ever “enter”. It is the opposite of the previous node: instead of being reduced, the image is enlarged when rotated. Something very useful, for example, to be able to freely rotate a vertical gradient so that it adapts according to the angle. But then I realized that I could go further, and here comes the most interesting part. But I will tell you about that later, in a section dedicated to this node.

And so far all the transformation nodes. The following are deformation nodes:

Skew

Which performs a tilt of the image on any of the axes. By combining the two axes and changing the pivot we can perform very extreme transformations (in fact we can also rotate the image).

Stretch

Scales the image differently on one side or the other. Again, by acting on the two axes, and even more if we change the pivot, the possibilities are enormous. Try it.

Bend Exponential

It is a deformation that “bends” the image, as if it were an Arabian roof tile. It does so along any of the axes, and initially with respect to the center, but if we change the pivot we can make it with respect to the sides. It is called “exponential” because it basically deforms x as a function of y^2 (and inversely). It is a very “cheap” and simple deformation to calculate, mathematically speaking.

Bend Circular

It is another of the most complex nodes, perhaps the one that has given me more work and headaches. And more out of stubbornness than anything else. In principle it may seem very similar to the previous one, but it is not. Here the deformations always follow the curves of circumferences. When you take the deformation to the extreme it becomes more evident. Thanks to Javier Colominas and Luis Rández with the mathematics behind this. Ahh, and thanks also to Geogebra, where I could study and understand everything that had to happen. Here you have the functional setup. Geogebra is a marvellous gem.

Setup in Geogebra to study the behaviour for the ABS Bend Circular
Graph for “circular_bend” function, the core for ABS Bend Circular
Bulge Gauss

It is a deformation similar to Bend, but in this case it can be applied to one side and not to the other. So we can have one side straight and the opposite side curved. And also can be apply independently to extremes. It was relatively easy to obtain, but it immediately began to “bother me” the fact that the deformation was transforming into a kind of Gaussian bell when it became more extreme… so then I started working on the next one.

Bulge Parabolic

With this one, something similar to the Bend Circular happened to me, I ended up taking it forward by stubbornness. I wanted to obtain a deformation where the curves were always parabolic and where it did not appear that effect “Gauss bell” that appears in the previous one. With this node also Luis Rández gave me a hand with the mathematics, but it was decisive the help of Esger in the Substance Designer Discord.

Play with all of these nodes, changing the pivot, to see how the deformation changes drastically.

And of course, if you feel like getting into the world of Pixel Processor I encourage you to inspect its graphs by opening the SBS directly with Designer. But before you touch anything, make a backup!.

Let’s go now with some notes more specific to the Safe Rot Ext node (I sincerely believe that one of the most useful of the pack).

Safe Rot Ext. The details

This node rotates the image while enlarging it. After creating it I realized that by using it in combination with certain images I could get tileable results. Which was a surprise. A tileable image is no longer tileable as soon as you rotate it. Unless we also zoom it, with certain kind of images. Marco Vitale has a very interesting article on this subject in ArtStation.

Pixel Processor graph for the ABS Safe Rot Ext node

Of course, a noise, a dirt, grunge image or organic noise will never be tileable once we rotate it, except if we zoom and rotate it 45 degrees. But there are many images, modular type, with repeating structures, that can be rotated many angles, if we also scale them. And this is what this node can do automatically for you.

If we connect a Tile Generator, a Mesh 2, a Fibers 2, a Weave 2, etc… those kind of images with repeating elements can be safely rotated (keeping the tileability) using the “Rotate with Safe Steps” mode of this node. But for this it will be very important that first of all we indicate to the node how many tiles the incoming texture has. With a Tile Generator it is obvious: if it is 10×10 we will indicate 10. But with other nodes, like Mesh 2, if we give 7 to the tiling to our node we have to increase it to double, 14 (because the internal modularity is 14), and then yes, we can change the slider “Steps for Safe Rotation” to rotate.

As a curiosity: in a 10×10 Tile Generator we can find exactly 40 possible rotation angles (10 for each 90 degrees) in which the texture remains tileable, once it is rotated and scaled conveniently.

MORE ACKNOWLEDGEMENTS

Apart from the aforementioned Julián Rojas, creator of what is the germ of these nodes, I would also like to thank:

Andrei Zelenco, a wizard Designer user who I like to consider as “the god of Pixel Processor and FX-Map”. In his ArtStation you can see his incredible creations, totally procedural, using those tools. Andrei created a Facebook group time ago, Inside the Node, together with another great guy and master, Marco Vitale, where both share a multitude of complex and interesting setups using the most technical part of the program. Thanks to several tutorials shared in that group by Andrei and others I have been able to learn enough about Pixel Processor to be able to develop these plugins.

Luis Rández, friend and professor of mathematics at the University of Zaragoza, who helped me with several formulas in a couple of nodes (Bend Circular and Bulge Parabolic). And also to decipher a very strange issue with function nomenclatures in Geogebra.

Several people who have helped me on Twitter with some mathematical formulas, such as:

Javier Colominas – This smart guy helped with formulas for the starting version of circular deformations.

Pedro J. Molina – Thanks for the “uni-step” function needed to change the pivot of the circular deformations. Although I would learn more about “uni-step” later, from Luis Rández.

Szymon Wójciak – Who gave me the idea to create the first version of Safe Rot Ext.

Several Substance Discord users, such as Esger van der Post, Luca Giarrizo and others, who helped me with their technical advice.

And I’m sure I’m leaving someone out… Many thanks to all of you.

I hope these nodes will be useful in your work with Designer.

Curso Substance Designer para CTA

Me complace anunciaros que en febrero de 2023 voy a dar un curso de Adobe Substance 3D Designer en las instalaciones del Centro de Tecnologías Avanzadas (CTA) de Zaragoza.

Será un curso presencial de 48 horas repartido en 12 mañanas, de lunes a viernes, de 10 a 14 h, desde el día 13 al 28 de febrero de 2023. Y como siempre con los cursos de este centro público, a un precio totalmente imbatible: ¡completamente gratis!

Aquí tenéis el enlace al curso desde el portal del CTA

Ahí os detallan todo: requisitos, contenidos básicos del curso…y también encontraréis el enlace a la ficha de inscripción. Así que, venga, adelante: ¡INSCRIBIROS! Recordad que el curso es gratuito, pero las plazas están limitadas a 16 alumnos.

Aquí me tenéis explicando brevemente de qué va este curso:

Frame Colors, plugin for Designer

Here is my second plugin for Substance Designer: “Frame Colors”. After the first one, “Print Modified Values”, I immediately started with this new utility. The purpose of this plugin is very simple: to quickly change the color of selected frames choosing between various predefined samples in a palette.


⬇️ Download “Frame Colors”

Frame Colors in action

How to install it

Once you have downloaded and unzipped the ZIP file, move the main folder “etr_frame_colors” (which also contains a .json file and another subfolder folder with the same name) to where you normally have other Designer plugins installed.

If you have never done it I recommend you to use this directory:

/Users/NAME/Documents/Adobe/Adobe Substance 3D Designer/python/sduserplugins/

Then start Designer, open Preferences / Projects, click on the vertical tab “User project” (inside Configuration / Project Files) and then on the horizontal tab Python. Click on the little + icon on the right and add the above directory. And as indicated in yellow, once this is done you will have to restart Designer.

Once Designer is restarted, the plugin should be loaded. But just in case, open Tools / Plugin Manager and check that the checkbox of our plugin is enabled. Doing this, by the way, you can activate or deactivate any plugin.

As soon as you install it, you will not see it appear in your top bar. To do this you must first create a new Substance Graph. Do it. Now you will see a new little green frame button appearing in the main toolbar. And this one can enable or disable the big group of color samples immediately below. I recommend to close the Atomic nodes to make room for this (after all, I particularly never add them from here, but using the space bar)

How to use it

It is very simple: select the frame or frames you want to colorise and press any of these small color buttons. You can use a “lasso selection” to select a bunch of frames and also nodes, don’t worry: the plugin will recognise frames, discarding nodes or any other graph element, and will apply the color.

As you can see, default blue is marked with a dot. I recommend to use the first vanish-subtle colors with big frames, the ones that are behind a big group of nodes. And leave the more vivid-strong colors for those frames that are used as a call for attention in some special or important node.


DISCLAIMERS

SHORT: I have done my best to create a stable and robust tool. But use with caution, please. I recommend to create a copy of your graph before proceed to comment your nodes using this tool.

LONG: THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Print Modified Values, plugin for Designer

I present you my first plugin for Adobe Substance 3D Designer: “Print Modified Values”. The purpose of this plugin is to add a Comment, as a “child” of a node, containing the information of those parameters that have been modified.

In February 2023 I will teach a Designer course in my town (I will share more information soon) and in the preparation of the contents for that course I immediately realized how useful this tool would be. I searched and asked around, but found nothing, so I got down to work myself.

After a lot of work, here you have the first version. I hope it will be useful, especially to those of you who like to spread the word by sharing screenshots of your Graphs. It is certainly saving me a lot of work, hopefully more than it has taken me to create it… 🤪 In any case I have learned a lot, not only about Designer API, but also about the internal structure of the application itself.


⬇️ Download “Print Modified Values”

Print Modified Values in action

How to install it

Once you have downloaded and unzipped the ZIP file, move the main folder “etr_print_modified_values” (which also contains a .json file and another subfolder folder with the same name) to where you normally have other Designer plugins installed.

If you have never done it I recommend you to use this directory:

/Users/NAME/Documents/Adobe/Adobe Substance 3D Designer/python/sduserplugins/

Then start Designer, open Preferences / Projects, click on the vertical tab “User project” (inside Configuration / Project Files) and then on the horizontal tab Python. Click on the little + icon on the right and add the above directory. And as indicated in yellow, once this is done you will have to restart Designer.

Once Designer is restarted, the plugin should be loaded. But just in case, open Tools / Plugin Manager and check that the checkbox of our plugin is enabled. Doing this, by the way, you can activate or deactivate any plugin.

As soon as you install it, you will not see it appear in your top bar. To do this you must first create a new Substance Graph. Do it. Now you will see 2 new little buttons appear in the toolbar: the one without color can activate or deactivate the presence of the other one, in orange.

How to use it

It is very simple: suppose we have a Splatter Circular node that we have modified and we want to write down what parameters we have changed. We simply select it and click the little orange button. Automatically a Comment node will be added as a “child” of our Splatter (“child” means that when we move the node, the comment is moved with it).

You can also use “Q” as a keyboard shortcut instead of the button, as it is much more agile. I have chosen that letter because it evokes “Query” (ask the node about its own parameters). If you don’t like this shortcut or it conflicts with another one you already have, you can change it by editing the __init__.py file located inside the “print_modified_values” subfolder. But be careful not to touch anything else, if you don’t know what you are doing 😉.


DISCLAIMERS

SHORT: I have done my best to create a stable and robust tool. But use with caution, please. I recommend to create a copy of your graph before proceed to comment your nodes using this tool.

LONG: THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

El guion de Infinite Patterns.

Después de dos años, la semana pasada estrené mi último proyecto personal. Una animación que enlazaría con mi vieja Nature by Numbers, por la unión de naturaleza y matemáticas, pero con el añadido del arte y la arquitectura.

Y después de su estreno, veo con alegría que Infinite Patterns ha sido bien recibida. Estas cosas las hago por el placer de hacerlas. Nada me gusta más que crear proyectos personales, sin fechas de entrega y sin tener que ajustarme a los requerimientos de un cliente que, muchas veces, ni siquiera sabe lo que quiere… y este ha sido un proyecto que he disfrutado muchísimo. Pero no negaré que, cuando lo sacas a la luz, esperas que guste. Y eso te da muchos ánimos para seguir :-)

Toda la parte 3D está realizada con Modo y Cinema 4D. La abeja, el panal realista, la Alhambra, la escalera de Bramante y la capilla del King’s College están animados y renderizados en Modo (empecé con la versión 11 y acabé con la 12). Y el resto, todo lo que es más “procedural o generativo” está animado y renderizado con Cinema 4D (empecé con la 18 y acabé con la 20).

Como siempre, la postproducción está hecha con AfterEffects, el montaje de vídeo con Premiere, y el trabajo con las texturas con Photoshop e Illustrator.

Al principio de este proyecto (allá por la primavera-verano de 2017) estrené un nuevo ordenador de trabajo. Os pongo las especificaciones para los que os gustan estas cosillas:

  • iMac 27″ 5K – Resumiendo: esta pantalla se ve de fábula. Es alucinante, ni con una lupa se ve la matriz de puntitos que la forman.
  • Procesador 4,2 GHz Intel Core i7 – Bien, no es un fórmula 1, pero es suficiente.
  • 64GB de RAM – Voy sobrado con esto. En dos años no he recibido un solo aviso de “RAM insuficiente”.
  • Tarjeta Radeon Pro 580 de 8GB – No son los pepinos que hoy se pueden montar en los PCs pero rula bastante bien (comparados con los miserables 512MB que tenía la gráfica de mi iMac anterior)
  • Disco interno SSD de 1TB – Fundamental: rapidez en arranque, abrir programas, guardar documentos grandes y uso como “scratch-disk”.
  • Tres discos externos de 3 y 4 TB – Uno para guardar bibliotecas y los otros para copias de seguridad, uno automático con TimeMachine y el otro semi-manual con GoodSync.

Salvo unos problemillas con el apagado los primeros meses (ya superados) estoy muy contento con él. Va fino como la seda. Toco madera, porque espero que rule otros dos o tres años más.

Y para renderizar he seguido usando mi viejo PC de finales de 2011 (!) Un Dell i7 con 3,44 GHz, 16 GB de RAM y 1TB de disco. Ya debería haberlo sustituido hace años, pero el pobre sigue ahí al pie del cañón tras todos estos años. Solo lo uso para dos cosas: renderizar y rellenar los puñeteros modelos de Hacienda a principios de cada trimestre. Además, desde que le puse un SSD y lo actualicé a Windows 10 casi parece que está viviendo una segunda juventud. Muy contento con él también, la verdad :-D

Podría contaros muchas cosas acerca de lo que ha supuesto hacer este trabajo: algunos problemas (no muchos, por suerte) retos, anécdotas, etc. Pero he pensado que una cosa chula que nunca he hecho es compartir mi “guion”. Me refiero a este documento escrito que realicé a mediados de 2017 donde describía con todo detalle qué debía verse en esta animación.

Así que aquí lo tenéis, tal cual, sin cambiar apenas una coma (los comentarios actuales los pongo en otro color). Veréis que algunas cosas no han acabado siendo como aquí describo, pero en general creo que sí he seguido el hilo:

Guion “Infinite Patterns”

Versión 07 (final) – 29 de mayo de 2017

“FROM NATURE TO ARTS THROUGH MATHS” (título provisional)

En esta fase todavía no tenía el título. De hecho hasta muy al final no di con él.

Aparece un punto en el centro de la pantalla.

Se expande a izquierda y derecha para formar un segmento horizontal, al mismo tiempo que desciende un poco.

Se crean dos copias del segmento, girando desde cada uno de los extremos, al mismo tiempo que se superponen un par de arcos de circunferencia

Obtenemos un triángulo equilátero delimitado por su perímetro y que se rellena de un color sólido.

Dentro del triángulo se dibujan 3 líneas que definen 4 zonas.

De repente esas 4 zonas empiezan a abrirse en abanico, girando desde 3 puntos de anclaje situados en ciertos vértices.

De esta forma se produce una transformación de triángulo equilátero a cuadrado según la conocida como “Dudeney’s Hinged Dissection

2019_ip_01_triangle_to_square_petit

El cuadrado resultante, con la misma área, se sitúa debajo del triángulo equilátero (que había mantenido su perímetro. Decidir si vuelve a rellenarse y si se mantienen sus segmentaciones interiores)

Ahora es dentro del cuadrado donde se dibujan varias líneas, empezando por un eje vertical y siguiendo por varios segmentos simétrico-inversos, a izquierda y derecha.

Igual que antes, las diferentes zonas que se crean empiezan a abrirse (aunque en esta ocasión todas permanecen interconectadas, no se abren en forma de abanico).

Tras completarse ese ciclo de movimiento ahora tenemos un hexágono, con la misma área que el cuadrado y el triángulo, y que se sitúa bajo los anteriores.

Valorar si convendría reforzar la idea de que el área es exactamente igual en los tres polígonos, añadiendo un pequeño texto, tipo AT = AS = AH (pero la idea es que eso no sea necesario)

2019_ip_02_square_to_hexagon_petit

En este punto, donde los tres polígonos están centrados según un eje vertical, quizá podríamos añadir una teselación suave de fondo, por detrás de cada figura según corresponda. Aunque, por la proporción de la pantalla, esto funcionaría mejor si en este punto las 3 figuras estuvieran alineadas horizontalmente y no verticalmente. Valorar esta posibilidad y, si funciona, bastaría con hacer desaparecer a continuación las 3 teselaciones de fondo para realinear las 3 figuras verticalmente (porque es mejor tenerlas así para lo que viene a continuación). Pero no tengo nada claro si esto puede ser un baile innecesario: estudiarlo.

Las tres figuras, que vemos alineadas en el centro vertical, se desplazan un poco hacia la izquierda.

Al mismo tiempo se “desenvuelve” el perímetro de cada una de ellas (no sé si uno tras otro o todos a la vez) expandiéndose para formar un segmento horizontal.

Una vez “rectificados” los tres segmentos acaban alineados por la izquierda, pero vemos cómo el del triángulo es el más largo y el del hexágono el más corto.

• El del triángulo equilátero ocupa: 2{(\sqrt[4]{3})}^3 = 4.559… unidades

2019_ip_03_4559

• El del cuadrado ocupa 4 unidades exactas (coincidentes con los puntos de doblez en sus vértices, desde donde pueden trazarse unas guías verticales de referencia)

• El del hexágono ocupa: 2\sqrt[4]{12} = 3.722… unidades

2019_ip_04_3722image

Así pues, el hexágono es el que posee la configuración más compacta (menor perímetro a igual superficie).

2019_ip_05_perimeter_from_area

Hacemos desaparecer todos los elementos excepto la figura del hexágono, que se centra en pantalla.

A su alrededor crecen otros hexágonos, como líneas, formando una teselación que llena la pantalla (darle vueltas para ver cómo puedo hacer que ese crecimiento sea chulo y con un punto original)

Finalmente lo que inicialmente eran unas simples líneas se empieza a convertir en un panal de abejas (igualmente, darle vueltas. El último recurso sería usar unas máscara animada, pero sería mejor encontrar otra transición más elaborada)

2019_ip_06_hexagon_to_panal_1

Y acabamos viendo un panal completamente realista, con algunas celdillas vacías y otras más llenas. Y con alguna ligera imperfección aquí y allá:

2019_ip_07_hexagon_to_panal_2

De repente aparece una abeja en escena:

2019_ip_08_honeycomb_bees

Se mueve entorno a unas celdillas. Y posiblemente aporta un poco de miel a una de ellas (asegurar este punto buscando vídeos-macro sobre este proceso. Muy importante documentar bien los movimientos).

Cambiamos de plano y vemos uno o dos macros de la abeja. Estudiar muy bien estos planos para que tengan un look fotográfico bonito.

2019_ip_09_bee

Volvemos a cambiar de plano, ahora uno frontal y desde bastante cerca. La abeja desaparece de la escena y vemos solo unas cuantas celdillas hexagonales.

Al tiempo que el panal desaparece, dejando únicamente las líneas de los hexágonos, comienzan a dibujarse una serie de líneas y círculos en pantalla.

Se prepara la base estructural para servir de soporte al teselado de la Sala de los Reyes.

2019_ip_10_tesel_p069

Estudiar muy bien este apartado (justo antes de que aparezcan los azulejos) para que ese trazado de líneas sea lo más interesante posible, ágil y que no aburra.

Cuando ya están trazados todos los ejes fundamentales empiezan a acoplarse los azulejos, perfeccionando el método de “cascada” que planteé con “Test_Sillares.c4d” Una animación de prueba, buscando looks.

2019_ip_11_alicatado_alhambra_big

Una vez tenemos el mosaico creado, la cámara retrocede un poco y empieza a desplazarse lateralmente, hacia la puerta:

2019_ip_12_alhambra_01

Finalmente queda encuadrado, en el marco de la puerta, el Patio de los Leones de La Alhambra:

2019_ip_13_alhambra_02

Avanzamos hacia el exterior:

2019_ip_14_alhambra_03

Hasta que finalmente nos encontramos en pleno Patio:

2019_ip_15_alhambra_04

Miramos hacia abajo, y vemos una flor solitaria que emerge en una rendija:

2019_ip_16_alhambra_05

Nos acercarnos a la flor y descubrimos que es una margarita:

2019_ip_17_margarita

Y la misma abejita de antes se posa sobre la flor para empezar a libar:

2019_ip_18_bee_daisy

La cámara se acerca más y más a los ojos (esto recordará mucho al final de Nature by Numbers, es una cierta “repetición” o “auto-copia”, sí, pero tampoco tiene por qué ser malo, podría considerarse un guiño… espero):

Una vez lo suficientemente cerca de la estructura hexagonal de los ojos, hacemos que primero aparezcan los enlaces geométricos de la citosina y la timina (las dos que solo contienen hexágonos).

Y a continuación la adenina y guanina (que ya tienen pentágonos, con lo que quizás convendría que en este punto ya dejara de verse la retícula hexagonal)

2019_ip_22_ctag_linea

Por supuesto, tengo que buscar una forma de que estas moléculas aparezcan, como líneas o estructura, de una forma ágil y amena.

Una posibilidad sería utilizar el efecto de “auto-desplegamiento” en cascada. Pero buscar otras alternativas más originales.

Una vez tengamos las cuatro moléculas en forma esquemática, pasamos a sus versiones tridimensionales (aunque quizá finalmente cada una pase de línea a sólido directamente, no esperando a que estén las cuatro como línea).

Aquí tengo que darle vueltas para encontrar un look chulo. Nada de simples bolitas de plástico brillante reflectante. Mejorar ese “look”. Y también para los enlaces.

Una idea es que se vean los átomos de cada elemento de una forma “realista”, aunque sea con ese modelo clásico y un poco anticuado de los electrones girando en torno al núcleo de protones.

Una vez creadas las 4 moléculas de las bases nitrogenadas tenemos que empezar a ver cómo se producen los enlaces entre pares, siempre bajo la forma:

Guanina +++ Citosina, con tres puentes de hidrógeno.

Adenina ++ Timina, con solo dos.

Estos enlaces deberían diferenciarse del resto de los enlaces ya establecidos entre los átomos dentro de cada molécula, aunque sea de una forma más evidente solo al principio.

Y aquí viene una parte compleja: ese fenómeno de emparejamiento tiene que empezar a replicarse y multiplicarse, cada vez con mayor rapidez, para acabar formando una cadena de ADN. Quizá pueda hacer que, en principio, los enlaces del conjunto se establezcan siguiendo una alineación recta, lo que nos proporciona dos ventajas:

1. Se ve más claro lo que ocurre

2. Y sobre todo: es más sencillo de animar ;-)

Pues no, al final no fue así. Los primeros enlaces se van estableciendo con la configuración ya torsionada…

Podría estar bien hacer un guiño a… Y aquí hay un guiño, un pequeño “huevo de pascua” que no voy a desvelar y que finalmente sí está presente en la animación. A ver si alguien lo descubre ;-)

Por otro lado, no tengo claro qué otros elementos, aparte de las 4 bases nitrogenadas, es necesario aportar a la estructura. Averiguarlo. Recordar que cuento con la aplicación Avogadro y los plugins ePMV y upy_autoPack para Cinema 4D

Y finalmente, una vez se han producido los suficientes enlaces, podemos aplicar una torsión para crear la doble hélice.

2019_ip_32_enlaces_adn_03

No tengo nada claro si toda esta parte es mejor hacerla en Cinema o en Modo. Estudiarlo bien. Finalmente fue con Cinema 4D, aunque también utilicé Modo para construir las “anclas” de los cloners. Fue un proceso de varias idas y vueltas.

Una vez tenemos la doble hélice, llega el momento de trazar los recorridos de la misma, que nos servirán como punto de partida para acabar generando la Escalera de Bramante.

2019_ip_33_enlaces_adn_04

Darle vueltas a ver si se me ocurre una forma original de hacer que se dibujen esas dos espirales. Estaría bien que hubiese un “poso matemático” en la forma de generarse. Por ejemplo, para cada helicoide, presentando un punto que rota alrededor de un eje y se traslada a lo largo del mismo (no descartar alguna otra posibilidad, como el uso de senos y cosenos: Wikipedia “Helix” o incluso con la Fórmula de Euler). Pues no, esto se ha descolgado, sobre todo porque quedaba muy confuso añadir todos esos diagramas matemáticos, con el ADN por el medio… Y además a la velocidad que va esa parte del vídeo, todo impuesto por el ritmo que marca la música… Pero es una pena :-(

Una vez tengamos los dos ejes helicoidales será necesario escalarlos adecuadamente para que se ajusten a la forma-base de la Escalera de Bramante. Probablemente tendrá que ser un morphing de los splines, ya que con simples escalas no creo que podamos pasar de una forma a la otra. O bien, quizá, lo más preciso y adecuado sea utilizar la propia herramienta “Helix” de C4D.

A partir de los 2 splines básicos procedentes de la estructura de ADN irán surgiendo otros splines, para ir conformando las principales curvas de la Escalera de Bramante. Estudiar cómo se puede hacer esto (que surjan nuevos splines desde los 2 originales)

Y con todos esos splines tendrán que aparecer las superficies básicas de la escalera, principalmente el pasamanos y la rampa. Aquí puedo utilizar PolyFX para que los polígonos vayan acomodándose en su lugar progresivamente. Y poco a poco hacer que se vayan sumando todos los detalles superficiales.

2019_ip_34_bramante_a

Un trabajo especialmente importante (y duro) será el de recrear los relieves en las paredes externa e interna de los pasamanos. Estudiar alternativas: seguramente será Illustrator, para conseguir unos buenos mapas de desplazamiento, o bien con una técnica similar a la que empleé para la baldosa hexagonal de Gaudí, en ArsQubica. Pero no desechar la posibilidad de usar ZBrush. Finalmente todos los relieves fueron modelados en Modo. Como puede verse en el vídeo “Behind the Scenes”, fueron modelados sobre una superficie plana y luego curvados e inclinados gracias al operador “UVTransform”

2019_ip_35_bramante_b

En el proceso de construcción de la Escalera de Bramante será importante planificar las tomas y movimientos de cámara: algunos mirando desde arriba, otros desde abajo, otros desde el centro del hueco, otros situándonos en una de las dos rampas…

Bramante Staircase, exit stairs from Vatican City

Una vez que hayamos echado un vistazo a la Escalera ya completamente conformada tendremos que volver a desintegrar toda la geometría para quedarnos con las helicoides básicas.

Y esas helicoides volverán a escalarse, contrayéndose, para ajustarse a lo que finalmente serán las espirales que aparecen en el tronco de una palmera. Su número siempre tiene que estar dentro de la Serie de Fibonacci, y además, ser consecutivos, por ejemplo: 8 y 13 (esto molaría evidenciarlo de alguna forma) Nada, no está evidenciado. Todo va demasiado deprisa como para incluir más información… Sí se muestra en un gráfico que acompaña al texto de “The concepts behind…”

2019_ip_37_palm_trunk_a

Al principio no veremos que eso es una palmera, claro. Solo apreciaremos las espirales acomodadas en torno a un cilindro mucho más estrecho que la Escalera de Bramante.

Pero entonces veremos cómo aparecen las diferentes “escamas” que conforman la superficie del tronco (resultado de haber podado sus ramas). En este punto echaremos mano del mismo tipo de crecimiento que usé para las pipas del girasol, con la filotaxis basada en giros de 137,5º (pero sin explicar de dónde sale esa cifra: eso ya lo expliqué en NBYN). Lo que sí sería interesante es que en este punto aparecieran líneas y parámetros matemáticos. La cosa se ha quedado en esa especie de radar circular que aparece al principio de esta sección…

2019_ip_38_palm_trunk_b

Se va construyendo todo el tronco de la palmera, de abajo a arriba, hasta que llegamos a la copa. Allí surgen las ramas superiores y todas las hojitas de ellas. Todo esto, por supuesto, que vaya creciendo de la forma más orgánica y secuencial posible.

No sé si será posible identificar la curvatura de las ramas con algún tipo específico de curva matemática. Como explico en “The concepts behind…” mi idea original era mostrar que las curvas originarias para los arcos de las bóvedas eran catenarias. Pero luego resulta que no encontré ese tipo de curvas por ningún lado, pese a lo que se afirma en diferentes sitios…

Cuando se haya completado la palmera, dar una vuelta a su alrededor, mostrando un fondo de cielo luminoso, nubes, bandada de pájaros… probablemente siempre mirando más bien hacia arriba, para no verme obligado a plantar muchas más palmeras. Pero no descartar la posibilidad de generar unas cuantas palmeras, con menor resolución, a partir de la maestra, para mostrarla dentro de un campo de palmas. Todo esto se ha quedado fuera, nuevamente por tiempo: la música marcaba un ritmo ahí que no permitía detenerse por más tiempo con la palmera. Y mucho menos añadir otras palmeras…

Lo que sí sería interesante es dotar a esta palmera protagonista de mucho detalle. Y que aunque haya sido obtenida matemáticamente tenga mucha riqueza orgánica (detalles superficiales, texturas, colores, SSS…) No estoy especialmente satisfecho con el resultado final de la palmera. Creo que se queda simplemente en “correcto”, no más.

2019_ip_41_palm_final

Tras mostrar la palmera al completo, tendré que eliminar alguna de las ramas (que sea de un modo progresivo, quizás disgregando su estructura poligonal usando PolyFX u otro método) para quedarme solo con una pocas, de forma que pueda hacerlas coincidir con las nervaduras de la bóveda de la King’s College Chapel.

Ese número exacto de ramas también tendrá que morphear para acomodarse a la forma necesaria. Y también deberá perder las hojas. Probablemente lo mejor será reducir el tronco y las ramas resultantes a sus ejes centrales. Y a partir de ellos empezar a generar las nervaduras de la bóveda utilizando el sistema de cascada. Finalmente lo que ocurre es que las ramas (hojas, realmente) se repliegan y contraen para adaptarse a la forma de una especia de hiperboloide truncado.

2019_ip_42_kings_chapel_a

En estas tomas estaremos muy cerca, en torno a una de las “copas” superiores de la bóveda viendo cómo se forma:

2019_ip_43_kings_chapel_b

Una vez formada una de las copas, podemos ir pasando a vistas más generales. Para las “copas” adyacentes también estaría bien ver cómo se están acabando de construir. Quizá para estos casos pueda recurrir a una solución más sencilla de tubos en crecimiento. Y para las zonas inter-nervaduras utilizaré la solución de birails en Cinema.

2019_ip_44_kings_chapel_c

Iremos cambiando de cámara para mostrar cada vez planos más abiertos. Al final, después de la toma del hiperboloide truncado hay una toma larga en la que toda la bóveda se construye en profundidad, con un gráfico superpuesto que demuestra que está basada en arcos de cuatro centros. Un poco demasiado deprisa sucede eso, por cierto, como para poder apreciarlo con claridad…

2019_ip_45_kings_chapel_d

Para acabar con una vista general de toda la bóveda, que tiene que resultar grandiosa:

2019_ip_46_kings_chapel_e

Llegados a este punto podríamos ya terminar la animación.

Pero me gustaría darle una vuelta más de tuerca. Para ello podría volver a acercarme al techo:

2019_ip_47_kings_chapel_f

Concretamente al eje central donde se encuentran lo que parecen unos rosetones:

2019_ip_48_kings_chapel_g

E ir acercándome a una de las flores centrales:

2019_ip_49_kings_chapel_h

Y aquí podría aplicar un último morph para transformar esa flor de piedra en una de verdad (tengo que averiguar de qué flor se trata). Es una rosa. Y la transformación de flor de piedra en flor real, aún siendo una idea que me gustaba, también se descolgó.

Para acabar mostrando una imagen de nuestra abejita posándose en esa flor. El final podría ser que la abejita se va y la flor se cierra, por ejemplo. Darle vueltas a otro posible final más guay. Al final la abejita no volvió a aparecer. Simplemente la flor de piedra se abre y de su centro comienzan a aparecer multitud de pequeños apéndices naturales que contrastan con la piedra y dan a entender que podríamos seguir con más y más transformaciones y viajes…

Recurso Modo. Directorio de todas las “ETÉREA Tools”

etereatools_icons_6401

He decidido crear un directorio en mi web con enlaces a las herramientas que he creado para Modo. Todo esto lo he ido compartiendo en este blog y también en los foros de Luxology. Ese mismo índice también lo he añadido a esos foros, aquí exactamente. Espero que estas cosillas os sean útiles a todos los usuarios de Modo :-)

Recurso Photoshop: Guías y rejillas exactas, al píxel

guideguide

Acabo de descubrir esta extensión para Photoshop, GuideGuide, y ya se ha convertido en uno de mis recursos favoritos, imprescindible cuando necesitas “exactitud al pixel”, que es algo relativamente frecuente al trabajar ciertas texturas como los patrones de repetición, entre otras muchas situaciones.

Con esta herramienta podremos crear guías para márgenes, filas y columnas, guías medias horizontales o verticales, retículas personalizadas de X por Y píxels, con absoluta exactitud y simplemente pinchando en un botón. Con otro botón eliminaremos todas las guías del documento. Y también podremos guardar nuestros presets.

ACTUALIZO: Ah, y se me ha olvidado mencionar algo que para mí resulta extremadamente útil: si no tenemos nada seleccionado, las guías se aplican considerando el área de todo el documento, pero si hacemos una selección sólo tiene en cuenta esa zona. De ese modo, dejando los márgenes a “0”, con sólo pinchar en el botón “GG” se nos crearán 4 guías alrededor de la selección. Por ejemplo.

Además, el control de la precisión es total: podemos predefinir dónde queremos que se queden los “píxeles sobrantes” cuando le pidamos operaciones no exactas (por ejemplo, si dividimos un documento de 25 pixels por la mitad, donde nos quedarán dos áreas diferentes, una de 12 y otra de 13 pixels)

Si usas Photoshop CS4 o CS5 no sé a qué estás esperando para bajarla.  Muchísimas gracias Cameron McEfee por crear y regalarnos esta pequeña maravilla. Porque además es gratis (podéis mandarle un donativo si queréis) ;-)

Recursos Modo de Gelmi y Sampaio

Rodrigo Gelmi y Marcos Sampaio son dos grandes ilustradores publicitarios brasileños que nos suelen sorprender con sus fantásticas imágenes en los foros de Modo.

Pero lo mejor de todo es que no sólo nos muestran lo que hacen, sino que muchas veces nos explican cuál es su proceso o incluso nos regalan pequeñas escenas de muestra para abrir directamente en Modo y poder analizarlas para aprender de sus técnicas. Yo me suelo pasar por la sección “Gallery” de esos foros y en cuanto veo algún post iniciado por ellos no lo dudo: voy a por él. Casi siempre encuentro cosas buenas. Y aprendo mucho. Os dejo sendos enlaces a todos los post iniciados por Gelmi y a todos los iniciados por Sampaio.

Y a continuación, algunos ejemplos:

OCÉANO, por Rodrigo Gelmi

Echadle un vistazo a este vídeo:

Daos una vuelta por el post donde lo presentó y desde donde os podéis descargar una escenita con una de estas tomas. Tenéis el enlace en el foro, o lo podéis bajar directamente desde aquí:

> Bajar escena Océano, por Rodrigo Gelmi <

HIELO HIPERREALISTA, por Marcos Sampaio

Hielo hiperrealista por Marcos Sampaio

Si os gusta el aspecto que tiene, echadle un vistazo al post donde lo presentó, porque hay otros ejemplos pertenecientes al proyecto real. De allí también podréis bajaros una escenita. Os dejo aquí también una copia:

> Bajar escena Hielo Hiperrealista, por Marcos Sampaio <

LEÓN, por Rodrigo Gelmi

León por Rodrigo Gelmi

Aquí hay un trabajo de pelo espectacular. Daos una vuelta por su post y revisadlo al completo, especialmente las capturas de la segunda página. En esta caso no nos dejó escena de muestra (creo) sino que Rodrigo nos regaló un vídeo con una captura del proceso de creación del pelo:

Está bastante acelerado, pero podemos hacer pausa ;-)

BOSQUE, por Rodrigo Gelmi

Forest by Rodrigo Gelmi

Gracias a que esta escenita la tenía guardada como oro en paño porque no he conseguido re-encontrarla en los foros de Luxology (si alguien la encuentra que deje un comentario).

ACTUALIZACIÓN. Andrés, un amigo en Facebook, la ha localizado. En la segunda página de este post, Gelmi compartió esta escena con todos nosotros. Por cierto, la imagen original que abre esa entrada es MUY buena ;-)

Os recomiendo que cuando veáis alguna cosa interesante de este tipo, rápidamente la bajéis y la guardéis, porque he comprobado que muchas veces, al cabo del tiempo, los enlaces desde muchos foros acaban “muriendo”. Os dejo una copia de la escena:

> Bajar escena Bosque, por Rodrigo Gelmi <

Como veréis, hace un uso súper inteligente y eficaz de los replicators. Esto es algo en lo que Gelmi es un crack: en conseguir soluciones aparentemente sencillas y ligeras, pero tremendamente elegantes y efectivas. Hay mucho que aprender de él.