Originally posted on Substack
“If you’re not prepared to be wrong, you’ll never come up with anything original.” -Ken Robinson
I’ve had a number of requests and personal interest where 3D imagery is used to create generative art. So I hope that this is beneficial.
Generative art can be done in almost every application. You will find that it can be done in Photoshop, using code, using simply code in the browser, or just by hand as one of my fellow generative artists (Dan Gries) has done.
https://twitter.com/RectangleWorld/status/1534171286859042821?s=20&t=TGFqRPIKtHPByIxfhFyUCw
In this writeup, I want to explore 3D generative art using Blender. First, I thought I’d start out by providing a bit of the landscape of what software is out there and what else one might be able to use to create generative art.
3D Real Time Engines
There are other 3D environment platforms which are built for realtime interaction. Use cases for these engines are generally used in the creation of games and VR experiences. A few examples of these engines are Unreal Engine and Unity. There are a few generative projects, one example is the work of Michael Kozlowski which some of his work was done using Unity.
https://vimeo.com/674336844?embedded=true&source=vimeo_logo&owner=94735906
Graphical 3D Engines
Then there are the commercial “Blenders” which include Cinema4D, Maya, 3DS Max and Lightwave. All of these products have many of the same features except some have an easier learning curve, more efficient render algorithms, and what someone is comfortable because of what they learned in school or in a job. These do have programming languages that help extend the outputs in order to provide more generative outputs.
Much of the 3D work done for commercials, Instagram and movies are done using these software pages. Some of the larger movie studios do have their own internal workflows but these are going to be the tools used for most of it.
Procedural 3D Engines
I do think that it is good to point out one tool which specializes in procedural 3D animation from SideFX called Houdini. It has been used to create a number of amazing outputs. I am a huge fan, of its outputs as they have helped create some amazing work.
3D Programming Frameworks
These 3D frameworks will include things such as OpenFrameworks, Three.js, or AFrame.js. Most of these are going to start with code and no GUI. However, they are built on top of core graphics libraries making it easier not to have to write boiler code or building a cohesive library around them. It is up to the imagination of the user to generate interesting compositions of the work that comes from it.
Graphics Languages
Then there are the core technologies that have built the Most of these are going to start with code and no GUI. It is up to the imagination of the user to generate interesting compositions of the work that comes from it. A pure generative example of this is PiterPasma’s Skulptuur project or the recent work of Monotau on FxHash
Piter Pasma - Skulptuur Testmint 2021
Monotau - Cradle 2022
Programming Language Libraries
As you can see, the landscape for generating generative works in 3D is a rather large ecosystem of frameworks. that are currently being used to create 3D content in a variety of different pieces.
https://docs.google.com/spreadsheets/d/105k6JNqRG9j_vQVXZZ_klzyvHF930JGyfm4bbopc8YU/edit?usp=sharing
So let’s focus on Blender.
Why learn Blender?
Open source
- In the generative art community, there has been always an openness of sharing code and knowledge. This has become a limited due to the NFT craze of 2021 and the blantant plagurism from the $$ of the market.
- Open source breeds innovation, community and quality feedback. In the case of Blender, it has one of a many great number of communities that have made some beautiful software.
Easy entry-level workflow
- I might be wearing rose colored glasses here, but I really do find that once overcoming the jargon of 3D development Blender is a tool that can be understood without months of practice.
- Secondly, if you haven’t worked in 3D environments, its a great way to really dive into the world of creativity.
Code based w/ Python but also node based
{{ youtube r8hqLh_HE08 }}
- It could be that I am not plugged into the community quite enough to have found many of the generative blender artists, I think there is some fascinating work that comes out of it such as the work in the video by David Mignot.
Extensible - the plugins within Blender provide some powerful ways to extend its usage. Just to show some of the power of procedural / generative work check out the following plugins.
Large supporting community
- There are so many Youtube tutorials, Patreon accounts and tool makers in the space. I’d suggest and take the time and get to know some of the community. Even if you aren’t interested in 3D work, there is so much inspiration that can be gleaned from these communities.
Why not use Blender?
- If you want to play boss mode, then don’t pick Blender, you probably should work with GLSL in order to really give it a go.
Blender Usage in Creative Coding / Generative Art
So the first person I think of generative art and Blender is Yann Le Gall. You can find much of his work on Instagram. He has a playful and “mind mending” aesthetic as he uses flow fields, circle packing, and all the fundamental algorithms used in many generative artists toolkits.
Matt Deslaurier used Blender in one of his earlier data art works called Crystal Towers which used Three.js to generate the models and then used Blender to render the images.
And there are others as well who have used Blender in different ways to produce work that is generative or at least procedural in nature.
https://humphreyhippo.wordpress.com/2017/12/13/adventures-in-sverchoks-generative-art-node/
https://blender-brussels.github.io/articles/experimental-mesh-generation/
Of course there are plenty more examples of stellar work but I hope that this at least will help motivate new explorations in different tools to see what can come out of other amazing worlds.
Additional Generative Blender Resources
A few articles I’d suggest reading as you venture into Blender is:
- Grease Pencil, Scripting and Generative Art in Blender
- Creative Coding in Blender
- Procedural Generative Techniques in Blender
These have all been in various editions of the newsletter over the past couple of years. However I thought I might put it together here as these have definitely been the best tutorials that I’ve come across of the last couple of years.
{{ youtube bWmnbEwEpqk }}
{{ youtube KQJYwHD5AB8 }}
Hope this gives you some resources to further explore some more 3D generative work.
Hope all is well with you!
Chris Ried
P.S. I have had a hard time finding any
📰 Happenings
- Eyeo Festival - June 14 - 17, 2022
- School of Poetic Computation - Multiple Courses
- Anderson Ranch Art Center - Multiple Classes
- Processing and Laser: Creative Code to Wood Panel - June 27 - July 1, 2022
- Drawing with Machines - July 18 - 22, 2022
🔖 Articles and Tutorials
Procedural music composition with Python
Code is poetry, of course, but it is also music. The music21 Python package for computer musicology not only allows to investigate musical scores with data science, but also to write your own scores with mathematical operations. Georges Dimitrov, composer and professor at Concordia University (Montreal, Canada), created the arvo package, which includes well-known minimalistic mathematical operations on notes to create no less rich musical scores. In this notebook, I explain how to compose the piece just below with arvo and music21 with minimalistic procedural composition techniques. You will need to have intermediate understanding of the Python programming language and basic understanding of western music theory.
Rorschach Mask Animation in Wolfram Language
In this notebook we show a method to make animations of Rorschach images and project those animations over 3D surfaces. The work is inspired by the visual effects of Rorschach’s mask in the 2009 movie “Watchmen”
How does DALL-E2 Work?
DALL-E 2 is an AI system that is capable of generating realistic and high-resolution images using a description in the form of natural language. It can also edit existing images using captions in the form of natural language.
20 Creative Things To Try Out with GPT-3
It’s a fascinating journey into the mind of a machine. We, beta-tester of GPT-3, put this monstrum of an NLP through its paces, experimented with semantics, helped with presets and safety/risk topics, observed phenomena, etc. After soliciting feedback from our beta-tester community, OpenAI will begin charging for API usage based on the pricing tiers. Things are moving ahead, and that’s a good part.