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

  • Workflow Showcase
  • Introduction to Tile Composer
Tile Composer > Documentation > Introduction

Workflow Showcase

Introduction to Tile Composer

Before diving deep into the individual parts of Tile Composer, let's start with what it's goal is and how the workflow looks like.


Tile Composer is a constraint based model generator, so basically you give it a set of constraints (your tiles) and it tries to fill a grid without breaking any of your rules. Depending on your rules the result might be unexpected, but with some refinement you'll be able to prevent the generator from taking any shortcuts.

Here's a simplified version of how you can use the asset:

  1. Create a tile set: An artist (or programmer, with nice programmer art) creates a set of models or textures that can be used to fill a grid.
  2. Define neighbor restrictions: Use one of the different workflows to define which neighbors are allowed for each tile.
  3. Create a grid where you want to place your tiles.
  4. Optionally: Add additional constraints, like blocking tiles (e.g. you want a house at one position, but nowhere else), change the probability of each tile, etc.
  5. You're done: The algorithm tries to find a combination of tiles that fits perfectly into the grid.
  • Create tiles
  • Define neighbors
  • Create grid
  • Additional constraints
  • Generate model

Now in reality it's not quite as simple, each tile definition can have a lot of unexpected consequences, but with a bit of tinkering and trail and error, you've just created your own bit of procedural creation, without having to touch any code!

In this documentation, I will walk through all parts of this process:

  • Creating tilesets using a variety of different methods of creating the initial constraints, for example directly from a base mesh, using connectors, or by defining every constraint by hand
  • How to create a tile set that can be easily solved
  • How to accomplish complex restriction (which is always a trade of complexity vs speed)
  • Defining the model, including the two types of solvers, with their various advantages and disadvantages.

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