[CityGen] City generator
-
About the LOD, if it's possible ruby wise, this is how i imagine it; the buildings should be built in basic shape, without any components or textures, and any details like windows added should be other coponents. The user then can provide an area for render, and buildings in the are keep their tetxures and details, while the others outside it would be stripped off of textures and any extra geometry, leaving only the basic bulding shape.
-
Digging in to the architecture of the whole thing: what do you think to having each module as a separate ruby script and then using global sets to communicate between the modules?
-
The LOD could be increased by adding sets of glued components.
When you have a scene you want to set up, you can determine the distance of each building from the camera and add detailing components to the buildings closer to the camera. Though, the challenge I see here is how you define the rules for where these detailing components are added. -
@remus said:
Digging in to the architecture of the whole thing: what do you think to having each module as a separate ruby script and then using global sets to communicate between the modules?
hmm... I'd like to have it contained in some manner. If we have one base module name, which all the other modules are wrapped in, then we ensure that we don't contaminate anything else.
-
why not endow this with features that could allow it to be used as an urban design tool to boot? some kind of parametric capability could make it useful for 1000s of architects.
-
Could you be a bit more specific edson? What sort of tools would you like?
Im not sure design tools would fit very well with the current visualisation slant, but a more design oriented plugin could be explored in the future.
Thom, wrapping the whole lot in a module is a good plan

-
@remus said:
Thom, wrapping the whole lot in a module is a good plan

I think that if we agree on a base module name and set up a core script that contains a common menu and toolbar I think we could start exploring some practical examples.
I love how this thread has developed.

-
I think the tool should work for certain tasks for urban designers and architects. All the roads and buildings should have parameters so that they are all built parametrically, using pre-defined allowances for height, floor height, window coverage, etc.
Thats all wonderful and important so that a single building type can be use to create random buildings using pre-set paramters.
But I don't want to get into designing urban design tools into the thing. Not at this point anyhow. Thats what modelur is for, right?
Chris
-
@chris fullmer said:
I think the tool should work for certain tasks for urban designers and architects. All the roads and buildings should have parameters so that they are all built parametrically, using pre-defined allowances for height, floor height, window coverage, etc.
I like your thinking, although i think it would be good to hide these nitty gritty details in a similar manner to skindigo i.e. have one panel with a big 'make city' button and one panel with all the variables in.
Thom, how about City_Gen as a base module name? nice and simple...
-
@chris fullmer said:
But I don't want to get into designing urban design tools into the thing. Not at this point anyhow. Thats what modelur is for, right?
Chris
chris,
you and the others, as the authors of the soon-to-be great plugin, should be the ones to decide in which direction it goes. it is just that i have been craving for an easy and cheap urban design tool for long. modelur is still a WIP; it is not a full blown UD app yet.i can hardly wait what you guys will come up with.
regards.
-
I think modelur will be released before this project will have its first release.
But feel free to express your ideas. One of the main things here is that due to modular design, things can be added by anyone. So if you describe your idea it could be picked up by someone that'd be interested in contributing.
-
ok, its taken longer than expected (due to some modeling snafus on my part) but here is a quick mock up model that shows a possible workflow. It starts at the user drawing road cetnerlines (which really could also be automated) and continues on to a full built city using some of the idea's we've expressed here.
And even if I didn't specifically say it, everything in my mind is modular also. So the road creation is only one possible way to create roads. Same with the block subdividing, and the buildings. The buildings were made quickly using my greeble script. It would be more interesting to seem them with real textures on or made with real architectural detail to them. But that will come in time.
Chris
-
Nice presentation Chris.
I've been wondering how you define what the colour coding means.
Take the street building module for instance:
Default colour, means default settings of your average street. (Some dialogue would be required to set this I guess.)
Custom colours define more specific types - let say we use red for main roads. Do we bring up a new dialog to define these, or can we provide the info in the material name?Example:
CG_Street_Main_W15000
CG -> [Constant] City Generator. Initial tag to mark a material as a CG material.
Street -> [Constant] Refer to the module, or type which it's used for.
Main -> [Variable] String identifying the type of street.
W15000 -> [Variable] W = Width - variable name. 15000 is the variable number.Is this a bit too technical? Would an average user find this an easy way to set up custom street types?
Or maybe it should have a dialoge to generate the appropriate material? It could still be a nice feature to keep the data in the material name instead of an attribute dictionary as it could easily be modified.
-
@thomthom said:
Or maybe it should have a dialoge to generate the appropriate material? It could still be a nice feature to keep the data in the material name instead of an attribute dictionary as it could easily be modified.
I think it might be too technical to expect someone to be able to manually input that info into the material name. So a nice dialog would probably be beneficial. And it can name the material itself.
-
I really wish there was an MaterialObserver event that returned the entity being painted...
-
Its ok, we can do it without it. I'm a little scared of observers currently. Maybe I'll get over it, but I feel like they are so shaky....
I see it as a process like this:
Paint road centerlines
click "Generate Roads"Paint or auto-paint faces
click "Subdivide Land into Parcels"Click "Generate Buildings"
And done.
Each of those windows would have an available simple interface, or also an expoert mode with lots more bells and whistles.
So there's no need to watch what is being painted one at a time, you can jsut iterate through everything in the "generate" process.
Chris
-
I think itd be a good idea to use the colour of the material as a visual indicators of the type of road/building, as well as the name of the material itself. I imagine a quick and dirty conversion from the street type/building height to a grayscale colour would do.
-
@remus said:
I imagine a quick and dirty conversion from the street type/building height to a grayscale colour would do.

-
I uploaded a first rough draft for the core: http://forums.sketchucation.com/viewtopic.php?f=180&t=19492
And the Street Generator module: http://forums.sketchucation.com/viewtopic.php?f=180&t=19493
I was thinking that we could continue the over all concept discussion here. And use the two other threads for specific development discussion.
I figured that unless we split the development discussion for each module the thread would become very confusing quickly. Feel free to suggest different organization. I just wanted to get something out there. -
Just feel free, Thom, to organise the discussion as you guys need. I see both Remus and Chris is in the "team" and since they are mods as well, they can easily move/split/merge topics/posts.
Once you get to a stage, we can even create a new/temporary subforum to collect all the discussions if really needed.
Advertisement