well I'm no expert myself, but selecting everything and doing a smart UV project and then scaling all the faces up in the UV editor in edit mode should get all the buildings to get textured right. after that, one would need to texture the roofs, which might be easier if the top faces are selected from a top down orthographic view and assigned a different material
or i can get this unreal engine pack add a few more buildings and copy to a map with edges and water drop a water shader i have and done ua-cam.com/video/7kZbf2Xa6qc/v-deo.html
Texturing the buildings: 1. Use two Shaders on a material (one for the walls, the other one for the roofs) 2. Mix them together 3. Add a Geometry node and connect the Normal output to a Seperate XYZ node 4. Use the Z output from the Seperate XYZ Node as mix input on your mix shader Now you can freely customise roofs and walls separately. P.S.: If you want to add a little bit of randomness in your Houses and use different Textures/Materials 1. Go to Edit Mode and Edit Vertices 2. ALT+A to unselect everything then go to Select -> Select Random 3. Fiddle around with the Random Select Settings as you like 4. Hit CTRL+L to select every linked vertex to the randomly selected ones (you now have random selected houses) 5. Just duplicate your material, assign it to the selection and change textures/material as you like Thats how I would do it. Nice video, btw enjoyed watching ^^ Edit: Just fixed spelling and Low/Uppercase for convenience. If anything is still wrong please tell me I could improve on my english writing :)
Quick tip for texturing the buildings: 1-Press 1 on numpad. 2-Select all side faces. 3-Press "U" > "Project from view". 4-Go to UV editor and align things there. Then do the same for the top view. Note that this is quick and dirty, it will work for far objects, and you need to manually add details an tweak the UVs for the close ones.
My bash. I've got 3 textures to use/random up a bit. (offices at night). Select them all buildings first, apply a decent/common texture, cube map it. Stretch it out so it's the right dimensions to fit and looks ok. Next Click one side of a building, Select, select Similar, perimeter. A few faces all over the city will suddenly select. Shift+ to select adjoining walls. Apply texture. Move around a bit, select the side of another building, select similar Perimeter, Shift+, apply next texture. Cycling between just a few textures, it's not random, but varied enough for now. Entire city with a bit of variation in a few clicks. Same procedure should look good if you can get more textures. Then for the roofs; Click the top of one roof. Select Similar Normals, that appears to select all the roofs and only the roofs.
maybe add a mesh object underneath each section then use a generated terrain height map as base plane then add a mesh mod to each upper layer and shrinkwrap the mesh over the base terrain for each one. might work
For height variation in the buildings, you can select one roof, then select similar by normal. Hide unselected. Select a single rooftop. Turn on proportional editing, choosing random falloff, and increase proportional size until it covers the rooftops you want to change. Raise the roof on Z-axis. Set pivot center to individual origins. Select all of the roofs and scale to 0 on the Z-axis.
Select buildings. P to select loose parts. Click your 3D cursor is on the ground. Set the origins to the 3d cursor. In the search bar enter "randomize transform" and adjust the Z(3rd) value to randomize the height. Cheers.
I have a couple ideas to texture all buildings. 1) in blender edit mode. mesh, separate, by loose parts. Now they are separate objects 2) select all the buildings in object mode and use tab to go to edit mode, press A to select all verts, then use unwrap. 3) open the uv editor in another pane, grab all the points and scale them down by half and put them to the side (these are the walls) 4) go back to the main view and deselect all with A. 5) numpad 1 to move view to the side 6) use box select(b) to select all the roofs 7) go back to the uv editor to drag the roof verts away to another place 8) draw a texture for the uvs Or just use step 1 of the above, delete all meshes, use a script in whatever game engine to place premade prefabs at the position of each building.
I was looking for a tool like this for years, literally. There was a time I wanted to make a game that happened in a city, and I wanted to make a realistic city procedurally. At the time I only found paid options.
You can select just the walls by the "select similar" option (once you converted them to quads using the "tris to quads" function) and then unwrap them all using the lightwrap method. Than make a collage of a bunch of different building facades and alighn it roughly with the uv's, just tweaking the ones that stand out as looking ugly or wrong. Same can be done for rooftops. If your city is far enough away, you may end up not even needing any adjustment of the uv's. This method is cool because you can throw your collage texture on a PBR map generator like materialize, to get some normals and roughness maps, and do some procedural textures to mix between multiple versions of the same material for more variation.
Second time for me as well. The first time for me was in some Flutter video. Either way, the word ping already has a different meaning so I don't love that at all.
Just found this channel, and found so much good stuff and softwares that I can use in my architectural workflow! Thank you for these videos and keep it up!
I used to generate city maps from scratch by drawing them by hands for fun with whole bus/metro lines penciled with colored markers when I was a child more than 25 years ago...Now there's a procedural city generator to cut corners on computers. What a time to be alive!
You could link the material instance and use a planar projection, meaning you should project UV's from a generalized building onto all buildings for a starter. That will fill out the scene. You could randomize this using a more complex shader, like using noise, or other randomization methods like gradient ramps on the mapping of the texture coordinates like when used to send random color for groups of objects, potentially you could block out the whole scene onto a very packed UV and then just constrain most UV's to your needed region, like that you could specifically tweak what's needed. Although a one by one approach will give best results, I guess randomizing the coordinates using a shader like I mentioned above could also work...
If you select a rooftop, shift+G to select by normal, then assign a roof material. Then hit ctrl+I to invert selection and use cube projection to unwrap all the city buildings.
Personnally, this what I do for texturing buildings in large cities (talking thousands of buildings here) : 1/ Go to edit mode, select a roof with face mode, then select by normal. Then separate by selection. You've now disconnected all the roofs from their respective buildings 2/ Get out of edit mode, select the buildings, then back in edit mode. Now I select all the buildings and we can unwrap any way we want (Smart UV project, cube projection, make each corner a seam and unwrap...). What I like to do if my material isn't procedural is to not unwrap anything and set my textures to "box" and use Generated texture coordinates. Then it's just a matter of playing with X Y and Z scales. 3/ With all buildings selected, I apply a first complete façade material. That's the base, every building will have this by default. Then I introduce variation : 4/ I deselect everything, and Select Random in face mode. I put the proportion on the bottom left panel between 1 and 5% 5/ I press Ctrl+L to select buildings containing these random faces. Now I have from a few to many random buildings selected 6/ I apply a new complete façace material to those buldings 7/ Repeat 4-5-6 with different materials until you're satisfied 8/ Also do 4-5-6 with the roofs And there you go.
Introversions City Generator, there are some OLD videos from them on this, seem to work more easily. 1. Start with basic geography. This will also include added bodies of water although ground height based water for lakes and oceans would not be that hard. 2. Paint (Vertex paint mapping) the urban density. This also defines where the tall buildings will be. 3. Let the program procedurally generate the road map. This can include bridges. Possibly tunnels as well but this was never shown. 4. Generate buildings. Blocks are broken down to fit multiple buildings. Easy-peasy Macroni Cheesy! There were some videos showing fully fleshed out buildings. This was a tool developed for a game I don't think they ever finished. They never even released the tool as a tool for 3D, level development and so on. Also, Blender used to have a add-in or script, never sure which, "Blended Cities", that allowed Blender 2.45 or so to have city building tools not unlike "Cities XL". It did not go beyond simple blocks to stand in for buildings. The Script fell into obscurity, probably because someone said it would be added to Blender but never was. It is hard to imagine any competent City generator would be ever be forgotten by the Blender community. "City Generator" may well be the first open source city generator made available in a long time, if ever, I am aware of.
Cscape does everything for you including the city, river, building texturing and includes a bunch of options. I'd love to see you cover it. It's an interesting asset for unity. I bought it and LOVE playing with it. It's super simple.
For texturing semi-quickly, Here's my work flow. 1) Create 2 vertex groups (by default the first will have all verts/faces) 2) Go into front orthographic view, and then into wireframe mode so you can select "through" objects. 3) With Face select mode, select all faces that are not facing the z axis. ( a long horizontal box select across the x axis not selecting the tops or bottoms of the buildings) 4) Assign the selected faces to vertex group 2. 5) Now that the sides of buildings are in vertex group 2, and the tops are in vertex group 1, you can easily create two separate texture uv unwraps. If you want to create some randomness, deselect random buildings with the circle tool and assign to new vertex groups and then assign a new uv map for the new group. This can be repeated as often as you want for various different textures.
In C4D, I would split off the bases from the rest, leaving disparate unconnected "buildings" you can then use a command "Polygon groups to objects". Now you have separate buildings as separate objects, allowing you to assign different materials to each.
For texturing and UV mapping: First convert the boxes by selecting all and either with tris to quads or limited dissolve. Because we want the textures to wrap to the proportions of the buildings we can use reset. We could then fix stretching by Select similar menu(Shift+G)
If you use a Glossy BSDF shader (plugged into the material output) and a Brick texture (in the displacement socket of the material output) - Along with a texture coordinate node plugged into the Brick texture - Then using a separate cube as a reference object to control the rotation and scale of the Brick texture (turn off offset in the brick texture) this creates a pretty good looking glass surface for all the buildings using just one material. I learnt this from Ian Hubert and his creating cities vid. - One issue it does limit the city to just glass looking buildings.
1st thing that comes in mind is to skin off normal map from buildings and select ranges of colors to select unidirectional faces (easy, since it's not gradual), or make a script that excludes faces from already selected by the same principle using normal directions. Something like that. Man, I like the idea of controlled procedural creativity of any sort. It's like drawing in watercolors, if you know what I mean ;)
binary trees with nodes work just as well, calculations of enclosed space can be calculated with the distance from a block search (where left and right for 2 nodes equates alternated equal children nodes for major intersections). Then it's volume calculations for total amount of space allowed for specific types of buildings. The fun part is noticing how simple the buildings are and the rate of travel calculation to allow for customizable building generation which includes interiors for buildings. This is usually equated by the usage of other plugins or managing sectional data and calculating building architecture based upon zoning (which could be simi-random). There's numerous other variables that could be played with, such as population density equating to structure or even layout (for streets) computations, along with actual animations based upon city density which would be optimized by zoning and density algorithms.
You can scale just the height of the building by a factor of 10 so you can select all the vertical polygons using the Z view, after that you can just unwrap all the polygons over the texture using bounds and end up with somewhat align UV textures in a row.
for texturing it could be done selecting gor example one side of a building, then go to select similar, normal. This will select all faces facing in the same direction. then go to the orthographic view that is at the front of your selection and project the uv from view. do the same for each face o the buildings and assign a texture for the roofs and different ones for the sides. its very simple to do and deals with the problem of stretched out textures from proyecting from a single view.
for texturing I'd seperate into one object per building, do a few variations of textured buildings, hide all non buildings, do select > random and then tune the settings that open up bottom left, shift select a textured building so it is active, ctrl+L and select materials, then hide the textured ones before repeating from select random.
Probably not what you´re looking for exactly, but.. this is a fantasy map generator and it publishes a very fun twitter bot to follow: mewo2.com/notes/terrain/ twitter.com/unchartedatlas
@@juancibantos3633 Thanks! The first one is more like a terrain generator and you can combine it with the town generator yourself to make a complete area map.
Using Separate XYZ on texture generated UV with 1 mapping for X and a 90° mapping texture rotation for the Y. Dont forget to normalise to get opposite direction in count. mix those by masking X&Y after the Vector input or before if you prefer using mix RGB. plug vectors in the 2D texture. This way you can use multiple texture inputs and play now with random per face or island in the newest version on blender in cycles. If eevee, Create randomness per objects Island is tricky because not ready to use but with a bit of node work it is quite easy to get it. Use Z for roof textures
Furious with this recommendation... Because I've spent the past 3 weeks struggling with procedurally generating cities from scratch and they are definitely not this good
For texturing, maybe you can use triplanar method to mask between the wall and roof, and ID every elements to have different kind of textures for each building. there are methods using triplanar so that you dont even have to unwrap the UV. In UE this is pretty easy.
Click one building roof. Select -> Similar -> Normal; Separate -> Selection; (rename new collection to "roofs"); You can do the same for floors (or delete them), which leaves the original Buildings collection as walls.
Does this tool only do US American city layouts? Texturing could be greatly facilitated by the generator to produce dummy textures that one could then replace.
to help with building textures, I would put a solid color on each face (to expedite the process, you would have to probably write a script that searches for all faces that do NOT have their normals facing Down - Up normal for rooftops of course) - use a separate material for each (and a unique color on each face you want to look unique). Create an exact duplicate of the buildings in place, put a single material on the duplicate set of buildings, then bake/transfer the colors out as a new texture (for something like this you could probably get away with an 8K resolution) this will serve as your ColorID texture map for your city buildings. Open Quixel Mixer and import your custom mesh (all those buildings!) and set the MaterialID to be that map you baked. Finally, start making those smart materials work for you!
PS, not a blender guy - I'm a maya guy through and through but I imagine the transfer/baking of maps is pretty much the same technically (not procedurally obviously).
the best way by far to utilise this technique is probably by using houdini’s capabilities to procedurally add contextual geometry detail onto buildings, unsure about houdini’s texturing capabilities but it may be capable of that too!
Would be cool if you could export buildings as a data file containing position, rotation, and dimensions. Then you could just put your own prefabs in what ever game engine you use.
been looking at this program for a Spycraft game for a little while. I wanted to have the players be in a city where the entire campaign takes place in and I was thinking about making one by hand alone, until i came across this program, the only other one there is is 100 bucks and i'm not going to spend that much on a campaign that might fall through Great video
I mean, unless you're in california, not a lot of cities have sharp divides between urban and subdivision, it gets less "city-like" spread out over a lot of area. Does it account for sub-divisions within cities? Like, could you use this for a town?
In short, write a .bpy script that 1 separates each mesh into an individual object, 2 goes/loops through all the building objects in the scene (selects, enters edit mode, makes adjustments, exists edit mode) 3 figure out what steps and instructions you need to take in the "edit mode part of the script" to make the magic happen. For starters you should select the faces by orientation their normals in the world (so you could differentiate roof tops from side walls) Then apply textures in scale according to mesh face edge size. Blender scripting is well documented ;)
There was a very old tutorial by Gleb Alexandrov to solve issues with texturing, something like "how to generate a town", don't remember exactly. He used .OSM files but the idea is the same. There's a tool to import 3D models directly from Google Earth (not completely legal, I guess). Or a GIS importer for blender.... I mean, it's full of towns out there ;-)
Blender 3.6 here, when i use the boolean tool on the sea it doesnt subtract it for some reason, i hide the sea after and the domain is still a rectangular plane. This is after extruding the domain plane and the sea Edit SOLVED: nevermind i just had to recalculate my normals first
Really nice, writing this down on things to try. Looks to me that the .STL importing could be very well automated with python scripts, it looks for the ‘domain’ file and then joins/subtracts/just-opens the others. For the buildings texturing, not too sure about blender, but I think that something like it’s done in video games, worldspace box mapping or ‘interior mapping’ could be something doable with the shader nodes and the height used to replace the bottom ground with building entrance textures. For extra crazyness, pretty sure some Houdini wizards could get those buildings and assign random rooftops, side details, and whatnot... and make it be destroyed by a meteorite or something.
No need for UV mapping. To quickly texture the buildings in Blender 3d, first in edit mode, dissolve all your building faces to get rid of triangles. Break up the buildings using random selection (tiny value amount) and then Ctrl L to select the full buildings, then assign new materials to the selected. Repeat for each building style you want, I used 10 building images to give a decent amount of variance. Then for materials nodes, use “object” as your source coordinate and “box projection’ in your image node. Resize textures to fit properly, Also select one roof poly and then tell blender to select all similar norms and then add a material to it.
You don't need 2.91 for the boolean operation, since you only ran a difference operation you can just extrude the sea as high as you want or as low as you want and apply, not sure where you got the information of the boolean operations not supported on 2.9 from.
I would take the linework or rather make the line work of the buildings and make a rail close generator for the building. You would still need some setup time, but once you got it setup should work pretty well
i think ian hubert's city tutorial could help with a quick and dirty solution for texturing the buildings, not gonna link it because youtube hates links but look up ian hubert, he's a little fast but he has some really good stuff
@@lawrencedoliveiro9104 no that would take ages to do a whole city lol, I was talking about this one ua-cam.com/video/JjnyapZ_P-g/v-deo.html it's a little sloppy but from a distance it works great
Hey can you recommend a free software for recording voices for voiceovers and creating soundtrack and scores * also should contain virtual instrument, thank you
Cakewalk and reaper are the only 2 good ones that actually fit what you want that people have commented. LMMS is just bad, and audacity doesn’t have instruments or the real DAW functionality like it seems you want. Edit - If you have a Mac or are comfortable using a VM, people look down on it, but for beginners and for completely free GarageBand is actually half decent.
For texturing there is a fast way with substance painter but the thing is not everyone have substance painter... But if you want i can explain how to do that
I haven't tried it yet but I think it should be possible to use the heightmap image he showed at the beginning and the particle system to place in buildings. It might make it a lot easier to texture said buildings and provide for more variability
I might recommend importing all of the .stl files in one go, just shift-select all of them in blender's import dialog. There might be a little z-axis fighting, but just a minor height adjust fixes that anyways.
What would be awesome would be for the generator to use tensors it set textures. This would allow things like defining "old quarters" or "re-developed zones" etc and then being able to auto map the textures when rendering. I realise STL files don't support texture and I have no idea if there is a file format that would support mapping textures to objects in stl files but I think it would be pretty cool if we could use the generator tool for this
I was really confused about you saying that you can't extrude from 0 width objects in blender, so I went ahead and tested it myself. What are you on about? It works just as you want it to. Press e, press axis key (in this case z), move mouse. Done, it extrudes.
Are you running the most current version? On older versions it works, in this case it does not. Import an STL file into Blender 2.90 with a Z width of 0, it E then say 2. It extrudes on the wrong axis.
I feel that this would be a great tool for planning out Minecraft cities. Say, if you want to build a city map in Minecraft, you could use this tool to create a rudimentary template, and build from there.
@@alvideos2145 the difference lies between planned out cities and naturally grown cities. Compare American city layouts to any city developed pre "british-colony" America, you will notice the difference at first sight.
can you import anything into this? id love to put in an existing heightmap/just a watermap or even an overlay to work on top of so i can make a city in an environment and map and not just standalone.
Might be possible to select the faces on one building first, after that try to select by same normals. This should select all the faces on the other buildings.
Is it possible to export this city from Blender, and import it into unreal or unity and resize it massively to create a gta like world that you can run around in?
Yes it’s a direct port, all you have to do is reset up materials in unreal engine. And your collisions once you get into unreal and you should be good.
Create a shader that chooses a cladding/external texture for vertical surfaces, and a roof texture for horizontal surfaces on that "buildings" object I'm unsure if you can create logical variation by having a few textures that project to connected faces only and cycle through that list at random Otherwise, break each building into a separate object, see if that helps
Link:
gamefromscratch.com/city-generator-hands-on/
I really wanted you to touch up on this one, my thing is how do you export it to unity & unreal
well I'm no expert myself, but selecting everything and doing a smart UV project and then scaling all the faces up in the UV editor in edit mode should get all the buildings to get textured right. after that, one would need to texture the roofs, which might be easier if the top faces are selected from a top down orthographic view and assigned a different material
You'd import it like I did in the video, then simply export in FBX or DAE
Thank you and this is a hidden gem on unity I would love your opinion
ua-cam.com/video/Tl6fGhyShGI/v-deo.html
or i can get this unreal engine pack add a few more buildings and copy to a map with edges and water drop a water shader i have and done
ua-cam.com/video/7kZbf2Xa6qc/v-deo.html
Texturing the buildings:
1. Use two Shaders on a material (one for the walls, the other one for the roofs)
2. Mix them together
3. Add a Geometry node and connect the Normal output to a Seperate XYZ node
4. Use the Z output from the Seperate XYZ Node as mix input on your mix shader
Now you can freely customise roofs and walls separately.
P.S.: If you want to add a little bit of randomness in your Houses and use different Textures/Materials
1. Go to Edit Mode and Edit Vertices
2. ALT+A to unselect everything then go to Select -> Select Random
3. Fiddle around with the Random Select Settings as you like
4. Hit CTRL+L to select every linked vertex to the randomly selected ones (you now have random selected houses)
5. Just duplicate your material, assign it to the selection and change textures/material as you like
Thats how I would do it.
Nice video, btw enjoyed watching ^^
Edit: Just fixed spelling and Low/Uppercase for convenience. If anything is still wrong please tell me I could improve on my english writing :)
or just ask mr hubert to take a look
thanks!
@@not_herobrine3752 I was thinking about it
@@lelledale3319 no problem ^^
Unfortunately the models seem to come in as tri faces not quads, so select random would probably produce some odd results
Quick tip for texturing the buildings:
1-Press 1 on numpad.
2-Select all side faces.
3-Press "U" > "Project from view".
4-Go to UV editor and align things there.
Then do the same for the top view.
Note that this is quick and dirty, it will work for far objects, and you need to manually add details an tweak the UVs for the close ones.
My bash.
I've got 3 textures to use/random up a bit. (offices at night).
Select them all buildings first, apply a decent/common texture, cube map it. Stretch it out so it's the right dimensions to fit and looks ok.
Next
Click one side of a building, Select, select Similar, perimeter. A few faces all over the city will suddenly select. Shift+ to select adjoining walls. Apply texture.
Move around a bit, select the side of another building, select similar Perimeter, Shift+, apply next texture.
Cycling between just a few textures, it's not random, but varied enough for now. Entire city with a bit of variation in a few clicks.
Same procedure should look good if you can get more textures.
Then for the roofs;
Click the top of one roof. Select Similar Normals, that appears to select all the roofs and only the roofs.
You can easily select all faces facing in one direction by going to Select->Similar->Normal and adjusting the Threshold
Wish there was more height variation in the buildings, and maybe even terrain
maybe add a mesh object underneath each section then use a generated terrain height map as base plane then add a mesh mod to each upper layer and shrinkwrap the mesh over the base terrain for each one.
might work
for terrain I believe you could do something like face snapping to the underlying terrain heights
For height variation in the buildings, you can select one roof, then select similar by normal. Hide unselected. Select a single rooftop. Turn on proportional editing, choosing random falloff, and increase proportional size until it covers the rooftops you want to change. Raise the roof on Z-axis. Set pivot center to individual origins. Select all of the roofs and scale to 0 on the Z-axis.
@@ghettomining Hmm that gives me some ideas thanks
Select buildings. P to select loose parts. Click your 3D cursor is on the ground. Set the origins to the 3d cursor. In the search bar enter "randomize transform" and adjust the Z(3rd) value to randomize the height. Cheers.
Tris to Quads first before texturing those buildings.
Anybody else twitch a little bit seeing all those triangles? ;)
@@lawrencedoliveiro9104 Yes. ;)
Triangles are perfectly fine here, it wouldn't make a difference.
no reason to change them to quads, especially considering how low poly they are
i was screming at monitor same thing
This would be perfect for Cities Skylines
not for traffic but probably for astethics
@@therealsourc3 maybe but you know you can fix traffic easy as Biffa taught.
@@therealsourc3 Skylines is a broken system for traffic. Unnecessarily flawed
I was thinking just that, I want to see biffa or james turner do a play of recreating a city generated like this
imagine using this to quickly make a city map for a game
dont worry, level designers arent out of work yet
I know, I was thinking more like making stuff like the not playable spaces with this
Space Engine will be fun then
That is exactly what I’m gunna do lmao
Imagine using this to make minecraft style(infinite generation) maps for something like a Spiderman game
I have a couple ideas to texture all buildings.
1) in blender edit mode. mesh, separate, by loose parts. Now they are separate objects
2) select all the buildings in object mode and use tab to go to edit mode, press A to select all verts, then use unwrap.
3) open the uv editor in another pane, grab all the points and scale them down by half and put them to the side (these are the walls)
4) go back to the main view and deselect all with A.
5) numpad 1 to move view to the side
6) use box select(b) to select all the roofs
7) go back to the uv editor to drag the roof verts away to another place
8) draw a texture for the uvs
Or just use step 1 of the above, delete all meshes, use a script in whatever game engine to place premade prefabs at the position of each building.
You can select a roof and select-->similar-->orientation. This helps with different building hight
I was looking for a tool like this for years, literally. There was a time I wanted to make a game that happened in a city, and I wanted to make a realistic city procedurally. At the time I only found paid options.
Yeh me too lol I'm making a zombie city game and I really needed this haha
You can select just the walls by the "select similar" option (once you converted them to quads using the "tris to quads" function) and then unwrap them all using the lightwrap method. Than make a collage of a bunch of different building facades and alighn it roughly with the uv's, just tweaking the ones that stand out as looking ugly or wrong. Same can be done for rooftops. If your city is far enough away, you may end up not even needing any adjustment of the uv's. This method is cool because you can throw your collage texture on a PBR map generator like materialize, to get some normals and roughness maps, and do some procedural textures to mix between multiple versions of the same material for more variation.
This is the second time I've heard someone refer to a .PNG as a "ping" and not a "P-N-G," and I love it
pee en ji
Pong
Peenege
I'm probably in the mirror world, and I loathe it.
Second time for me as well. The first time for me was in some Flutter video. Either way, the word ping already has a different meaning so I don't love that at all.
Dude... For someone studying to be a civil planner... THIS IS AWESOME!
5:04
'F' for the default cube
F
f
F
F for the companion cube.
F
This is absolutely incredible. So organic in nature.
Food level implies level of buildings
And jobs
Billa Plus
Just found this channel, and found so much good stuff and softwares that I can use in my architectural workflow! Thank you for these videos and keep it up!
I used to generate city maps from scratch by drawing them by hands for fun with whole bus/metro lines penciled with colored markers when I was a child more than 25 years ago...Now there's a procedural city generator to cut corners on computers. What a time to be alive!
search up the game Cities Skylines, literally perfect for you
You could link the material instance and use a planar projection, meaning you should project UV's from a generalized building onto all buildings for a starter. That will fill out the scene. You could randomize this using a more complex shader, like using noise, or other randomization methods like gradient ramps on the mapping of the texture coordinates like when used to send random color for groups of objects, potentially you could block out the whole scene onto a very packed UV and then just constrain most UV's to your needed region, like that you could specifically tweak what's needed. Although a one by one approach will give best results, I guess randomizing the coordinates using a shader like I mentioned above could also work...
Pretty much exactly liek what I was looking for about five years ago! Finally.
If you select a rooftop, shift+G to select by normal, then assign a roof material. Then hit ctrl+I to invert selection and use cube projection to unwrap all the city buildings.
Personnally, this what I do for texturing buildings in large cities (talking thousands of buildings here) :
1/ Go to edit mode, select a roof with face mode, then select by normal. Then separate by selection. You've now disconnected all the roofs from their respective buildings
2/ Get out of edit mode, select the buildings, then back in edit mode. Now I select all the buildings and we can unwrap any way we want (Smart UV project, cube projection, make each corner a seam and unwrap...). What I like to do if my material isn't procedural is to not unwrap anything and set my textures to "box" and use Generated texture coordinates. Then it's just a matter of playing with X Y and Z scales.
3/ With all buildings selected, I apply a first complete façade material. That's the base, every building will have this by default. Then I introduce variation :
4/ I deselect everything, and Select Random in face mode. I put the proportion on the bottom left panel between 1 and 5%
5/ I press Ctrl+L to select buildings containing these random faces. Now I have from a few to many random buildings selected
6/ I apply a new complete façace material to those buldings
7/ Repeat 4-5-6 with different materials until you're satisfied
8/ Also do 4-5-6 with the roofs
And there you go.
Introversions City Generator, there are some OLD videos from them on this, seem to work more easily.
1. Start with basic geography. This will also include added bodies of water although ground height based water for lakes and oceans would not be that hard.
2. Paint (Vertex paint mapping) the urban density. This also defines where the tall buildings will be.
3. Let the program procedurally generate the road map. This can include bridges. Possibly tunnels as well but this was never shown.
4. Generate buildings. Blocks are broken down to fit multiple buildings. Easy-peasy Macroni Cheesy!
There were some videos showing fully fleshed out buildings. This was a tool developed for a game I don't think they ever finished. They never even released the tool as a tool for 3D, level development and so on.
Also, Blender used to have a add-in or script, never sure which, "Blended Cities", that allowed Blender 2.45 or so to have city building tools not unlike "Cities XL". It did not go beyond simple blocks to stand in for buildings. The Script fell into obscurity, probably because someone said it would be added to Blender but never was. It is hard to imagine any competent City generator would be ever be forgotten by the Blender community.
"City Generator" may well be the first open source city generator made available in a long time, if ever, I am aware of.
Oh, how I love this channel. Honestly wish I knew about this last year haha
Cscape does everything for you including the city, river, building texturing and includes a bunch of options. I'd love to see you cover it. It's an interesting asset for unity.
I bought it and LOVE playing with it. It's super simple.
For texturing semi-quickly, Here's my work flow.
1) Create 2 vertex groups (by default the first will have all verts/faces)
2) Go into front orthographic view, and then into wireframe mode so you can select "through" objects.
3) With Face select mode, select all faces that are not facing the z axis. ( a long horizontal box select across the x axis not selecting the tops or bottoms of the buildings)
4) Assign the selected faces to vertex group 2.
5) Now that the sides of buildings are in vertex group 2, and the tops are in vertex group 1, you can easily create two separate texture uv unwraps.
If you want to create some randomness, deselect random buildings with the circle tool and assign to new vertex groups and then assign a new uv map for the new group. This can be repeated as often as you want for various different textures.
In C4D, I would split off the bases from the rest, leaving disparate unconnected "buildings" you can then use a command "Polygon groups to objects". Now you have separate buildings as separate objects, allowing you to assign different materials to each.
For texturing and UV mapping:
First convert the boxes by selecting all and either with tris to quads or limited dissolve.
Because we want the textures to wrap to the proportions of the buildings we can use reset. We could then fix stretching by Select similar menu(Shift+G)
That's it, I'm making Morioh
Beautiful Duwang
It's too Crazy and Noisy
start an open source project
If you use a Glossy BSDF shader (plugged into the material output) and a Brick texture (in the displacement socket of the material output) - Along with a texture coordinate node plugged into the Brick texture - Then using a separate cube as a reference object to control the rotation and scale of the Brick texture (turn off offset in the brick texture) this creates a pretty good looking glass surface for all the buildings using just one material. I learnt this from Ian Hubert and his creating cities vid. - One issue it does limit the city to just glass looking buildings.
1st thing that comes in mind is to skin off normal map from buildings and select ranges of colors to select unidirectional faces (easy, since it's not gradual), or make a script that excludes faces from already selected by the same principle using normal directions. Something like that.
Man, I like the idea of controlled procedural creativity of any sort. It's like drawing in watercolors, if you know what I mean ;)
binary trees with nodes work just as well, calculations of enclosed space can be calculated with the distance from a block search (where left and right for 2 nodes equates alternated equal children nodes for major intersections). Then it's volume calculations for total amount of space allowed for specific types of buildings. The fun part is noticing how simple the buildings are and the rate of travel calculation to allow for customizable building generation which includes interiors for buildings. This is usually equated by the usage of other plugins or managing sectional data and calculating building architecture based upon zoning (which could be simi-random). There's numerous other variables that could be played with, such as population density equating to structure or even layout (for streets) computations, along with actual animations based upon city density which would be optimized by zoning and density algorithms.
You can scale just the height of the building by a factor of 10 so you can select all the vertical polygons using the Z view, after that you can just unwrap all the polygons over the texture using bounds and end up with somewhat align UV textures in a row.
for texturing it could be done selecting gor example one side of a building, then go to select similar, normal. This will select all faces facing in the same direction. then go to the orthographic view that is at the front of your selection and project the uv from view. do the same for each face o the buildings and assign a texture for the roofs and different ones for the sides. its very simple to do and deals with the problem of stretched out textures from proyecting from a single view.
for texturing I'd seperate into one object per building, do a few variations of textured buildings, hide all non buildings, do select > random and then tune the settings that open up bottom left, shift select a textured building so it is active, ctrl+L and select materials, then hide the textured ones before repeating from select random.
Is there any medieval town generator? Fantasy theme is pretty strong in gaming community.
watabou.itch.io/medieval-fantasy-city-generator
@@plutoisalsoaplanet6245 Oh yeah. You're the man. Thanks
Probably not what you´re looking for exactly, but.. this is a fantasy map generator and it publishes a very fun twitter bot to follow: mewo2.com/notes/terrain/
twitter.com/unchartedatlas
@@juancibantos3633 Thanks! The first one is more like a terrain generator and you can combine it with the town generator yourself to make a complete area map.
Oh hey there :3/
Fancy seeing another potato around here :3c
Finally. My country needs more cities.
Using Separate XYZ on texture generated UV with 1 mapping for X and a 90° mapping texture rotation for the Y. Dont forget to normalise to get opposite direction in count. mix those by masking X&Y after the Vector input or before if you prefer using mix RGB. plug vectors in the 2D texture. This way you can use multiple texture inputs and play now with random per face or island in the newest version on blender in cycles. If eevee, Create randomness per objects Island is tricky because not ready to use but with a bit of node work it is quite easy to get it. Use Z for roof textures
Furious with this recommendation... Because I've spent the past 3 weeks struggling with procedurally generating cities from scratch and they are definitely not this good
Bro, this method looks like shit LMAO
@@Ulexcoolthen make a better one LMAO
For texturing, maybe you can use triplanar method to mask between the wall and roof, and ID every elements to have different kind of textures for each building. there are methods using triplanar so that you dont even have to unwrap the UV. In UE this is pretty easy.
The "Solidify" modifier allows you to extrude flat geometry.
No need to do a "zero extrude" then move the new faces.
Click one building roof. Select -> Similar -> Normal; Separate -> Selection; (rename new collection to "roofs"); You can do the same for floors (or delete them), which leaves the original Buildings collection as walls.
Does this tool only do US American city layouts? Texturing could be greatly facilitated by the generator to produce dummy textures that one could then replace.
to help with building textures, I would put a solid color on each face (to expedite the process, you would have to probably write a script that searches for all faces that do NOT have their normals facing Down - Up normal for rooftops of course) - use a separate material for each (and a unique color on each face you want to look unique). Create an exact duplicate of the buildings in place, put a single material on the duplicate set of buildings, then bake/transfer the colors out as a new texture (for something like this you could probably get away with an 8K resolution) this will serve as your ColorID texture map for your city buildings. Open Quixel Mixer and import your custom mesh (all those buildings!) and set the MaterialID to be that map you baked. Finally, start making those smart materials work for you!
PS, not a blender guy - I'm a maya guy through and through but I imagine the transfer/baking of maps is pretty much the same technically (not procedurally obviously).
can you merge coplanar faces in Blender?
I converted it to an obj and did that in Carrara 3D and applied box UV mapping and it's not too bad
the best way by far to utilise this technique is probably by using houdini’s capabilities to procedurally add contextual geometry detail onto buildings, unsure about houdini’s texturing capabilities but it may be capable of that too!
Would be cool if you could export buildings as a data file containing position, rotation, and dimensions. Then you could just put your own prefabs in what ever game engine you use.
"Toronto"... ?
You have my attention Sir!
Ian Hubert has a great tutorial on texturing cities.
been looking at this program for a Spycraft game for a little while. I wanted to have the players be in a city where the entire campaign takes place in and I was thinking about making one by hand alone, until i came across this program, the only other one there is is 100 bucks and i'm not going to spend that much on a campaign that might fall through
Great video
I mean, unless you're in california, not a lot of cities have sharp divides between urban and subdivision, it gets less "city-like" spread out over a lot of area.
Does it account for sub-divisions within cities? Like, could you use this for a town?
Inspiration for CITIES SKYLINES!
Oh man, this could be really awesome, if you can control the size of the city then it could be really helpful for small indie devs
This is beautiful especially for planning stuff in cities skylines
In short, write a .bpy script that
1 separates each mesh into an individual object,
2 goes/loops through all the building objects in the scene (selects, enters edit mode, makes adjustments, exists edit mode)
3 figure out what steps and instructions you need to take in the "edit mode part of the script" to make the magic happen.
For starters you should select the faces by orientation their normals in the world (so you could differentiate roof tops from side walls)
Then apply textures in scale according to mesh face edge size.
Blender scripting is well documented ;)
There was a very old tutorial by Gleb Alexandrov to solve issues with texturing, something like "how to generate a town", don't remember exactly. He used .OSM files but the idea is the same.
There's a tool to import 3D models directly from Google Earth (not completely legal, I guess).
Or a GIS importer for blender.... I mean, it's full of towns out there ;-)
I think in the 2.83 you can select one and use the select settings and choose select similar. and unwrap whole groups for each type.
Can the city generator export the building transforms so we can use instance instead?
Blender 3.6 here, when i use the boolean tool on the sea it doesnt subtract it for some reason, i hide the sea after and the domain is still a rectangular plane. This is after extruding the domain plane and the sea
Edit SOLVED: nevermind i just had to recalculate my normals first
Really nice, writing this down on things to try.
Looks to me that the .STL importing could be very well automated with python scripts, it looks for the ‘domain’ file and then joins/subtracts/just-opens the others.
For the buildings texturing, not too sure about blender, but I think that something like it’s done in video games, worldspace box mapping or ‘interior mapping’ could be something doable with the shader nodes and the height used to replace the bottom ground with building entrance textures.
For extra crazyness, pretty sure some Houdini wizards could get those buildings and assign random rooftops, side details, and whatnot... and make it be destroyed by a meteorite or something.
No need for UV mapping. To quickly texture the buildings in Blender 3d, first in edit mode, dissolve all your building faces to get rid of triangles. Break up the buildings using random selection (tiny value amount) and then Ctrl L to select the full buildings, then assign new materials to the selected. Repeat for each building style you want, I used 10 building images to give a decent amount of variance. Then for materials nodes, use “object” as your source coordinate and “box projection’ in your image node. Resize textures to fit properly, Also select one roof poly and then tell blender to select all similar norms and then add a material to it.
You don't need 2.91 for the boolean operation, since you only ran a difference operation you can just extrude the sea as high as you want or as low as you want and apply, not sure where you got the information of the boolean operations not supported on 2.9 from.
Adversarial generative neural network for painting all the buildings?
Can't you just go to isometric sideview and boxselect all the sides while also in wireframe view?
Wonder if there's a way I could put in a image of one of Azgaars generated maps and have it fill out like a continent.
I would take the linework or rather make the line work of the buildings and make a rail close generator for the building. You would still need some setup time, but once you got it setup should work pretty well
Would be nice if you could input a set of textures in the generator, and it would distribute the randomly between buildings.
This is something that Elite Dangerous might need.
i think ian hubert's city tutorial could help with a quick and dirty solution for texturing the buildings, not gonna link it because youtube hates links but look up ian hubert, he's a little fast but he has some really good stuff
This one ua-cam.com/video/v_ikG-u_6r0/v-deo.html ?
@@lawrencedoliveiro9104 no that would take ages to do a whole city lol, I was talking about this one ua-cam.com/video/JjnyapZ_P-g/v-deo.html it's a little sloppy but from a distance it works great
Ayyyyyy toronto blender user here! thanks for the videos !
Hey can you recommend a free software for recording voices for voiceovers and creating soundtrack and scores * also should contain virtual instrument, thank you
One of the better free DAWs is Cakewalk by BandLab. It supports VST2 and 3. For pure voice recording you can use Audacity.
Audacity
reaper isnt technically free but it has an infinite trial
Cakewalk and reaper are the only 2 good ones that actually fit what you want that people have commented. LMMS is just bad, and audacity doesn’t have instruments or the real DAW functionality like it seems you want.
Edit - If you have a Mac or are comfortable using a VM, people look down on it, but for beginners and for completely free GarageBand is actually half decent.
This is awesome for my Minecraft city project I'm building!
Awesome!
For texturing there is a fast way with substance painter but the thing is not everyone have substance painter...
But if you want i can explain how to do that
Would love to know.
@@fleshyindividual3220 alright, then I'll make a tutorial on my other channel I'll send you the link when it's done
I would like to know as well
I haven't tried it yet but I think it should be possible to use the heightmap image he showed at the beginning and the particle system to place in buildings. It might make it a lot easier to texture said buildings and provide for more variability
Should i proceduraly generate the city in blender or in a game engine? Which process do you think is better?
You can use procedural (in blender) texture for the building
I might recommend importing all of the .stl files in one go, just shift-select all of them in blender's import dialog. There might be a little z-axis fighting, but just a minor height adjust fixes that anyways.
Really cool, but I don't know what I would use this for except for it's just cool.
Only IGN thinks there's too much water.
this is just perfect for the game I wanted to make
What would be awesome would be for the generator to use tensors it set textures. This would allow things like defining "old quarters" or "re-developed zones" etc and then being able to auto map the textures when rendering. I realise STL files don't support texture and I have no idea if there is a file format that would support mapping textures to objects in stl files but I think it would be pretty cool if we could use the generator tool for this
Is there a way to create a digital twin from a real city? Instead of it being generated random ?
do you know of a way to import OSM (open street map) data? that would let us use real world places and buildings.
The one ya made early on in the video be lookin like a crazy noisy bizarre town if ya ask me
Might use this for NationStates. I’ve always wanted to map out my major cities!
I was really confused about you saying that you can't extrude from 0 width objects in blender, so I went ahead and tested it myself.
What are you on about? It works just as you want it to. Press e, press axis key (in this case z), move mouse. Done, it extrudes.
Are you running the most current version? On older versions it works, in this case it does not. Import an STL file into Blender 2.90 with a Z width of 0, it E then say 2. It extrudes on the wrong axis.
I feel that this would be a great tool for planning out Minecraft cities. Say, if you want to build a city map in Minecraft, you could use this tool to create a rudimentary template, and build from there.
How do you make a land locked city without rivers pls hlep
I love playing with this thing.
more like generating amercian cities ..
Yea, but cmon, look at those squares, they look NICE
Well, they wouldn't make a generator for every city type
@@majoraccident1924 why not? Also, whats the difference?
@@alvideos2145 imagine having to program one generator for every culture
@@alvideos2145 the difference lies between planned out cities and naturally grown cities. Compare American city layouts to any city developed pre "british-colony" America, you will notice the difference at first sight.
how can i apply this on unity without using blender? i have the png map downloaded from the website
Does it only generate straight square US like cities ?
Why you keep it tris instead of turning into quads?
Is there anything in the Select Similar menu that'll help with texturing?
can you import anything into this? id love to put in an existing heightmap/just a watermap or even an overlay to work on top of so i can make a city in an environment and map and not just standalone.
it looks very good, i am probably using it some day
Might be possible to select the faces on one building first, after that try to select by same normals. This should select all the faces on the other buildings.
Is it possible to export this city from Blender, and import it into unreal or unity and resize it massively to create a gta like world that you can run around in?
Yes it’s a direct port, all you have to do is reset up materials in unreal engine. And your collisions once you get into unreal and you should be good.
You could probably separate the mesh, the cube project all the (now separate) objects
OK So how do you Extrude? kinda skip over that
Create a shader that chooses a cladding/external texture for vertical surfaces, and a roof texture for horizontal surfaces on that "buildings" object
I'm unsure if you can create logical variation by having a few textures that project to connected faces only and cycle through that list at random
Otherwise, break each building into a separate object, see if that helps
I do not see the link that you said that you posted in the article.
No reply.
Typical.