|
|||||||
![]() |
|
|
Thread Tools |
|
||||
|
Create 3D cities in a single click with Suicidator City Generator, a free Python script for Blender.
Website: Suicidator City Generator by Piiichan After a request from Pascal Mueller, author of the commercial software CityEngine, explaining that this name is a trademark in Europe and in the US, Suicidator City Engine has been renamed to Suicidator City Generator. Also don't miss Blended Cities (formerly Open City Engine), a similar project by Littleneo, and many other contributors. Website: Blended Cities by Littleneo -------------------------------------------------------------------------------------------------------------------- ------------------------------------------------ Original post ------------------------------------------------ -------------------------------------------------------------------------------------------------------------------- I am working on a script that generates cities procedurally for my next personal movie called "Suicidator", the story of a loser hero. I plan to make the script available for those of you who might find it useful. It is still a work in progress, but the results are promising ![]() I'd like to collect a few comments, feedbacks or requests from you guys before I release a beta version of the script (soon) Here is a screenshot ![]() You can also find two demo videos here and here. Thank you Last edited by piiichan; 18-Dec-09 at 09:17. |
||||
|
#1
|
||||
|
|
|
||||
|
This looks interesting. Are the buildings pre-made objects, or are they procedurally generated as well?
|
||||
|
#2
|
|
|||
|
This may be something quite good to include with Blender 2.5. It already looks heaps better than the ancient city block generator which didn't do much more then make rectangle buildings in a grid.
|
|||
|
#3
|
|
||||
|
Haven't been able to look at the results yet (no access to youtube), but another _noob also was looking into this and pointed to a MEL script that does citybuilding rather well. Here the link to another_nnob's tread:
http://blenderartists.org/forum/showthread.php?t=141033 I for one would love something like this (I love all those scripts that add a lot of complexity 'automagically' like BigNumberToolkit, Discombulator, L-Systems etc)
............................................
I don\'t need no steenkin\' sig |
||||
|
#4
|
|
||||
|
I have been working (slowly) on the building generator.
Here is a screenshot with examples of buildings: built instantly; 15,555 faces; 25 buildings ![]() Buildings are nothing more than cubes stacked in different manners. The main parameters are number of floors, base size (x,y), and number of iterations (repeat the process on the roof). The city is then made by placing buildings of different heights according to a texture (population map), where white represents high buildings, and black represents short buildings or nothing at all. |
||||
|
#5
|
|
||||
|
hi piiichan,
that is stunning work. I have left some links to useful information/scripts here: http://blenderartists.org/forum/showthread.php?t=141116 Keep up the great work, we would love to see this script soon, even a beta release. Thanks again. Brendon. http://wiki.blender.org/index.php/Scripts/Catalog
............................................
Meta's Material Library's . My Site get python scripts> http://wiki.blender.org/index.php/Extensions:Py/Scripts/2.4x External Script Bundle Blender 2.49a Packed Collections . Scripts_Bundles blender-2.49b |
||||
|
#6
|
|
||||
|
Fantastic work Piichan!
I had also seen the Mel script for Maya and was feeling darn envious! Your script does indeed look promising ![]() keep it up and keep us posted! ![]() regards, Alvaro |
||||
|
#7
|
|
||||
|
Ooooooh...that last render is making me drool...
Not only does it look like a useful script, but the architectural style is a work of art in and of itself. I can't wait to get my hands on the script and play around with it! |
||||
|
#8
|
|
|||
|
Awesome render the last one! I'd say the buildings need some kind of rooftop walls to prevent people from falling down, what I mean is this:
![]() You see, the roofs aren't just cubes, they have about knee high walls to prevent people from falling. Other than that, I love the design of the buildings :3 A true work of art! |
|||
|
#9
|
|
||||
|
Great work. I was just reading over some stuff on "shape grammar", fractals and linear algebra to try to do something similar. Really a lot of detail. Looks great.
|
||||
|
#10
|
|
|||
|
Will it have option auto-material-assigning as well.
So some walls get assigned material 1, roof - material 2, windows - material 3, decorative stuff - material 4, ect... I said optional in case we wanted a single material for the whole building like if it's ice covered or something. |
|||
|
#11
|
|
|||
|
Discombobulator does the same kind of thing. But it does not generate building details like you have shown in the screen shots here.
Now one question that I have always had about city generators. After you get the building meshes generated procedurally do you then have to go in and uv texture each individual building? That would seem really tedious if you had to do all of that individually. Oh btw how about a link to the actual script
............................................
At some point in life you stop being the man you are and start being the man you always wanted to be. ------ Bruce Springsteen. Last edited by SHABA1; 18-Nov-08 at 18:50. |
|||
|
#12
|
|
||||
|
Quote:
|
||||
|
#13
|
|
|||
|
piichan, your work looks great, and it would be nice if you could tell more about the algorithms behind the script, and something about the main criterias when you started to design the city.
Do I have right when I see some fractal maps behind the first picture? |
|||
|
#14
|
|
||||
|
well what I'd really love to see is support for streets and blocks which are not 90 degrees to each other. This would also mean houses which have not all sides 90 degrees to each other... Other beautiful thing would be import of real city plans (in vectors) and support for those. other thing - organic shapes in the l-system, so some towers would be simply special and sci-fi like...
otherwise, your results are already impressive and very nice. |
||||
|
#15
|
|
|||
|
This looks freakin Awesome man! When do we get to see the code???
|
|||
|
#16
|
|
||||
|
Yeah, I like the render that looks like a painting, how do you do that?
............................................
Intel DUO T9300 @ 2.5Ghz, Windows XP 64, 3Gb RAM, nVidia 9500M GS Blender 2.49.2, Python 2.64 2.49b Python Scripts: Blendgraph Meshfoot 2.49b Scenes: After Effects Stroke Sea Tubes Page Rip or Tear Opening A Book Single Page Turn Glow Emulating 3DSMax Super Spray |
||||
|
#17
|
|
||||
|
The script is now released here.
The city is built based on a population map, which is a texture representing how populated (or rich) each area of the city is. On white pixels will stand higher buildings, and on black pixels, lower buildings. Below a gray level of 30%, no buildings will be created. You can use any picture you like for the population map:
The algorithm is simple: it iterates over the population map. For each pixel, it decides how many buildings are to be built for that pixel, their size and height, and their position. L-Systems are not used. I designed the cities and buildings simply by observing pictures of real cities and buildings, and also by observing the results of another city engine by Mueller which I admire. For now, buildings are simple cubes. Having detailed buildings such as those in the screenshot is possible, but not through the GUI yet. I am working on it for version 0.3. The parameters are the following, from the bottom: Pop map size This is the size of the population map, and it directly affects the area covered by the city. It is the main way to increase visual complexity: simply generate a larger city. ![]() ![]() Randomize pop map Disable it if you use a custom population map. If you are using a procedural texture, such as "stucci", you may want to keep the same type (eg stucci VS clouds) but change the layout. This is what this button is doing, by randomizing the texture offset. Building height If you want higher buildings, this is where you set it Height difference With this parameter, you can set whether short and tall buildings will have a great difference in height or not. This parameter may not always produce what you expect because it makes short buildings very short, and tall buildings very tall. So it may shorten most or all buildings to the minimum size if they do not reach a certain height before this parameter is applied. You can increase the value of the "building height" parameter (above) to reduce this negative effect. ![]() ![]() Buildings per pixel For each pixel of the population map, there may be more than one single building. The shorter a building, the more subdivisions. Here you control the probability of a building to be subdivided into many smaller ones. ![]() ![]() Building loc variation When a building is positioned, its horizontal locationn is varied randomly inside the area of its respective population map pixel, to make the city look less "grid-like". However, if you want the buildings to be more aligned, then decrease the value of this parameter. 0 means all buildings are aligned exactly on the population map. ![]() ![]() Min/max hori size factor You can control how thick or thin buildings are with this parameter. The minimum horizontal size factor is in Blender units. The maximum horizontal size factor is how many times a building can be larger than the minimum size. ![]() ![]() Concerning all your comments
May you encounter any bug, please report them on this thread. Version 0.3 with more parameters and complete buildings should come soon. And most importantly, thank you all for your encouragements! A demo video here Last edited by piiichan; 22-Nov-08 at 13:30. Reason: Forgot to specify the link to the demo video |
||||
|
#18
|
|
|||
|
#19
|
|
|||
|
So could you use this to make low-poly buildings for games then? Or does it have to have that level of detail?
............................................
Saskatchewan. Easy to draw, hard to spell. I live in a rectangle. |
|||
|
#20
|
![]() |
| Bookmarks |
| Thread Tools | |
|
|