Apparance Logo

TipThe best way start learning how to use Apparance is by working through the Tutorial project. This takes you step-by-step through the editor interface, basic editing, and some key modelling concepts.
NoteLaunch the tutorial by running the Open_Tutorials.cmd script in the Apparance directory. All the instructions you need are embedded as notes within the actual tutorial procedures.
WarningIf you really can't wait to get stuck in and explore the Future City demo and various examples, jump straight to the Walk-throughs section just below.

Getting Started

Let's get you up and running with Apparance.

  • Tutorials - Intro to finding your way round the editor and some basic procedure authoring
  • Walk-throughs - Guides you through a few quick starting places to explore
  • Directory Structure - Where all the files live and what they are for
  • Projects - How procedures are organised
  • Launching The Editor - Editing environment where all the magic happens
  • Launching The Player - Standalone player for flying round procedural scenes
  • New Project - How to set up a new (empty) project

Tutorials

A project specifically for learning the basics of the editor and procedure creation has been included to get you going. It is recommended that you start here to familiarise yourself with a few basic controls and concepts before diving into the examples and tweaking procedures.

Use the Open_Tutorials launch script to get started.

Walk-throughs

Future City

To get stuck in, here are a quick list of steps to get you in and viewing the Future City demo.

  1. Launch the editor with the Open_Future_City script.
  2. It should open on the main City.Future City procedure, and the scene 'rez-ing up' in the 3D view
  3. Press Space to switch to the large preview window
  4. Use Right to look around the 3D view, and WASD to explore the city. Additionally Wheel can be used to adjust movement speed.
  5. If you want to try another city, change the Variation# property in the property panel to a new value (The City.Future City procedure must still be selected for this option to appear)

WarningIf the view gets stuck in expanded mode and Space won't toggle it back the workaround is to left click in a property text-edit field and then left click out of it (e.g. prop panel background), then try Space again.
TipYou can view the Future City demo scene full-screen in the Apparance Player with the View_Future_City launch script
TipFor a smoother 3D navigation experience, Apparance supports the Xbox 360 game-pad (see Controls section for details)

Web Site

To have a play with the web-site generation project try the following:

  1. Launch the editor with the Open_Web_Site script.
  2. The Site.Homepage procedure should be open and have been run ('viewed').
  3. Go to the directory you ran the editor from and navigate to the Intermediate\Web folder.
  4. Open the index.htm file in your browser to view the generated page.

NoteTo generate the rest of the site you will need to change the text in the information panel from Site.Homepage to Site.* and accept the prompt. This will run all 13 procedures after each edit or F5 run.

If you'd like to have the procedures run when you edit the source markdown files (e.g. Data\Web Site\content\pages\about\about.txt) then you need to point the watch folder at Data\Web Site\content).

TipThe watch folder can be chosen using ... or cleared to stop watching using X next to the folder display field in the information panel

Examples

There are lots of test and example procedures collected over the development of Apparance available for exploring in the 'Dev Procedures' project. Here's a quick guide to some of them:

  1. Launch the editor with the Open_Examples script.
  2. It should open with the Crate procedure open in the editor panel and the Test Crates scene appearing in the 3D view.
  3. To view each of the suggested procedures below, select them in the Procedure Browser on the left hand side and click the View button at the TOP LEFT of the UI.
  • Art.Main - A reproduction of an art installation at a sculpture park
  • City.City - An old test city populated with skyscrapers
  • Crate.Test - The wooden crate test scene (view test.Crate to play with a single crate)
  • Dungeon.Main - Room connectivity and sub-division experiments
  • Fable._Demo Pages - Old house in the style of a popular RPG game (click on the Design# property slider track to generate new houses).
  • Fractal.Main - A few fractal constructions (double click the Main procedure and rewire the output to select between Cantor Dust, Hilbert Curve, and Menger Sponge).
  • Fractals.Main - A dynamic detail version of the Menger Sponge. The closer you get, the more it recurses.
  • Graphing.Main - Playing with line drawing and recursion to graph a function
  • House.Main - Early house test, with manual detail control parameter
  • Landscape.Main - Early landscape test, manual detail control
  • Line Art.Main - Triangle line fills, example of re-use and recursion
  • Office.Main - Modelling test-case, the office desks we used to have at Lionhead
  • Scaffolding.Main - Stage trussing components
  • Skyscraper.Main - More early skyscraper tests, assorted parameters to play with
  • Space Ship.Main - Testing space-ship surface panels, in tower form. Change seed for new version.
  • Street.Testbed - Early street test, manual detail control
  • Tests.Columns - Simple row of columns, iteration test
  • Tests.Cube Array - A simple iteration example used in the Apparance docs.
  • Tests.Panel Tests - Recursive subdivision of a flat surface to provide detail
  • Tests.Sphere Tests - An egg
  • Tests.Stacking - The stacking example used in the Apparance docs.
  • Tests.Test Noise - Testing noise distortion operator
  • Tree.Main - Early tree experiment, change seed for new tree

TipYou can view the Crates example scene full-screen in the Apparance Player with the Play_Examples launch script

Directory Structure

  • Data Folder - Where the procedures live, grouped into project folders.
  • Bin Folder - Executable programs, editor and supporting libraries.
  • 3rdParty Folder - External utilities, sometimes used by Apparance
  • Launch Scripts - Shortcuts to a few projects

Projects

Procedures are segregated into Projects, each with its own sub-folder in the Data folder. You can only work on one project at a time, specified on the command line with the -project switch.

Launching The Editor

There are a number of launch scripts that can be used to get started, or you can create a short-cut and add your own command line parameters to select project. Running the editor will start the Apparance engine, open the main UI, load all the projects procedures and restore the last procedures you were editing and viewing ready to carry on.

  • Open_Tutorials - Some basic tutorials to follow within the editing environment
  • Open_Examples - A collection of procedures and tests accumulated during development
  • Open_Future_City - The main technical demo, a large futuristic city
  • Open_Web_Site - The procedures set up to build this website
  • Open_Guildford_Game_Jam_2016 - The game-jam entry 'Two Choices' game
  • Open_Birthday_Cake - A bit of fun with procedural cakes
  • Open_Christmas - Playing with snowy landscapes for a greetings card
  • Open_New_Project - An empty project if you want to start a-fresh

Launching The Player

There is a stand-alone version of Apparance for exploring procedural scenes without all the editing functionality. There are a few launch scripts to get you started.

  • Play_Future_City - Explore the main technical demo, full-screen.
  • Play_Guildford_Game_Jam_2016 - Play the game-jam game 'Two Choices', full-screen.
  • Play_Examples - View the Crates test scene, full-screen.
  • Play_Christmas - Explore the snowy landscape greetings card scene, full-screen.

New Project

To create a new (empty) project, take a copy of the New Project folder and give it a new name. This can then be opened in the editor using the -project="My Project" command-line parameter.

TipFor convenience, copy one of the launch scripts and edit it to open your new project.

If you want to 'import' procedures from another project, you can do this, but it is currently a manual process and prone to problems. At the moment, there isn't an easy way to trace any dependencies between procedures so it's likely you will miss one.

WarningThe engine doesn't handle missing dependencies elegently at the moment and will crash. It does log the problem ID to the log file (log.txt next to the executable) though.
TipGiven the logged ID, it is possible to use this to search for the missing procedures (they are text/xml files) as the ID of each one is near the top.