City Generator -- Free Procedural City Generation

Поділитися
Вставка
  • Опубліковано 27 гру 2024

КОМЕНТАРІ • 446

  • @gamefromscratch
    @gamefromscratch  4 роки тому +103

    Link:
    gamefromscratch.com/city-generator-hands-on/

    • @holdthetruthhostage
      @holdthetruthhostage 4 роки тому +5

      I really wanted you to touch up on this one, my thing is how do you export it to unity & unreal

    • @darkenergy7291
      @darkenergy7291 4 роки тому +4

      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

    • @gamefromscratch
      @gamefromscratch  4 роки тому +6

      You'd import it like I did in the video, then simply export in FBX or DAE

    • @holdthetruthhostage
      @holdthetruthhostage 4 роки тому +3

      Thank you and this is a hidden gem on unity I would love your opinion
      ua-cam.com/video/Tl6fGhyShGI/v-deo.html

    • @chronosschiron
      @chronosschiron 4 роки тому

      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

  • @paulhoffstadt7025
    @paulhoffstadt7025 4 роки тому +766

    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 :)

    • @not_herobrine3752
      @not_herobrine3752 4 роки тому +16

      or just ask mr hubert to take a look

    • @lelledale3319
      @lelledale3319 4 роки тому +2

      thanks!

    • @lelledale3319
      @lelledale3319 4 роки тому +4

      @@not_herobrine3752 I was thinking about it

    • @paulhoffstadt7025
      @paulhoffstadt7025 4 роки тому

      @@lelledale3319 no problem ^^

    • @slavkosky
      @slavkosky 4 роки тому +1

      Unfortunately the models seem to come in as tri faces not quads, so select random would probably produce some odd results

  • @obkf-too
    @obkf-too 4 роки тому +116

    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.

    • @Jyve
      @Jyve 4 роки тому +3

      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.

    • @kaustik185
      @kaustik185 4 роки тому +4

      You can easily select all faces facing in one direction by going to Select->Similar->Normal and adjusting the Threshold

  • @Riley_Christian
    @Riley_Christian 4 роки тому +191

    Wish there was more height variation in the buildings, and maybe even terrain

    • @ghettomining
      @ghettomining 4 роки тому +13

      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

    • @bitmammothOG
      @bitmammothOG 4 роки тому +4

      for terrain I believe you could do something like face snapping to the underlying terrain heights

    • @StuartOverton
      @StuartOverton 4 роки тому +8

      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.

    • @Riley_Christian
      @Riley_Christian 4 роки тому

      @@ghettomining Hmm that gives me some ideas thanks

    • @zaknelson1887
      @zaknelson1887 4 роки тому +5

      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.

  • @adrielsavage6365
    @adrielsavage6365 4 роки тому +199

    Tris to Quads first before texturing those buildings.

    • @lawrencedoliveiro9104
      @lawrencedoliveiro9104 4 роки тому +18

      Anybody else twitch a little bit seeing all those triangles? ;)

    • @gordonbrinkmann
      @gordonbrinkmann 4 роки тому +2

      @@lawrencedoliveiro9104 Yes. ;)

    • @gofish8195
      @gofish8195 4 роки тому +12

      Triangles are perfectly fine here, it wouldn't make a difference.

    • @supaflykai
      @supaflykai 4 роки тому +10

      no reason to change them to quads, especially considering how low poly they are

    • @kamillatocha
      @kamillatocha 4 роки тому

      i was screming at monitor same thing

  • @DrivingwithNico
    @DrivingwithNico 4 роки тому +108

    This would be perfect for Cities Skylines

    • @therealsourc3
      @therealsourc3 4 роки тому +17

      not for traffic but probably for astethics

    • @CRemy-pk1fh
      @CRemy-pk1fh 4 роки тому +6

      @@therealsourc3 maybe but you know you can fix traffic easy as Biffa taught.

    • @marcozolo3536
      @marcozolo3536 4 роки тому

      @@therealsourc3 Skylines is a broken system for traffic. Unnecessarily flawed

    • @isaacterry1243
      @isaacterry1243 3 роки тому

      I was thinking just that, I want to see biffa or james turner do a play of recreating a city generated like this

  • @WereWhusky
    @WereWhusky 4 роки тому +298

    imagine using this to quickly make a city map for a game

    • @IconDevco
      @IconDevco 4 роки тому +46

      dont worry, level designers arent out of work yet

    • @WereWhusky
      @WereWhusky 4 роки тому +39

      I know, I was thinking more like making stuff like the not playable spaces with this

    • @mrlordmax5521
      @mrlordmax5521 4 роки тому +9

      Space Engine will be fun then

    • @crystellik
      @crystellik 4 роки тому +16

      That is exactly what I’m gunna do lmao

    • @ipotatosenpai7002
      @ipotatosenpai7002 4 роки тому +19

      Imagine using this to make minecraft style(infinite generation) maps for something like a Spiderman game

  • @raztaz826
    @raztaz826 4 роки тому +40

    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.

    • @peaolo
      @peaolo 4 роки тому +5

      You can select a roof and select-->similar-->orientation. This helps with different building hight

  • @boriswilsoncreations
    @boriswilsoncreations 4 роки тому +27

    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.

    • @vrictor
      @vrictor 2 роки тому

      Yeh me too lol I'm making a zombie city game and I really needed this haha

  • @FractalParadox
    @FractalParadox 4 роки тому +5

    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.

  • @themichaelconnor42
    @themichaelconnor42 4 роки тому +120

    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

    • @kusog3
      @kusog3 4 роки тому +6

      pee en ji

    • @saifulissam636
      @saifulissam636 4 роки тому +1

      Pong

    • @pollodeshebrado6761
      @pollodeshebrado6761 4 роки тому

      Peenege

    • @trbry.
      @trbry. 4 роки тому +9

      I'm probably in the mirror world, and I loathe it.

    • @ThePC007
      @ThePC007 4 роки тому +8

      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.

  • @willy.william4582
    @willy.william4582 4 роки тому

    Dude... For someone studying to be a civil planner... THIS IS AWESOME!

  • @baraksmash
    @baraksmash 4 роки тому +111

    5:04
    'F' for the default cube

  • @ARMORHOUS3weplay
    @ARMORHOUS3weplay 2 роки тому +1

    This is absolutely incredible. So organic in nature.

  • @shwetangpathak
    @shwetangpathak 4 роки тому +2

    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!

  • @deadstar44
    @deadstar44 4 роки тому

    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!

    • @qooqle
      @qooqle 4 роки тому +1

      search up the game Cities Skylines, literally perfect for you

  • @m4r_art
    @m4r_art 4 роки тому +1

    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...

  • @MarkArandjus
    @MarkArandjus 4 роки тому +5

    Pretty much exactly liek what I was looking for about five years ago! Finally.

  • @StaticPhotons
    @StaticPhotons 4 роки тому +1

    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.

  • @CreepyHandedMan
    @CreepyHandedMan 4 роки тому

    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.

  • @DocWolph
    @DocWolph 4 роки тому +1

    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.

  • @drivebyemusic
    @drivebyemusic 4 роки тому +1

    Oh, how I love this channel. Honestly wish I knew about this last year haha

  • @NahFam13
    @NahFam13 2 роки тому

    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.

  • @ChrisNowsk
    @ChrisNowsk 4 роки тому

    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.

  • @vytasrauckis6703
    @vytasrauckis6703 4 роки тому +1

    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.

  • @zaknelson1887
    @zaknelson1887 4 роки тому +1

    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)

  • @abitofpix
    @abitofpix 4 роки тому +40

    That's it, I'm making Morioh

    • @The0Stroy
      @The0Stroy 4 роки тому +2

      Beautiful Duwang

    • @dazza2350
      @dazza2350 4 роки тому +1

      It's too Crazy and Noisy

    • @coins_png
      @coins_png 4 роки тому

      start an open source project

  • @TheMotionofPictures
    @TheMotionofPictures 4 роки тому

    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.

  • @sitexorg
    @sitexorg 4 роки тому

    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 ;)

  • @taureanwooley
    @taureanwooley 3 роки тому

    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.

  • @RatoCavernaBR
    @RatoCavernaBR 4 роки тому

    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.

  • @alejandrodeugarriza7690
    @alejandrodeugarriza7690 4 роки тому

    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.

  • @moleytron
    @moleytron 4 роки тому

    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.

  • @Potatinized
    @Potatinized 4 роки тому +41

    Is there any medieval town generator? Fantasy theme is pretty strong in gaming community.

    • @plutoisalsoaplanet6245
      @plutoisalsoaplanet6245 4 роки тому +16

      watabou.itch.io/medieval-fantasy-city-generator

    • @Potatinized
      @Potatinized 4 роки тому +3

      @@plutoisalsoaplanet6245 Oh yeah. You're the man. Thanks

    • @juancibantos3633
      @juancibantos3633 4 роки тому +3

      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

    • @Potatinized
      @Potatinized 4 роки тому +2

      @@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.

    • @gansetsukon
      @gansetsukon 4 роки тому

      Oh hey there :3/
      Fancy seeing another potato around here :3c

  • @defenderofwisdom
    @defenderofwisdom 4 роки тому

    Finally. My country needs more cities.

  • @RemyFioretti
    @RemyFioretti 4 роки тому

    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

  • @bigjimrand
    @bigjimrand 4 роки тому +21

    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

    • @Ulexcool
      @Ulexcool 4 роки тому

      Bro, this method looks like shit LMAO

    • @dreagerd8248
      @dreagerd8248 4 роки тому

      @@Ulexcoolthen make a better one LMAO

  • @Potatinized
    @Potatinized 4 роки тому

    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.

  • @brackman71
    @brackman71 4 роки тому

    The "Solidify" modifier allows you to extrude flat geometry.
    No need to do a "zero extrude" then move the new faces.

  • @CDArena
    @CDArena 4 роки тому

    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.

  • @patlecat
    @patlecat 4 роки тому

    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.

  • @StephenWebb1980
    @StephenWebb1980 3 роки тому

    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!

    • @StephenWebb1980
      @StephenWebb1980 3 роки тому

      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).

  • @madcatlady
    @madcatlady 4 роки тому

    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

  • @whnvr
    @whnvr 4 роки тому

    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!

  • @summerWTFE
    @summerWTFE 4 роки тому +3

    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.

  • @DucatiKozak
    @DucatiKozak 4 роки тому +3

    "Toronto"... ?
    You have my attention Sir!

  • @RandomMan1
    @RandomMan1 4 роки тому +1

    Ian Hubert has a great tutorial on texturing cities.

  • @StarKnight619
    @StarKnight619 3 роки тому

    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

  • @SCTproductionsJ5
    @SCTproductionsJ5 4 роки тому

    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?

  • @detectiverick9934
    @detectiverick9934 4 роки тому

    Inspiration for CITIES SKYLINES!

  • @deltahalo241
    @deltahalo241 4 роки тому

    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

  • @hurricanemeridian8712
    @hurricanemeridian8712 4 роки тому

    This is beautiful especially for planning stuff in cities skylines

  • @sekvojs
    @sekvojs 2 роки тому

    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 ;)

  • @peaolo
    @peaolo 4 роки тому +2

    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 ;-)

  • @harveymarks827
    @harveymarks827 4 роки тому

    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.

  • @amirhm6459
    @amirhm6459 2 роки тому

    Can the city generator export the building transforms so we can use instance instead?

  • @c.o.g.childofgod2742
    @c.o.g.childofgod2742 Рік тому

    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

  • @alejmc
    @alejmc 4 роки тому +1

    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.

  • @sgfx
    @sgfx 4 роки тому +1

    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.

  • @pro246
    @pro246 4 роки тому

    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.

  • @Nerd2Ninja
    @Nerd2Ninja 4 роки тому

    Adversarial generative neural network for painting all the buildings?

  • @devfasil4810
    @devfasil4810 4 роки тому

    Can't you just go to isometric sideview and boxselect all the sides while also in wireframe view?

  • @legofanguyvid
    @legofanguyvid 4 роки тому +1

    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.

  • @1981danielmn
    @1981danielmn 4 роки тому

    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

  • @Marius-vw9hp
    @Marius-vw9hp 4 роки тому

    Would be nice if you could input a set of textures in the generator, and it would distribute the randomly between buildings.

  • @danielawesome36
    @danielawesome36 4 роки тому

    This is something that Elite Dangerous might need.

  • @TheFrostyCreeper
    @TheFrostyCreeper 4 роки тому +1

    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
      @lawrencedoliveiro9104 4 роки тому +1

      This one ua-cam.com/video/v_ikG-u_6r0/v-deo.html ?

    • @TheFrostyCreeper
      @TheFrostyCreeper 4 роки тому

      @@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

  • @didur62
    @didur62 4 роки тому

    Ayyyyyy toronto blender user here! thanks for the videos !

  • @wolfl4430
    @wolfl4430 4 роки тому +4

    Hey can you recommend a free software for recording voices for voiceovers and creating soundtrack and scores * also should contain virtual instrument, thank you

    • @SylvanFeanturi
      @SylvanFeanturi 4 роки тому +1

      One of the better free DAWs is Cakewalk by BandLab. It supports VST2 and 3. For pure voice recording you can use Audacity.

    • @FlowPoly
      @FlowPoly 4 роки тому +2

      Audacity

    • @thunderbreakergaming4196
      @thunderbreakergaming4196 4 роки тому +1

      reaper isnt technically free but it has an infinite trial

    • @-Burb
      @-Burb 4 роки тому +1

      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.

  • @playeronthebeat
    @playeronthebeat 3 роки тому

    This is awesome for my Minecraft city project I'm building!
    Awesome!

  • @khayyamal9207
    @khayyamal9207 4 роки тому +1

    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

    • @fleshyindividual3220
      @fleshyindividual3220 4 роки тому +1

      Would love to know.

    • @khayyamal9207
      @khayyamal9207 4 роки тому

      @@fleshyindividual3220 alright, then I'll make a tutorial on my other channel I'll send you the link when it's done

    • @felizgar
      @felizgar 4 роки тому

      I would like to know as well

  • @gideondebebe557
    @gideondebebe557 4 роки тому

    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

  • @raphaeljaggerd3585
    @raphaeljaggerd3585 4 роки тому

    Should i proceduraly generate the city in blender or in a game engine? Which process do you think is better?

  • @samh659
    @samh659 3 роки тому

    You can use procedural (in blender) texture for the building

  • @Raycaster7
    @Raycaster7 4 роки тому

    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.

  • @alvideos2145
    @alvideos2145 4 роки тому

    Really cool, but I don't know what I would use this for except for it's just cool.

  • @danmariano1981
    @danmariano1981 4 роки тому +12

    Only IGN thinks there's too much water.

  • @kacperozieblowski3809
    @kacperozieblowski3809 4 роки тому +1

    this is just perfect for the game I wanted to make

  • @thewordywizard4389
    @thewordywizard4389 4 роки тому

    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

  • @Instant_Nerf
    @Instant_Nerf 2 роки тому

    Is there a way to create a digital twin from a real city? Instead of it being generated random ?

  • @An0therR0gue
    @An0therR0gue 4 роки тому

    do you know of a way to import OSM (open street map) data? that would let us use real world places and buildings.

  • @zerolzeeq
    @zerolzeeq 4 роки тому +1

    The one ya made early on in the video be lookin like a crazy noisy bizarre town if ya ask me

  • @andrewp8284
    @andrewp8284 3 роки тому

    Might use this for NationStates. I’ve always wanted to map out my major cities!

  • @designator7402
    @designator7402 4 роки тому

    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.

    • @gamefromscratch
      @gamefromscratch  4 роки тому

      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.

  • @thatpersonwithamlpiconwhos2861
    @thatpersonwithamlpiconwhos2861 4 роки тому

    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.

  • @kcsart9206
    @kcsart9206 3 роки тому

    How do you make a land locked city without rivers pls hlep

  • @leschaps2387
    @leschaps2387 4 роки тому

    I love playing with this thing.

  • @selvii
    @selvii 4 роки тому +92

    more like generating amercian cities ..

    • @David_Box
      @David_Box 4 роки тому +24

      Yea, but cmon, look at those squares, they look NICE

    • @majoraccident1924
      @majoraccident1924 4 роки тому +8

      Well, they wouldn't make a generator for every city type

    • @alvideos2145
      @alvideos2145 4 роки тому +1

      @@majoraccident1924 why not? Also, whats the difference?

    • @majoraccident1924
      @majoraccident1924 4 роки тому +10

      @@alvideos2145 imagine having to program one generator for every culture

    • @Johnny_Awesome
      @Johnny_Awesome 4 роки тому +16

      @@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.

  • @luke9947
    @luke9947 4 роки тому

    how can i apply this on unity without using blender? i have the png map downloaded from the website

  • @lapincealinge2
    @lapincealinge2 4 роки тому

    Does it only generate straight square US like cities ?

  • @JoseJBronze
    @JoseJBronze 3 роки тому

    Why you keep it tris instead of turning into quads?

  • @def_not_dan
    @def_not_dan 4 роки тому +1

    Is there anything in the Select Similar menu that'll help with texturing?

  • @coltond563
    @coltond563 4 роки тому

    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.

  • @pigaboyAKAthecoolestguyonearth
    @pigaboyAKAthecoolestguyonearth 4 роки тому

    it looks very good, i am probably using it some day

  • @benb2825
    @benb2825 4 роки тому +2

    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.

  • @youdontevenmakesensebecaus4332
    @youdontevenmakesensebecaus4332 4 роки тому +2

    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?

    • @brianpalmer5797
      @brianpalmer5797 4 роки тому

      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.

  • @warlax5658
    @warlax5658 4 роки тому

    You could probably separate the mesh, the cube project all the (now separate) objects

  • @J_claud
    @J_claud 3 роки тому

    OK So how do you Extrude? kinda skip over that

  • @eXca1iburN
    @eXca1iburN 4 роки тому

    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

  • @incenseman6650
    @incenseman6650 2 роки тому

    I do not see the link that you said that you posted in the article.