While working on my add mesh scripts a request was made for making a wall with a hole in it. The end result was the “Sqorus” script. However, that made me start thinking about walls with windows and doors. That thought grew into whole buildings.
So here I’d like to get opinions on if the idea, if made into a script, is something people would use. I can see it being useful for making quick low poly buildings. Here goes…
The script would use an image to determine the geometry of the walls as well as the angle between the walls. Like so (the grey border is just to make the image easier to see on a white background):
The black areas are holes for windows and doors. The red is the angle between the walls. In this case 90 degrees. Different colors could be used for different angles. I can think of one or two other angles that could be useful. Each wall would be a separate set of geometry to keep the poly count as low as possible. All walls together would still be contained within a single object.
The results of the above image would be something like this:
For me personally, by the time I could draw the image and make sure its all aligned properly I could have modelled the building several times over. As useful as procedural building modelling is I’m not sure how useful this would be since there is the initial cost of designing the images.
Once the images are designed though I could see benefit, since you could lose the blend file you had modelled the building in and still have a way to recreate it via the image.
So in short, I think the utility would be predicated upon how efficient the user is with their image editor compared to modelling as well as how many times they need to duplicate that building, although appending may be just as fast as using a script.
i think its a good idea but maybe a little simple
it would be good if you added an option to randomize it based on the base image then you could use it to rapidly generate a city background
good idea,
even though it is simple, i like the idea of “Entry Level Scripts”
simple, easy to use, before moving on to using complex scripts.
there are a couple of City Generators on the script wiki,
that may be of use if you want to add large groups (once you are satisfied with your code.)
also if you do want to do very complex buildings, as in fully detailed skyscrapers.
I have the script.
FourMadMen or forTe only, PM me so I can discuss rewriting the script & methods it uses.
if you want to take it on. i think it will not be a problem.
Brendon.
hi FourMadMen,
“image driven construction” - interesting idea.
possible scenario:
real photo of facade
preprocessing (python scripted in gimp):
equalizing - transform to correct front view
conversion to b/w bitmap
shape simplifying
the SCRIPT takes the image and:
generates geometry
generates a texture from the original photo
Interesting challenge. It will be a little difficult to write universal solution working with any “windows” constellation or with non-orthogonal window shapes (rounded / skew).
Make a cube and scale it to fit just inside the outer wall of generated building.
Assign a glass material to four sides of the cube.
Assign a tar type material to the top of the cube.
Assign a floor texture to the bottom of the cube.
Building complete with glass windows and door, a floor and a roof, for a distant Level of detail shot or model details such as balconies, cornices and gnomes for higher levels of detail.
I agree with Meta, in conjunction with other fine scripts this could be great for generating city scape’s.
I would also like to congratulate you on your diamond script. Excellent!!!
This is wonderful. I have actually implemented a parametric house generator in my Spyder project (http://blenderartists.org/forum/showthread.php?t=119282), and then it turned out that someone else had the same idea! Although, in my house generator, all that you can do with doors and windows is adding/moving them with buttons. I hadn’t thought about reading them from images, which is a great idea! If I could interest you in using Spyder for this, I would be very glad to help.