SF2020 relaunch with Geometry Nodes
After a long break I am back into Blender more regularly again, and attempted a relaunch at my SF2020 project. It's now called SF2022 though.
But one after another. The development of Blender steps forward quickly, and even if I wasn't not really active myself, I couldn't stop following the news regarding Blender development, One of those: Geometry Nodes. This is, in a nutshell, visual scripting (visual means, nodes and noodles) for procedural generation of objects.
This means for one, "generators", for example a skyscraper generator where you get to adjust parameters for size, amount of stores, probability for a balcony and so on, and it will create one for you.
This can also work in a less automatic manner, for example a river generator which takes a curve as input and will create a river including banks along that curve.
I hope this gives a most general idea, what kind of tasks Geometry Nodes are designed to solve.
Geometry Nodes vs. Me
I'm not exactly new to coding, I did/do some gamedev (among 999 unfinished projects there is a completed games hidden deep in the Love2D forum from 10-15 years ago), as well as webdev (I like making blogs).
But visual scripting... is a kind of its own. I have often read, it is there so people don't have to learn general coding in order to use a certain tool, or that artists are more attracted to the visual aspect than to a code editor. I don't really have an opinion about whether this holds true in general, I just wished a lot of times, I could just work in code. Now there is of course python integrate into Blender, I asked a question on blenderartists whether it can be a replacement for Geometry Nodes, but apparently, there are non-overlapping areas. So I scrapped the ideas about avoiding Geometry Nodes at all.
But the idea in general and the possibilities this opens up (especially when working alone and time is a factor) still fascinated me. After several tutorials and exercises I stopped trying to first understand all the basic and advanced concepts, and rather memorized re-occurring patterns. I wasn't overly proud of doing it in such a "stupid" way first, but a) I made progress and b) I realized after a while that I slowly do gain some understandings about what I am doing. There are still remarkable gaps, though.
But it was good enough to create some generators which help me with the creation of buildings and structures in general and do almost all of the detail work for me. I start with current state of affairs, with the help of an image it is better to explain:
As first we have the walls of the building in the background, this was my first generator. It slaps cuboids on the walls. Under the hood it does a bit more though, most remarkably cutting off widely overhanging cuboids.
The edges of the pillar in front show off the "edge decorator", which chains cuboids along the edges, smaller and flatter ones though.
The floor plates under the building and around the bridge are another generator, which - you guess it - distributes cuboids along the floor plate. This time even flatter ones, though.
Could these three generators be actually one? Maybe, internally they are actually slightly different. This may be me, inconsistently cheating my way to the results, though. I for sure keep them the way they are for now (since they are working). Optimizing is a thing for the future, when I have the basics down and more experience.
The cuts in the roof of the building and the side walls of the pillar are actually no Geometry Nodes - just three modifiers. The cuts I have to do by myself, knife tool and 45° angle restriction. The trick I learned from the youtube channel Blender Secrets.
And finally there is the terrain, which consumes two Geometry Node setups. One simplifies the geometry by merging vertices based on distance. The decimate modifier achieves something similar, but the way this particular node does it leads to a uniform vertex density and also it allows me to easily weld terrain patches. Using it several times has no side effects, so I don't need to plan ahead here, which is very convenient.
The other terrain-related node setup is responsible for distributing foliage on the ground. On the example image above are four different plants in use, with scale variation and random rotation to make it appear more diverse. I use a vertex group on the terrain to designate areas where plants should appear, and ontop of that there are objects who block the appearance of foliage, to avoid (most of the) clipping.
And here, in comparison the individual design. I expect this method to scale well and that I will be able to create a proper bigger scene realistically.
Here a list of the existing node setups. It is possible that I will need more in future, but honestly I rather want to get to using the ones I have, for now.
Material, light, characters, vehicles
Next to nothing, so far. The figurines on the image are static dummies, I need them for scale comparison.
About materials, I stick to the way I attempted it in SF2020. Zero textures, faces get single colours, which come from a pixelart pallet, which I loved using during my weekend challenges participations. But I will decide for one and tackle that in general at a later point, for now it is the workbench renderer.
Characters and vehicles will of course be part of the show, but I will think of that much later, when I reached a state where I have some kind of urban still life, which needs to get filled with life and action.