i think the real clincher with this one is when we can populate the world with out own buildingsā¦ is that possible or do you think anyone could get it to be possible? was thinking you could use the bounding box for figuring out how to place the buildings but i dont know python so its more just a conceptual guess then anything.
anyways good work so farā¦ im keeping an eye on this thread :0
@piichan : thanks a lot ! hope youāll still have the same feeling after testing
I forgot to include the 2 street textures, theyāre packed in the .blend now, just click some buttons and build in top view.
itās possible to code something to include your own geometry, but the main point is which concept exactly, as you said. Iād like to know the maya script someone was talking about in this thread.
I like the way piichan choose because each detailed building seems unique. another thing is that the dimensions can vary, and it will never look like a monopoly game or a american-beauty-like suburb (forgive me if my sentences look strange, Iām french. also sorry if you live in suburbs). that is a risk if using predefined meshes, even if you have 10 of them.
I think we could build a kind of library with PARTS of buildings (traffic signs, stairs, trees, main doors, windows, balcony, street/roof detailsā¦) added to mesh with dupli-groups so one can edit them, and to expand the piichan way to build the main structure (bevels, cylinder, roofs).
I also think a next main step is to think about scaling and materials.
non-flat grounds, non-square streets, specific places or buildings (town hall, railway station, parcs etcā¦)
has someone a sample piece of code for tabbed python GUI ?
I DID run into a PROBLEM, but itās because Iām still a noob! You did something fancy with the camera, littleneo, and I donāt know how to change it. I got rid of the constraint, deleted the ipo contents, but it still wonāt point at the city I made, and it still animates. Frustrating to say the least. I know I can shift-F1 it but it would be nice to be able to use the camera within the file.
@bongo : the cam is parented to a curve, and follows it during animation. delete the path it should be ok. you canb also add a new camera.
far more simple, download the last version Iāve just post page 3 !
. works without python.
. corrected/added a few things.
. cleaned the file a bit.
thereās now some documentation page 3
currently working on non-square roads and relief thanks to lattices. so the city ground has to be generated as tiles in order to be bent properly. (for the moment itās a mess). also : scaling, normalisation between streets and building dimensions
it would be great if someone has already a code about materials, that can apply a given material to some newly created faces.
jms has updated a great script originally called cityblock to make it work on 2.48. it can be used to generate librairies of buildings : http://www.zoo-logique.org/3D.Blender/index.php3?zoo=pyt
at the bottom of the page. 20 building included
I heard that it worked with beast, another city/particle generator, but Iāve no updated infos, someone knows ?
yes I also was seduced by the concept piichan used to make the city grows. it really works fine at render time.
in my side Iām working hard to integrate an efficient way to integrate a scaled, ālattice-friendlyā city ground to it, (see lattice pic above) and also scaling and predictability, while keeping the main building method. I think it will work soon.
has someone a bit of time and enthousiasm to think about materials ?
hereās some reflexions about it :
. thereās roofs, E W N S building size, roads, sidewalks, floors, incoming detailsā¦ EWNS differentiations can be useful to fake shading or uv mapping.
. Iāve added a floor support to buildings in my wip script, for scaling but also for texturing.
whatever the size of the building is (as the height = floor size x nb of floors and also something similar for width), with a global mapping,one can map a huge building with a small texture : this texture is a tile with floor height as Y ( not building height as Y), to avoid texture streching.
. choose between mats for buildings and mats for houses (decision should be made depending mainly from height)
. a kind of color palet could be available in the gui.
about already made building and detailled generated ones :
. cityblock generator is a cool idea. one should have a library support in this script too. the main issues are according to me variety and scalability.
. I think each pre-made building should be designed in at least 3 parts : 1st floor, normal floor, roof. so to scale it without deforming the mesh, one can scale XY and add floor mesh units to reach the desired size. one could have alternative floor, or a choice of roofs alos, etcā¦
. but one could also have non strechable building, with one mesh like with the cityblock script.
. naming convention, blender groups, game properties could allow the script to choose a pre-made building depending on the building dimension it has to build.
. how to position/distribute detailed, heavy buildings on the map ? a color recognition system could be coded on a map to tell the script where to build them, or the camera position, or a pathā¦
. how to stock them ? I think appending them from a selectable blender ālibraryā file, or group inside file could be great.
. special building. city halls, gymnasium, wonders like in aoe
could someone tell me how to define a fonction that give a feeling of randomness, chaotic variations BUT is not random at all and is completely predictible, āre-playableā ?
(and with a seed) ?
thanks !
the code is dirty, possible errors, some building over streets, no sidewalks generationā¦ BUT hereās what is working now : . roads are generated (as tiles) in another object. sidewalks also will. this to allow us to deform the ground with a lattice, for reliefs and curved streets. but something has to be done for buildings to preserve (or not) their shape (dupligroups with empties for each buildings ?)
one can have a map for streets and an elevation map for buildings with different sizes (it could work with non-squared street maps). this because the minimum units for streets (road width) and building (min width) are not the same. one doesnāt need a 1024x1024 map for elevation, but for streets it could occur. itās also more easy to edit, to scale etcā¦ and some other ideas I have. . a lot of changes about scaling :
. scaling between streets and building is better, more realisticā¦ generally more precise, (sorry units are in meters not inches but conversion planned)
. one can ask for max and min floors. one can configure floor height.
. min width (in meters), max factor as before. building height will override these parameters if needed (no anorexic skycrapers anymore) through a H/V minimum ratio. . color calibration : if the elevation map is not contrasted enough, if thereās no pure white, the brighter pixel of the āpopmapā equals the higher floor we want. same for the darkest one which is the min floor. itās more predicable I think.
. triggers to control density : average density (meters), color thresholdā¦
so the mod will have : tiled, regular ground ; easier scaling and predictability.
and pseudo-randomisation as an option, very soon.
If I can help, let me knowā¦ though Iām too noob to do much beyond beta test, I have some nice tileable city texs but only in low rezā¦
This new script is Way Cool, btw. The detailed city buildings look a little bit like theyāre made out of popsicle sticks though. It would be nice to add windows and trim to the buildings too.
cheers
A pic with them on a city made with this script. When I tried mapping on detailed buildings Blender crashed, Iāll try it on fewer buildings next time.
ābrasserie du mistralā :-)ā¦
thanks, itās the kind of resolution the script would need I think, for simple buildings.
Iāve made some tests with global mapping (to avoid either uvmap for each building or tex streching), it could work but it will restrict variations a lot. not the best option.
I suppose one can generate an uvmap for each generated building depending on its dimensionsā¦ if someone has already done thatā¦
meanwhile Iām adding materials support.
This script is becoming a great thing. I think the maya guy isnāt actually that far yet!
I donāt have any time to code now, but let me write some ideas I have when seeing this:
-A building could consist of these parts - corner - floor, mid, top, wallblock - floor-mid-top, roof.
Why a corner or a separate wall? because then you can apply a (temporary) lattice on the corner and make the angle between 2 streets not 90 degrees. The roof generator would then be the hardest part, although I think it would be also solvabeā¦ with this you could generate not only american style cities, but also the european and other-continents and ages cities.
-another idea is about materials:I think about that the materials could be partially dirty, using vertexAO script ore something like that. this way, dirt could be more in the suburbs than on the high buildings in the centre, the dirt could be also tuned for glassā¦Also, the material could use vertexcolors for generating random house colors, with an fine grained texture multiplied with it as to make nice looking various buildings.
I think the resulting mesh when doing a detailed city is currently too big. Maybe more meshes could be generated, in case there would be more optimisation needed, they could be instances(like all floors of 1 house would be the same instanced object)
-maybe an l-system could be used for the houses, with just parts of walls, windows, roofparts, I have some building parts lying around which I could share, i built several houses out of them. For that, a convention how to model these parts would have to be set up, so that the script can connect them together well. Parts would also have to have a property of what they are - corner, window, door,ā¦
thanks for the script, the results look really good sofarā¦
personnaly I 100% agree with these 4 points.
the version Iām about to upload is lattice compliant (for ground), so you could test curved things. and youāre right the roof thing is a bit problematic about Z deformation, there should be a least 2 ways to attach a building to the groundā¦ [ā¦]
but for now, Iām coding :