- This page explains an ideal technique for creating tile sets in 3ds Max or Maya.
A Tile Set is any number of assets designed in a semi-modular fashion that can be assembled by world builders in HeroEngine.
A tile set can be interior or exterior rooms or it can be fencing or a scaffolding system. The possibilities are endless.
When designing pieces that are intended to fit together seamlessly, there are many technical problems to consider.
- Ugly numbers. Designing the pieces to all fit a grid is key. All features that will intersect or interface with another piece should be sized as multiples of the grid unit. Avoid sizing pieces with more than one decimal place if possible.
- Visible seams. When the pieces are placed adjacent to each other you want to avoid any visible distinction between the two assets. This could be gaps between them, which can show as flickering lines from far away, or obvious changes in the texturing. Make sure that the vertices are placed precisely to avoid this.
- Z-fighting. This goes along with the above seams issue. Modular pieces that are designed to intersect each other can have issues with z-fighting, where the engine can't determine which face to display in front of which. You can either try to line up the edges of each piece to meet perfectly, but not overlap, or design the edges of each piece to have space to overlap without faces being to close together. Joints or supports along edges is one way to accomplish this.
- Placement. You want to create pieces that simplify the process of construction, without overly limiting their utility. Pieces that are too small will require a lot of repeated work. Too large and you are very limited in what you can create.
- Should it be modular? Sometimes it makes more sense to create a unique asset instead of constructing it from smaller pieces. Those unique pieces can still be combined with modular pieces. In that case you will want to design potential points of contact to fit with the modular set.
The ideal way to construct tile set pieces is to start with a grid. The grid needs to be defined based on what you are working on. Since .1=1 meter, we found that .25 is a good starting point for building an interior room Tile Set. This works with rotation as well. Until recently, it was only possible to snap an asset 90 degrees, but now you can choose whatever you wish. 15 degree rotational snap works out well because it covers, 30-45-60-and 90, also the smaller increment gives some visual feedback to what you are doing.
Although this tutorial is done in 3ds Max, it directly translates to Maya.
Once you are happy with your portal, duplicate it (as an instance if you intend to modify the portal so that both change accordingly) and flip it 180. Make sure your vertices are lined up perfectly.
Duplicate each door and make a network of them at 5m increments.
Now take them all, duplicate, and rotate them 90 degrees. At first glance this may seem counter-intuitive. But what you've just done is mark the doorway for every room you are about to build with that connector piece. You can make your templates with as many or few portals as you think you'll need. It's up to you and your needs.
Save out your template so you can always go back to it. Get a new file going with your template as a base. Delete portals until you get 2-4 that will form the edges of a room.
Once some portals are selected, attach the geometry and simply connect the interior walls, floor, and ceiling. After it is all connected, and there is a room-like shape, move the pivot point to (0,0,0) or anywhere that you would like the pivot to be. Sometime an offset pivot works better, it just depends on what you want.
- Important: The pivot must lay on the same grid increments.
Embedded Asset Settings
This is now done in Hero Asset Tools. This used to be done manually through the user defined property in 3dsMax and the Notes Property in Maya.
The format for this is as follows in both programs, though you should never have to edit this by hand, this is purely for knowledge of what happens under the hood.
Aside from texturing the model, it is ready. HeroEngine will now recognize these settings and snap your tile set together.
Multi Angle Set
Let's say we want to make a Y shaped room.
- From your template or portal source file select a location that works on 1 axis.
- Move the pivot to (0,0,0)
Duplicate 2 Instance 120 degrees each direction.
Just like in the previous demo, connect the walls, floor, and ceiling. It is strongly advised to make a more interesting shape than just what is being shown here.
- add in the Grid Snap settings to the user-defined properties
- export the same as above