Edgy talla desconchones y grietas directamente en la geometría: un núcleo común para Cinema 4D y Blender
El artista Cornelius Dämmrich ha publicado Edgy, un plugin para Cinema 4D y Blender que talla desconchones, muescas y grietas directamente en la geometría del objeto. La herramienta modifica la propia malla, por lo que el desgaste se lee en la silueta a cualquier distancia de la cámara y en cualquier motor de render.
El modelo original permanece intacto. En Cinema 4D el resultado pasa a ser un objeto hijo del generador Edgy; en Blender se escribe en un objeto nuevo junto al original, de modo que se puede volver a la geometría limpia en cualquier momento.
Seis módulos de daños
Los daños se reparten en seis módulos, cada uno con su propia lógica de distribución:
- Chips — desconchones a lo largo de las aristas abiertas.
- Corners — daños de mayor tamaño en los puntos donde confluyen varias aristas abiertas.
- Craters — muescas poco profundas en superficies planas, distribuidas por área.
- Fracture — redes de grietas de hasta tres niveles.
- Buildup — la operación inversa: el material no se retira, sino que se acumula en los ángulos interiores y en los huecos.
- Breaker — elimina trozos enteros del objeto.
Se incluyen seis conjuntos de ajustes ya preparados, y también se pueden crear y reutilizar presets propios.
Núcleo común y materiales separados para los daños
El núcleo geométrico de Edgy no depende del programa anfitrión: recibe una malla y un bloque de parámetros y devuelve una malla, y dentro no hay código ligado a Cinema 4D ni a Blender. En Blender el addon carga el núcleo como módulo de Python compilado edgy_core_py; en Cinema 4D los mismos archivos se distribuyen dentro del plugin comercial. Del lado del núcleo están la detección de aristas, la colocación de los cortadores, las operaciones booleanas, una segunda pasada, el módulo de grietas, la geometría de las roturas y la caché de daños.
El resultado se almacena en caché. Cada tipo de daño se escribe en su propia selección en Cinema 4D y en un atributo de caras aparte con su propia ranura de material en Blender, de modo que a los desconchones, las grietas y las acumulaciones se les pueden asignar materiales distintos. Dónde aparece exactamente el desgaste lo define una máscara: los campos (Fields) en Cinema 4D y un grupo de vértices en Blender.
La geometría de entrada debe ser cerrada: la herramienta talla los daños en las aristas y superficies de una malla cerrada, y en la base del enfoque están las operaciones booleanas.
Código abierto en el lado de Blender
El núcleo que carga el addon para Blender está publicado en GitHub bajo GPL-3.0-or-later: las fuentes están disponibles porque la licencia lo exige, ya que cada comprador que recibe el módulo compilado recibe también su código fuente. El autor sigue siendo el único titular de los derechos y distribuye los mismos archivos bajo una licencia propietaria aparte dentro del plugin para Cinema 4D. El repositorio no acepta pull requests: se regenera a partir del repositorio del plugin en cada versión, y la doble licencia solo funciona mientras los derechos sobre todo el código pertenezcan a una sola persona. Hacer un fork, en cambio, sí está permitido.
A cada versión le corresponden un único commit y una etiqueta de git con el número de versión, así que el código fuente de cualquier compilación distribuida se localiza por su etiqueta. El módulo compilado está ligado a una ABI concreta de CPython, por lo que para Blender 4.5 (CPython 3.11) y Blender 5.x (CPython 3.13) se generan binarios distintos a partir del mismo código fuente. El núcleo depende de Manifold, Clipper2 y oneTBB; los scripts de compilación para Windows y macOS están en el mismo repositorio. Página de Edgy: allí mismo se puede descargar el plugin.
Por qué los daños geométricos han vuelto a resultar interesantes
Edgy llega en un momento de notable interés por la destrucción a nivel de geometría y no solo en el sombreado. En Blender han aparecido últimamente herramientas basadas en Geometry Nodes que funcionan con una lógica parecida, como el conjunto Damage Control de Jesse Miettinen, con destrucciones, dispersión de objetos y suciedad al estilo de The Last of Us. En Cinema 4D este nicho, al parecer, seguía estando bastante menos cubierto.
Detrás de ello está, probablemente, un cambio en el listón de calidad. Mientras el plano es estático y lejano, basta con el desgaste de shader, pero con el movimiento de cámara y los primeros planos una arista perfectamente afilada delata el modelo. Al mismo tiempo, la propia operación se abarata: los cálculos booleanos sobre mallas cerradas se han vuelto más rápidos y el almacenamiento en caché del resultado permite trabajar con los daños de forma interactiva.
Si la tendencia continúa, el desgaste y los daños pasarán cada vez más de la etapa de texturizado de vuelta al modelado, y los artistas de entornos tendrán una capa procedural más que se puede regenerar para un nuevo encuadre. Lo más probable es que salgan ganando los equipos pequeños y quienes trabajan en solitario: los que no tienen ni tiempo para el detallado manual ni un tech artist propio que monte un generador parecido desde cero.