Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. We have updated the language to the Editor Terms based on feedback from our employees and community. Learn more.
    Dismiss Notice

BuildR 1.0 - Create buildings within Unity

Discussion in 'Assets and Asset Store' started by jasperstocker, Mar 18, 2013.

  1. jasperstocker

    jasperstocker

    Joined:
    Jul 7, 2010
    Posts:
    429
    They're not angles - they're the building corners in world space.
     
  2. TokyoDan

    TokyoDan

    Joined:
    Jun 16, 2012
    Posts:
    1,080
    Thanks. But what values would I use to make sure the buildings are square and the corners are 90 degrees?
     
  3. MoribitoMT

    MoribitoMT

    Joined:
    Jun 1, 2013
    Posts:
    301
    Hi

    I am really interested on this asset. I develop mobile games with cities, and performance is really important. Does you product creates atlases from texture used and lower multiple material usage for having less draw calls ?
     
  4. MramidK1

    MramidK1

    Joined:
    Jul 16, 2016
    Posts:
    6
    Hi!
    Help plz!

    How can I limit the height of buildings?
     
  5. jasperstocker

    jasperstocker

    Joined:
    Jul 7, 2010
    Posts:
    429
    @MramidK1 - are you talking about runtime generation? For some inexplicable reason the two variables in the Constraints class are private. I'll make them accessible in the editor and upload a new version ASAP.

    In other news - BuildR 2 is in production :D
    Any comments, suggestions, nagging UI issues are welcome.
    This is a ground up rebuild of BuildR
    I'll be building upon the feature set we already have with V1
    New things I'm implementing
    • Curved facades.
    • Interior wall creation and generation
    • Overhanging sections
    • Deeper support for custom geometry
    • Stronger procedural and random generation abilities
    I'm thinking this will be an upgrade for $10 for all of you guys that have been using it over the years.
    Reasonably long grace period as I think I can stipulate that.
    No ETA, no price (although I imagine it will be a similar price as V1)

    Also - thoughts on Gaia support seeing as that's pretty huge.
    Not sure about landscaping.
    I'm listening and literally coding this new version at the moment so now is the time to bend it's scope...
     
    Wavinator, TeagansDad, ksam2 and 6 others like this.
  6. docsavage

    docsavage

    Joined:
    Jun 20, 2014
    Posts:
    1,015

    Hi Jasper,

    Sounds good. Couple of things I would suggest is to keep Mapity integration tight and if possible make it as simple as possible. Seamless for the user. They go extremely well together. Also worth having a look at the other packages like you said such as gaia, worldcomposer, TC2, map magic etc. It looks like the assets that are working with each other encourage users of theirs to try the others.

    I think the gui is pretty straightforeard now but maybe an even simpler gui. Maybe like a grid where you just drag and drop prefabs for relevent building sections and then buildr do the rest. Quite big tiles that act as a preview window and like TC2 have a result node at the end so people can preview the expected

    Can't think of anything else. Buildr is a great tool. Really glad you are still supoorting it. :)
     
  7. jasperstocker

    jasperstocker

    Joined:
    Jul 7, 2010
    Posts:
    429
    Thanks for the feedback @docsavage !
    Yes - I must and will start talking to Rewind Studios about Mapity. And will look to the others to increase support.
    I'll take a look at TC2 as well - sounds interesting...
     
    docsavage and Tinjaw like this.
  8. docsavage

    docsavage

    Joined:
    Jun 20, 2014
    Posts:
    1,015
    You can't go wrong with TC2, gaia and map magic. They are all great devs and good support. Looks the same for rewind studios as well. Have noticed they have done a good few updates lately so they are still supporting mapity:)
     
  9. camel82106

    camel82106

    Joined:
    Jul 2, 2013
    Posts:
    304
    I strongly support better runtime or from editor script generation.

    Here are my comments to existing BuildR features regarding that:

    Generate mode:
    I was missing foundation height parameter. Maybe it could be customized in script.
    Problem is that if I create x building floor plans. I cannot customize building base height. (how high building is lying on)
    So I cannot create x buildings at once for whole map.
    And creating x assets and their materials for every building is not very practical.

    Runtime mode.
    There I have only problem with missing foundation parameter I think.
    And I don’t like all textures living in resources.

    It would be much easier if you would be able to specify building base height. So I may be able than to built x buildings at once. Another thing that would be nice is randomization of building per floor plan. (for example size etc parameters that do not change materials)

    And I would gladly accept higher upgrade price. I'm more happy if developer makes enough money to support his product :)

    Peter
     
    Last edited: Jul 18, 2016
    docsavage likes this.
  10. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,643
    @jasperstocker - It's been a while since I've played with BuildR, so I don't quite remember the details of how it works, and I don't quite remember what advantages it provides in terms of lower texture memory requirements, higher quality textures, fewer draw calls, how BuildR can work with OC and LOD, if the buildings come with colliders or if there are cases when you should add your own, and so on. When you're writing up the new docs, it would be good to point out some best usage tips and tricks, and to point out limitations, even if they're obvious ones.

    Also, it would be good to demonstrate buildings working with night lighting, and buildings with interiors and transparent windows.

    Can we automatically attach fire escapes to buildings? Roof objects, like AC, solar panels, building signs, and doors? Can we place gargoyles at corners? And at ground level, can hinged doors be opened? What about sliding or revolving doors? Can objects like newspaper vending machines, soda vending machines, trash bins, bike racks, cafe tables, architectural lighting, and so on be added?

    And, as another person mentioned, it's good to talk a bit about how BuildR can be used in conjunction with other plugins, like Map-ity, integrating with EasyRoads on the issues of sidewalks and foundations, Gaia / Horizon[ON] / Terrain Composer's object spawners, uConstruct, and so on.

    Can a BuildR building be destroyed with one of the various fragmenter / exploder plugins?

    I think talking about these sorts of things helps people envision how they can use BuildR.

    No need to answer this, BTW, as these are just thoughts I'm throwing out there. :)

    Looking forward to all the new features you've mentioned!
     
    docsavage likes this.
  11. TokyoDan

    TokyoDan

    Joined:
    Jun 16, 2012
    Posts:
    1,080
    Yes! I want a way when procedurally generating a building to specify square buildings where all corners of the floorplan are 90 degrees?
     
  12. Crossway

    Crossway

    Joined:
    May 24, 2016
    Posts:
    507
    UV over buildings doesn't looks correct! it doesn't looks good when you use Parallax or POM shaders. can you check this out please?
     
  13. lazygunn

    lazygunn

    Joined:
    Jul 24, 2011
    Posts:
    2,749
    As someone who has owned and been checking om buildr for years i can suggest things like: Strong mapity support would be great and your proposed further support of custom geometry sounds great as I'd quite like buildr to chiefly be using this - being able to, as suggested, create groups of prefabs would be great with possibly buildr filling in the gaps if that sounds reasonable

    Expanded support for roofs would be good but especially the procedural creation element, that would be great. I'm using the max plugin Ghosttown as a metric really

    Regarding integration - some tight interaction with something like easyroads when using osm data would be invaluable as roads are particularly troublesome when using procedural generation outside Cityengine but then Cityengine is an expensive option and a pain in the behind to get into unity, I never did get their sdk plugin working.

    I wouldn't really ask for intersections as they are nontrivial given the dearth of options for this for retail but easyroads integration would be neat to get the general roadwork laid out and matching well with the building generation
     
  14. jasperstocker

    jasperstocker

    Joined:
    Jul 7, 2010
    Posts:
    429
    Should I keep the name BuildR? Or re-brand into the Metro Maker name? Metro Maker Buildings?
     
  15. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,643
    It depends on what you are hoping to achieve. But BuildR is a general term that could apply to building anything.
     
  16. camel82106

    camel82106

    Joined:
    Jul 2, 2013
    Posts:
    304
    I'm fan of BuildR
     
    Crossway and TeagansDad like this.
  17. jasperstocker

    jasperstocker

    Joined:
    Jul 7, 2010
    Posts:
    429
    Thanks guys - I think I'll be keeping the BuildR name for now then :)
    Also, here's a sneak peek at version 2.0 progress
     
    Last edited: Aug 17, 2016
    docsavage and TeagansDad like this.
  18. Ben-BearFish

    Ben-BearFish

    Joined:
    Sep 6, 2011
    Posts:
    1,204
    @jasperstocker I was in need of a plugin that exports Unity scenes to FBX. My question about your plugin is can it export preexisting models to FBX, or only the procedurally generated models we create with your plugin?
     
  19. jasperstocker

    jasperstocker

    Joined:
    Jul 7, 2010
    Posts:
    429
    BuildR's FBX export is set up to export it's own models to FBX. I guess there is nothing to stop you from modifying the code to accept other meshes... There are no animations supported in this feature though...
     
  20. lazygunn

    lazygunn

    Joined:
    Jul 24, 2011
    Posts:
    2,749
    Hey, how is V2 coming along?
     
  21. jasperstocker

    jasperstocker

    Joined:
    Jul 7, 2010
    Posts:
    429
    It's going well thanks. Aiming for an early alpha test with some people early September. Very happy with the results so far.
     
    docsavage and hopeful like this.
  22. lazygunn

    lazygunn

    Joined:
    Jul 24, 2011
    Posts:
    2,749
    Great to hear, looking forwards to it
     
  23. Wavinator

    Wavinator

    Joined:
    Dec 24, 2013
    Posts:
    79
    Hi Jasper. Sent you an email on this about a week ago but not sure if it was eaten by spam filter or what. This doesn't appear to actually work. As far as I can tell lines 182-185 seem as if they should generate x,z points in worldspace (clockwise starting from upper left) as you note but NO CHANGES appear to have any effect. Even if you get rid of the random range (of +/-5 to +/-15) and lock it to a given value (starting with -15, -15; 15,-15; 15,15 & -15,15) you can see inspecting the BuildRPlan script object that the points are still completely random. So it must be coming from somewhere else.

    I also threw some Debug.Logs into that area of the code and can't see them being triggered, although Debug.Logs elsewhere in the code (OnEnable of different Buildr modes) work fine. Any ideas?
     
  24. Mad_Mark

    Mad_Mark

    Joined:
    Oct 30, 2014
    Posts:
    483
    I am generating about 200 buildings for my new city level. I need them placed in specific locations, so I am building them individually, rather than with code. I created one Buildr building with the procedural method, tweaked all the settings for bays, images, etc. Then duplicated it, and clicked generate on the copy's I/F. Rinse and repeat. It seemed to work, however when I started to test I got a bunch of errors. I deleted all of the buildings including the original and started to do this one by one. I will have to come back afterwards and tweak the bays, floor heights, etc. on each.

    Questions:
    1) Is there a recommended workflow for creating Buildr buildings?
    2) If so, does it always end in exporting to OBJ? Is there advantage to leaving them as Buildr objects rather than models?
    3) How do I set Buildr up so that it creates buildings with 90 degree corners instead of odd angles?
    4) Can I make my Buildr instance remember my default options (I want to be sure that floors are between 5 and 10 meters tall, doors are at least 4x2m, windows are 3-4m tall, etc.)

    Looking forward to 2.x!
    Mark
     
  25. jasperstocker

    jasperstocker

    Joined:
    Jul 7, 2010
    Posts:
    429
    Hi Mark,
    1. Generating 200 buildings in the way you describe in a unique way will be one by one using version 1.0. I've put a lot of thought into how I can improve this with version 2.0 and I think it will be a lot easier. Most things now exist in the project rather than inside each building (textures, window/door designs, facade patterns) allowing you to use these in multiple buildings.
    2. The only reason I'd keep it as a BuildR building is if I wanted to edit it later. You could export it to XML and keep that in case you wanted to recreate it for editing. Otherwise, I'd export to FBX and drop the memory weight and scripts.
    3. I'm working on an example for this - it's become highly requested.
    4. The only option right now would be to edit the default values in the code. This is a good point and something I'll keep in mind for v2.0

    Thanks for your feedback.

    Jasper
     
    Tinjaw and hopeful like this.
  26. Mad_Mark

    Mad_Mark

    Joined:
    Oct 30, 2014
    Posts:
    483
    Thanks, I've backtracked and am creating my buildings one-by-one with a single Buildr-Building, and exporting to FBX.

    Next version, would it be possible to add one more object to the LOD creation, and maybe consider a multiple building option, so I can create several buildings at a time? While I'm in beg mode, can you also make the bay heights/widths, etc into input boxes so I am not constrained by what is in the scripts when it comes to sizing? All my windows start out at 0.45. LOL I have tweaked the code to allow me to modify the parameters beyond the presets, but I don't like to do that. Makes support a bitch with my clumsy fingers in your working code...

    Thanks,
    Mark
     
  27. jasperstocker

    jasperstocker

    Joined:
    Jul 7, 2010
    Posts:
    429
    The next version is a lot more liberal about floorplan usage. There can be multiple plans for a single BuildR instance. They can stack on top of each other allowing for overhanging elements. They can also be connected together to allow for terracing.
    LOD is something I'm deeply interested in. Would you guys prefer I support Unity's own LOD manager and go from there? Or something more bespoke.
    I don't want to get rid sliders for input values - it makes things just too easy when editing. But you make a good point about what values these should be. How about there are settings you can edit for this? So you can change the default, minimum and maximum for these values?

    Also - BuildR 1.0 has a new version where the runtime generation defaults to square buildings. It's now a toggle within the constraints class.
     
    TokyoDan likes this.
  28. camel82106

    camel82106

    Joined:
    Jul 2, 2013
    Posts:
    304
    Would it be possible to assign different y values for every plan? Basically I want to create x buildings on different places so I need different y coordinate as terrain is not flat. Thanks
     
  29. jasperstocker

    jasperstocker

    Joined:
    Jul 7, 2010
    Posts:
    429
    Good idea - very useful for San Francisco! I'll look into including that. Thanks
     
    docsavage likes this.
  30. Mad_Mark

    Mad_Mark

    Joined:
    Oct 30, 2014
    Posts:
    483
    Excellent! Can't wait for V2. Stackable buildings with Elevator Shafts & Stairs through them. Editable Min/Max boxes on the sliders would be great.

    Is there a faster way to edit the textures? I've got about 1600 that I need to add, and the TexEd is slow with that many to go through.

    Cheers!
    Mark
     
  31. reocwolf

    reocwolf

    Joined:
    Aug 1, 2013
    Posts:
    182
    Sorry if this has been asked before but any plans of making this more like a city buildr? Grab GIS data or even create some data from something like city engine an turn roads into Track Buildr roads and buildings into Buildr buildings? I don't own these assets but see a lot of potential in that. Something like the Mantle asset but more basic in city gen and more focused in building gen and also cheaper.
     
  32. Crossway

    Crossway

    Joined:
    May 24, 2016
    Posts:
    507
    Hi, should we pay again for upgrading to v2?
     
  33. jasperstocker

    jasperstocker

    Joined:
    Jul 7, 2010
    Posts:
    429
    If you've bought B1.0 recently then no.
     
    Crossway likes this.
  34. camel82106

    camel82106

    Joined:
    Jul 2, 2013
    Posts:
    304
    I would prefer paid upgrade that will add you motivation :)
     
  35. jasperstocker

    jasperstocker

    Joined:
    Jul 7, 2010
    Posts:
    429
    It is - there is just a grace period...
    And I'm plenty motivated :D Should be entering beta end of the month
     
    Last edited: Nov 18, 2016
  36. antoripa

    antoripa

    Joined:
    Oct 19, 2015
    Posts:
    1,163
    Hi,
    I would buy BuildR, but I am reading about a new version. I am wondering if buying now the current, update will be for free. Thanks a lot
     
  37. jasperstocker

    jasperstocker

    Joined:
    Jul 7, 2010
    Posts:
    429
    The grace period for BuildR upgrades would be likely from when I announced version 2.0 back in July.
     
    antoripa likes this.
  38. antoripa

    antoripa

    Joined:
    Oct 19, 2015
    Posts:
    1,163
    Thanks ... I will start buying the current version ... any ETA for the new release ?
     
  39. jasperstocker

    jasperstocker

    Joined:
    Jul 7, 2010
    Posts:
    429
    Hoping for testing over December. Release early next year...
     
  40. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,643
  41. jasperstocker

    jasperstocker

    Joined:
    Jul 7, 2010
    Posts:
    429
    :D I'm very busy. But I'm hoping to have 2 ready for BuildR's 4th birthday next month.
     
    docsavage likes this.
  42. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,643
    @jasperstocker - I've had BuildR for a long time but haven't used it. As I was looking it over briefly last night, it seemed in terms of work flow like it might be advantageous to change it so that it would build floors based off of scriptable objects. I'm not entirely sure how it would work, but here's the basic idea.

    Have a GO in the scene with a builder script on it, to which a user could drag a few SOs, each of which defines how to build a floor (basement, ground, middle floor, roof, etc.). This would make up a building, which could then be saved off as a prefab. Like, if I wanted to make a museum, I could create a "Museum" GO, add the builder script, and into the builder script toss in my SOs that define the ground floor, middle floors, and rooftop, plus whatever else, and then save that Museum GO as a prefab in my project, and voila ... instant procedural Museum whenever and wherever I want it.

    Also, if I want to see or tweak my floor, all I have to do is drag the SO into a GO with a builder script, and it would display and I could see how I want to change it.

    That way, as I think about the architectural style of my city (art deco, modern, residential, etc.), I could design several floors as SOs, atlas their materials, assign the building prefabs to places on the map (to show where I want buildings to go, and of what dimensions), and then either in the editor by hand or at runtime by code assign the SOs that define the floors to the builder script.

    Since I have Map-ity (with the BuildR module), I could have it assign building prefabs to the appropriate places on a city map, and have it randomly select the floor definition SOs from lists (ground floors, rooftops, etc.) to build out the buildings. Then I could go in and tweak the scene, turning off the random function on a particular building and assigning my own building, so that if I need a bank here, I can do it, or a cafe there, and if I need a skyscraper there, I can do it, but otherwise all the repetitious grunt work of assembling miscellaneous buildings is done programmatically.

    If I have a few buildings, like skyscrapers or buildings on a hillside, that are always visible, I might want to select those out, have them build, and mesh combine them.

    Then there are things that can be added to buildings after the levels have been placed, like front porch / deck / stairs to front door (like with a brownstone), outdoor lobby at front door (like a resort hotel might have), rooftop objects, fire escapes, exterior elevators, outdoor cafes, signage, exterior lighting, and parking lots. I'm not sure if BuildR will do that sort of thing, but that's an interest of mine. Possibly a building could have sockets for side objects, which could be anything, including another building.

    A feature that would probably be very helpful, if possible, is trying to make unseen parts of buildings able to benefit from occlusion culling. So if you're standing on one side of the building, the opposite side doesn't have to render, or if you are at ground floor unseen rooftop objects might not render. That could save a significant percentage of the rendering, if you have a lot of buildings. It seems to me that if each side of a building was a socket, it could be configured so that any socket that is not visible could be turned off. (This would also then apply to any other socket, like signage, parking lot, etc., in that if they are not visible the meshes could be turned off.)
     
    Last edited: Feb 10, 2017
  43. jasperstocker

    jasperstocker

    Joined:
    Jul 7, 2010
    Posts:
    429
    Wow Hopeful, lots of great feedback.
    Scriptable objects are highly leveraged in 2, but it's completely different to how you've proposed.
    Floors and the roof are still within the building instance. But we have surfaces (BuildR's own texture system), facade designs, wall sections (that make up a facade) and gables that are SO based.
    But I do like the idea of having some kind of overall style to apply to the whole building, that would be powerful!
     
  44. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,643
    Ah, glad to see SOs are going to be used in some way. I just love them. So useful!

    As for the sockets and occlusion culling, if these exist they would be controlled by LOD. At LOD0 the whole building with signage and other features (sockets) would display, so you can get proper shadows off the building. But as the camera moves away, shadow accuracy is less feasible, so LOD1 (or LOD2) could feature just the facing sides of the building and sockets that are occluded might disappear.

    Another feature I was thinking about is night lighting. I don't know the best way to go about it, but I was thinking maybe there could be a way of having something like emission textures for windows, such that they could be lit (preferably to varying degrees) at night by adjusting their HDR values.
     
  45. jasperstocker

    jasperstocker

    Joined:
    Jul 7, 2010
    Posts:
    429
  46. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,643
    Amplify has a "fake interior" sample shader that they provide, made with their Amplify Shader Editor. Not sure if that is of any use or interest, but ... there it is. :)

    I don't know if I'd use that all the time, but for ground level in commercial areas, for store displays, it could be great.
     
  47. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,643
    @jasperstocker - While I've not tried it yet, I think it is possible or almost possible to make a city block using the current edition of Buildr. Will this be expanded upon in the new edition?

    What I'm thinking is to start with a "floor" that is actually the curb, sidewalk, storm drains, and asphalt pavement of a block. Then on top of this the actual buildings are set, preferably selected from a provided random list, but automatically placed in a way that ensures a fit. Like, I make a list for "NY highrise upscale" and provide the footprints and materials for a set of buildings. I also feed it a footprint for the block that is to be filled. The script then builds the entire block, creating driveways in the sidewalk where indicated, creating an alleyway, office buildings, highrise parking lot, etc.

    With the ability to vary the list of building materials, number of floors, footprints, etc., essentially creating zoning definitions for the block, a person could set it up to build commercial, industrial, or residential areas, and even make variations according to region (like NY uptown style versus Los Angeles downtown style).
     
  48. jasperstocker

    jasperstocker

    Joined:
    Jul 7, 2010
    Posts:
    429
    Hi Hopeful, your name becomes quite apt ;o)
    So I can clarify that I have no plans for BuildR Building Generator to branch off into transport generation (roads, rails, street, etc). That is a whole other project I would like to do but haven't even started yet.
    I am incredibly close to completing version 2 now. I'm hoping this week or next to solve the last couple of issues that stand in the way of release. For anyone interested, attached is an early draft of the documentation.
     

    Attached Files:

  49. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,643
    I didn't mean to ask for streets, just the block. Seeing the block itself as a one-story building with sidewalk for a ledge and asphalt for a roof.

    Then you add actual buildings on top of that thin "city block" building. It seems to me it would be a lot like adding a slender tower or two to a wider base building.
     
  50. jasperstocker

    jasperstocker

    Joined:
    Jul 7, 2010
    Posts:
    429
    Ah - I see what you mean now.
    I don't think it would work well.
    Creating a whole building as a pavement/sidewalk.