Page 1 of 4 123 ... LastLast
Results 1 to 20 of 68
  1. #1
    Member Atom's Avatar
    Join Date
    Jan 2006
    Location
    Ohio
    Posts
    11,632

    [AddOn]Tile Based Landscape/Cityscape Generator (Steering, Birds, UFOs and more!)

    Hi All,

    I pulled down eracoon's landscape tile set from Blendswap. These are nice looking tile assets that can connect together to form various landscapes. The first thing that came to my mind was that these should be hooked up to some kind of procedural generator to make random tile based layouts.

    I am working an AddOn that adds a TOP/BOTTOM/LEFT/RIGHT property to each of the tiles. The AddOn also has a Generate button to randomly create a grid based layout from the assets. I have extended the data type to include a few flags as well such as Enabled, Is 2x Asset, Filler and Buildable. Any tile can be removed from appearing in the scene by turning off it's Enabled flag. All tiles are enabled by default. A 2x asset is a tile that takes up 2 spaces on the grid instead of 1 like all other tiles. When filler is turned on that tile can be used to patch holed in the grid. If buildable is turned on that tile can be used as a spot to build a 2x asset.

    Here is a short overview of the new layers in Tile Proc-3.


    Here is a short video tutorial on how to use the new Layer features of Tile Proc 2.


    I put together a short video tutorial on how to use the Tile Proc 1 AddOn.


    The AddOn uses the texture_space dotted outline of an object to highlight which tile in the scene you are currently editing.
    addon_rnd_tiles.jpg

    Here is a 1st draft example of a purely random generation.
    rnd_tiles.jpg
    Attached Files Attached Files
    Last edited by Atom; 08-Oct-14 at 14:10.
    OSX Mac Mini i7 @ 2.6ghz 16Gb Ram (no GPU)
    Windows 7 8Gb, GeForce GTX 660 2Gb Ram AMD Hexcore @ 2.7Ghz.
    Atom's Links Page



  2. #2
    Member Atom's Avatar
    Join Date
    Jan 2006
    Location
    Ohio
    Posts
    11,632
    I have cobbled together a bit more code under the Generate button. It basically creates a grid with tile IDs and then looks for matching neighbors. But there are still some connection problems as well as unmatched holes.


    tileproc_hanging_overpass.jpg

    tileproc_8x8.jpg

    tileproc_curvy_road.jpg
    Last edited by Atom; 31-Aug-14 at 16:25.
    OSX Mac Mini i7 @ 2.6ghz 16Gb Ram (no GPU)
    Windows 7 8Gb, GeForce GTX 660 2Gb Ram AMD Hexcore @ 2.7Ghz.
    Atom's Links Page



  3. #3
    Member Atom's Avatar
    Join Date
    Jan 2006
    Location
    Ohio
    Posts
    11,632
    I have patched the un-mappable holes with a low flat grass tile.

    9216 objects (make Blender viewport very, very slooow...)
    tile_proc_9216.jpg

    Here are a couple of close ups.
    tile_proc_closeup-2.jpg

    tile_proc_closeup-1.jpg
    Last edited by Atom; 31-Aug-14 at 13:39.
    OSX Mac Mini i7 @ 2.6ghz 16Gb Ram (no GPU)
    Windows 7 8Gb, GeForce GTX 660 2Gb Ram AMD Hexcore @ 2.7Ghz.
    Atom's Links Page



  4. #4
    Member Atom's Avatar
    Join Date
    Jan 2006
    Location
    Ohio
    Posts
    11,632
    eRacoon also has a suburban house kit in the same exact tile size. I have integrated those objects into my master BLEND so they get considered for distribution as well.
    tileproc_house_view-1.jpg

    tileproc_houses-3.jpg

    tileproc_another_big_map.jpg
    Last edited by Atom; 31-Aug-14 at 20:48.
    OSX Mac Mini i7 @ 2.6ghz 16Gb Ram (no GPU)
    Windows 7 8Gb, GeForce GTX 660 2Gb Ram AMD Hexcore @ 2.7Ghz.
    Atom's Links Page



  5. #5
    What can I say except... WOW
    Its the first time I see my work used in a procedural generator.
    That is amazing work and this has a lot of potential.
    I have some more assets planned but now I don't know which one to do first since you gave me some ideas.

    I'll come back to this later... I'm speechless.
    Last edited by eracoon; 31-Aug-14 at 18:18. Reason: typo



  6. #6
    Member Atom's Avatar
    Join Date
    Jan 2006
    Location
    Ohio
    Posts
    11,632
    Thanks again for posting the assets on Blendswap.

    I have some more assets planned
    Some kind of waterfall high and low connectors would be nice. Maybe a triangle sand. Hmm..maybe that could be done simply re-texturing the hill pieces with the sand material..?


    Another small tweak to the Generation.

    After the entire map is generated the code places a single 2x size asset at a random hill or grass plain. This is the Luxurious Mansion house model in the suburban pack.
    tileproc_2x_asset.jpg

    tileproc_2x_asset-2.jpg

    tileproc_house_view-2.jpg
    Last edited by Atom; 31-Aug-14 at 20:57.
    OSX Mac Mini i7 @ 2.6ghz 16Gb Ram (no GPU)
    Windows 7 8Gb, GeForce GTX 660 2Gb Ram AMD Hexcore @ 2.7Ghz.
    Atom's Links Page



  7. #7
    Member Atom's Avatar
    Join Date
    Jan 2006
    Location
    Ohio
    Posts
    11,632
    A few more tweaks to connection points and I have better lots now! I have cloned the green hills to make hybrid sand_hills_high and dirt_hills_high. These are basically flat dirt or sand on one half of the tile and then a green hill rising up on the other half.
    tile_proc_sand_extensions-1.jpg

    tile_proc_sand_extensions-2.jpg

    tileproc_better_lot.jpg
    OSX Mac Mini i7 @ 2.6ghz 16Gb Ram (no GPU)
    Windows 7 8Gb, GeForce GTX 660 2Gb Ram AMD Hexcore @ 2.7Ghz.
    Atom's Links Page



  8. #8
    Hey Atom,
    I was wondering where I can send you some updated tiles. don't want to make them public just yet.
    Jim



  9. #9
    Member Atom's Avatar
    Join Date
    Jan 2006
    Location
    Ohio
    Posts
    11,632
    I sent you a PM on Blendswap, check messages there.

    I started to play around with alternate materials for the tiles. I wrote a small script that takes the single image mapped material and creates a matching material for the same face type. With all the tile materials remapped I can do things like make the windows of the houses emit light and have the water reflect.
    tile_proc_night_houses-1.jpg

    tile_proc_night_houses-2.jpg

    tile_proc_night_houses-3.jpg
    OSX Mac Mini i7 @ 2.6ghz 16Gb Ram (no GPU)
    Windows 7 8Gb, GeForce GTX 660 2Gb Ram AMD Hexcore @ 2.7Ghz.
    Atom's Links Page



  10. #10
    Just awesome. How long it takes to generate map like that with 9 k objects



  11. #11
    Member Atom's Avatar
    Join Date
    Jan 2006
    Location
    Ohio
    Posts
    11,632
    The 9k generation took a while and quite frankly I walked away and when I came back it was done. So I don't know the exact time but at least fifteen minutes or more of single threaded python generation. The viewport was very slow even in bounding box mode. It took a while to render as well.

    Here is a scene lit by HDRi map.
    TILE_PROC_HDRI_SKYLIGHT.jpg
    OSX Mac Mini i7 @ 2.6ghz 16Gb Ram (no GPU)
    Windows 7 8Gb, GeForce GTX 660 2Gb Ram AMD Hexcore @ 2.7Ghz.
    Atom's Links Page



  12. #12
    that could be Valencia California, with the smog from the valley painting the sky.
    nodes tutorial on 'stenciling': http://blenderartists.org/forum/showthread.php?t=73088
    nodes tutorial on custom sequence wipe: http://blenderartists.org/forum/showthread.php?t=90989



  13. #13
    That is looks fantastic, never knew my assets could look so beautiful.

    Actually I was planning to do some realistic renderings myself... but didn't came around it yet. too much work creating the assets and making them consistent.
    I Like what you've done with the reflections and the lighting of the houses.
    Maybe I should create interiors also

    I'll send you a PM with some ideas I wanted to discuss with you for this.



  14. #14
    This is incredible work, Atom! I'm amazed at how quickly you've made progress. If you release this add-on, I'd love to use it in an upcoming short film and accompanying BTS.

    Could the tiles have other geometry parented to them? So say if you had buildings and other models that weren't low-poly, you could just arrange your tiles, and then when rendertime comes, the tiles are hidden and the higher resolution models only are rendered? Or some other technique, such as using instances?

    5 stars!



  15. #15
    Member Atom's Avatar
    Join Date
    Jan 2006
    Location
    Ohio
    Posts
    11,632
    Thanks for the feedback everyone.

    @JamesCandy: Currently each tile is relayed from the source object as an instance without modifiers applied (raw mesh). Each tile does exist as an object in the scene, however. This means it is easy to create thousands of objects which slows Blender down. I have parented all generated tiles under an Empty so that helps the Outliner update speed a bit when the tree is closed. One generation created 16,535 tiles. I had to shut down Blender because it became un-responsive. As far as adding custom things to specific tiles that could be accomplished by creating a copy of the tile and modifying that copy by joining in any new mesh element you like. Then you would add the new tile to the tile list with connection tags that make sense for that tile. There are currently 26 different connection types for the set that you see displayed in the images so far (water low, water high, road, tunnel, grass etc..).

    Also there is no reason you can't just delete unwanted tiles after generation and put whatever mesh you like in it's place.

    The generator is purely random and offers no weighting of any elements over another. All layout is derived from connection types.

    eRacoon has provided a watefall connector tile which I have integrated into the system. Here are a few preview shots.tileproc_waterfalls-4.jpg

    tileproc_waterfalls-2.jpg

    tileproc_waterfalls-3.jpg
    Last edited by Atom; 02-Sep-14 at 08:52.
    OSX Mac Mini i7 @ 2.6ghz 16Gb Ram (no GPU)
    Windows 7 8Gb, GeForce GTX 660 2Gb Ram AMD Hexcore @ 2.7Ghz.
    Atom's Links Page



  16. #16
    Member Atom's Avatar
    Join Date
    Jan 2006
    Location
    Ohio
    Posts
    11,632
    I have added a random color generator to the AddOn. You pick a base color then all other diffuse colors are generated as nearby neighbors on the color wheel.
    tile_proc_rnd_color-6.jpg

    tile_proc_pink_houses.jpg

    tile_proc_rnd_color-4.jpg
    Last edited by Atom; 02-Sep-14 at 13:47.
    OSX Mac Mini i7 @ 2.6ghz 16Gb Ram (no GPU)
    Windows 7 8Gb, GeForce GTX 660 2Gb Ram AMD Hexcore @ 2.7Ghz.
    Atom's Links Page



  17. #17
    Member Atom's Avatar
    Join Date
    Jan 2006
    Location
    Ohio
    Posts
    11,632
    I have released the Tile Proc AddOn along with the master BLEND with all the tiles setup on Blendswap.

    Here is an example render:


    You can download the AddOn and BLEND file here:
    http://www.blendswap.com/blends/view/75545

    I have also put together a short video introduction to the AddOn.
    https://vimeo.com/105041992
    Last edited by Atom; 03-Sep-14 at 08:13.
    OSX Mac Mini i7 @ 2.6ghz 16Gb Ram (no GPU)
    Windows 7 8Gb, GeForce GTX 660 2Gb Ram AMD Hexcore @ 2.7Ghz.
    Atom's Links Page



  18. #18
    Member 3pointEdit's Avatar
    Join Date
    Oct 2005
    Location
    Brisbane, Australia
    Posts
    7,135
    Omg I love love love it Atom. Can you create a small grid then just extend mirror them with dupes? To reduce overhead and creation time?
    Cheers, David ___________"awesome in space and other places".
    ________Follow me on twitter @3pointedit
    _____________ Check the Youtube Channel for tutorials.



  19. #19
    Member 3pointEdit's Avatar
    Join Date
    Oct 2005
    Location
    Brisbane, Australia
    Posts
    7,135
    Is there a way to define a path to build around? Like a preset route, or main road.
    Cheers, David ___________"awesome in space and other places".
    ________Follow me on twitter @3pointedit
    _____________ Check the Youtube Channel for tutorials.



  20. #20
    Member Safetyman's Avatar
    Join Date
    Mar 2010
    Location
    Maryland, USA
    Posts
    749
    Looks really cool. I'll have to keep an eye on this.
    Quicksand has no sense of humor



Page 1 of 4 123 ... LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •