Step 1: Generate Road Network (mbRoadGen)
Step 2: Take Parcels Output
Step 3: Use mbOBBSubdiv or Parcelling Tools to Generate Lots
Step 4: Setup Scale and Areas. (mbSetupScales)
Step 5: Use different Generators to Generate Buildings from Lots.
In General we offer 3 ways of adding custom Props such as Windows and Doors.
The old Method:
Use a Object Merge SOP to merge all your props and add a group prefix. Connect this to the corresponding input of the Building Generator (Note: Newer Building Generators dont allow this anymore.)
Object Merge: Use /obj/myassets/door_* to merge all SOPs with the prefix door_
Primitive Group Prefix: door_ to generate door_0, door_1 groups etc.
New Methods:
Newer Building Generators will have Parameters to target to a Subnet or OBJ Network which will contain the Props within another Subnet or Geometry Container. This makes it alot easier replacing props and all Props can be located anywhere. This way multiple Building Generators can easily use the same Props without having to connect and merge nodes from one network to the other.
In a production You would create a Master OBJ Network at /obj/PROPS and in there you can organize all your props in a clean fashion, load them from disk and do whatever you like.
Standard Namings for Props Node:
Info:
Note: You can rename them to what you want but as Default we use these Namings. The common used for all Generators are: windowS_, windowFF_, door_
All others are special cases for more complex Building generators that have edge decorations and corner trimstones etc.
Standard Groups on Props that will be respected within most Generators:
Note that these are mostly only important for shading. The grpWall will be respected to receive UVs if no instancing is enabled.
With the March 2017 update, we also have an Instancing Option which will use an Instance of the Prop. This way we can place much more Windows. The Speed boost and memory Saving is really Huge.
In the image above we tested 20000 props which took 2560 milliseconds to place. We used 6 props in total.
This technique uses a point cloud to place props so in the future we will be able to export these to Unreal and Unity and use a static instanced mesh. In general you can place millions of windows at render them with this technique. Note that instancing also will look at how much Props you have in the Subnet. If you have windowS_0, windowS_1 and windowS_3, 3 different window props will be randomly placed.
Note: This workflow is still in tests and has some limitation. We will probably still have to add the option to select one of the windowS_ per Building.
More infos on the whole subject: http://www.sidefx.com/docs/houdini/model/packed
Instancing loads the props from memory so all coloring and texturing has to be made on the prop themself while without instancing we generate UVs on the fly. As with instancing we use the same object over again they will all use the same uvs. Use Vertex Texture paint methods to customize the looks further on a shader.
Unify Dev Notes: