Logo Test 2019
  • Tile Composer
      • Back
      • Documentation
          • Back
          • Introduction
          • Documentation: Tile Collections
          • Documentation: Tile
          • Documentation: Tile Composer
          • Documentation: Solvers
          • Documentation: Helpful Tools
          • Tutorial: Empty Tiles
          • Tutorial: Connectors
          • Tutorial: Neighbors from mesh
          • Tutorial: Neighbor matrix editing
          • Combining Workflows
          • Tutorial: Multiple Tile Composer Passes
          • Custom Grid Types
  • DirectX 11 Grass Shader
      • Back
      • Documentation
          • Back
          • General Overview
          • Grass Painter
          • Interaction System
          • CPU Fallback
          • Grass Texture Atlas Templates
          • Performance Optimization
          • Improve Visuals
          • Virtual Reality
          • Using URP and HDRP
          • Upgrade to version 2
  • Contact

Documentation

  • Introduction
  • Documentation: Tile Collections
  • Documentation: Tile
  • Documentation: Tile Composer
  • Documentation: Solvers
  • Documentation: Helpful Tools
  • Tutorial: Empty Tiles
  • Tutorial: Connectors
  • Tutorial: Neighbors from mesh
  • Tutorial: Neighbor matrix editing
  • Combining Workflows
  • Tutorial: Multiple Tile Composer Passes
  • Custom Grid Types

Table of Contents

  • Tutorial: Empty Tiles
    • Basics
    • Multiple empty tiles
Tile Composer > Documentation > Tutorial: Empty Tiles

Tutorial: Empty Tiles

It might be obvious that empty space is important for creating models. In Tile Composer this is even more true, as empty spaces shape the model itself.

Early during development I noticed that a single empty type could be too restricting for some models, which is why Tile Composer supports adding as many empty types as necessary. In this short tutorial, I will explain what empty types are and how to use them to create a simple building tileset.

Basics

First of, empty tiles are not special in any way, they are regular tiles with some automatically added neighbor restrictions. The only real difference is that the Tile Composer component will leave an empty space while creating the model, instead of instantiating a tile. Each empty tile can neighbor itself in all direction, but is forbidden to neighbor any other empty type. You can either use the empty neighbors toggles on each tile, or use the tile collection empty assignment tool to change which tile sides may neighbor an empty tile.

When you select a tile component, you can toggle which sides are allowed to neighbor an empty tile.

Select the tile collection and you can use the empty tile assignment tool, to toggle which sides are allowed to neighbor each tile. Simply click on the circles to toggle if the empty is allowed there, or not.

Multiple empty tiles

Whenever you have empty spaces that will never touch each other, you should probably use multiple empty tiles. For example the inside and outside of a building, where the inside will never be visible. The constraint solvers will likely have an easier time if you have stronger restrictions, so differentiating between empty spaces could be a good start. Splitting empty spaces could make tile definitions in general much easier. However you should always try to make the neighbor restrictions as restrictive in possible, at least when using Wave Function Collapse, block as many tiles as possible, so the solver can reach a valid model as soon as possible. Read the Wave Function Collapse documentation for more information about optimizing tile collections for that solver.


Here's an example of a model that is only possible with an inside and outside tile type, at least not easily.

The tiles meet perfectly at the diagonal, so they technically don't neighbor each other. With an inside empty type this becomes quite easy. The top roof tiles neighbor inside on the bottom, the diagonal roof tiles neighbor inside on their inner side. The solver handles the rest.

The house example is included with the asset, in Examples / Showcases / House. Please be aware that this model is not optimized, it's merely a demonstration on using the inside type.


If you think something is missing from this documentation page, or would like to give us feedback, please contact us through the contact form.
Logo Test 2019
© StixGames 2015 - 2023
All rights reserved.
The entered information could not be validated.
You will receive a mail to confirm your registration.

Impressum