Latest  | Search | Go
Edit this page   |   Attach file 

  Home | Tutorials | Technical Reference | Runtime | API Documentation | ContentCreation > RealityBuilder  

Reality Builder

A quickstart overview of Reality Builder

Tutorial Author:Jesse Rapczak

Introduction

Reality Builder is a powerful WYSIWYG scene assembly tool that facilitates real-time play testing and level editing. For this reason alone it is superior to 3ds max for level design and scene assembly, and the extra stability it affords is a nice plus!

This guide will get you up and running with Reality Builder and introduce you to the content creation workflow.

Installation Checklist

Be sure you are running DirectX 9.0c.
Ensure you have installed the .NET 2.0 runtime.
X-File plugins for Max 6.0 and Maya 6.0 are listed below. You can use these to export meshes or skinned characters with animations into reality builder:

http://reality.artificialstudios.com/private_downloads/Maya6XFile.rar
http://reality.artificialstudios.com/private_downloads/Max6XFile.rar

Welcome to Reality!

The Interface

(click a part of the interface to go to that section)

File Menus

  • File >
    • New - Creates a new, empty scene.
    • Open - Opens a previously saved scene.
    • Save - Saves your current scene.
    • Save As... - Saves your current scene with a new name. All PRT data will be copied over.
    • Save Selected... - Saves the selected meshes as a .XML file, creating a new prefab.
    • Import Mesh... - The following formats are supported for import: .XML, .X, and .OBJ
    • Export Selected - Exports as .OBJ
    • Merge... - Merges another scene with the current scene. Can also Merge in .XML models and maintain their transform!
    • [Recent Files] - Lists recently loaded scenes.
    • Exit - Exits the program!
  • Edit >
    • Undo - Undo operation in editor.
    • Redo - Redo operation in editor.
    • Delete - Deletes the current selection.
    • Select Object(s)... - Brings up a list-based selection dialog.
    • Unhide All * - Unhides all hidden objects
    • UnFreeze All * - Unfreezes all frozen objects
    • Freeze Selected * - Prevents selected object(s) from being selected
    • Hide Selected * - Hides selected object(s)
    • Hide Unselected * - Hides everything but the selected object(s).
    • UnHide Selected * - Unhides selected object(s).
  • View>
    • Wireframe - Wireframe mode toggle
    • Visualize Polygon Counts - Visualizes the amount of polygons each mesh has, with red being the worst, and green being the best.
    • Visualize Passes - Visualizes the amount of passes on each mesh, with red being the worst, and green being the best.
    • Visualize Physics - Draws visual indicators of various physics properties and states
    • Occlusion Culling - Occlusion Culling Toggle
    • Draw Occlusion Tree - Occlusion Tree Bounding boxes rendering Toggle
  • Modifiers >
    • Flip Normals - Flips the sign on normals and tangents to repair incorrect meshes
    • Invert Mesh - Allows you to invert a mesh
    • Regenerate Tangents & Normals - Generates new per-pixel lighting data using different algorithms better suited to certain meshes
    • Center Pivot - Moves an object's pivot to its center of geometry
    • Combine Selected Prefabs - Combines selected prefabs into a single prefab. Performance improvement is neglegable for meshes that don't share the same materials.
    • Split Mesh... - Splits a mesh for rendering purposes. All splitting is done internally and adds no geometry. Beneficial for large meshes with lots of dynamic lights (like terrain).
    • Bake PRT lighting - Bakes current PRT lighting of the selected mesh.
    • Break Mesh into subelements - For use after the use of the Split Mesh modifier, this makes each subelement of the mesh a unique mesh.
    • UV Modifiers... - Has options to flip uv cordinates and/or fix normal mirroring.
  • Build >
    • Build Selected - Calculates PRT data for all selected objects that have SphericalHarmonics enabled.
    • Build Selected (Fast) - Calculates PRT data for all selected objects using preview quality.
    • Build All - Calculates PRT data for every SH-enabled object in the scene.
    • Build All (Fast) - Calculates PRT data for every object in the scene using preview quality.
  • Joints >
    • Fixed -
    • Distance -
    • Pully -
    • Prismatic -
    • Cylindrical -
    • Spherical -
    • Revolute -
    • PointOnLine -
    • PointInPlane -
  • Game >
    • Play! - Instantly enters the game as a DemoPlayer, allowing full interaction with the scene.
    • Reload Sky - Reloads the sky script for the current scene.
    • Edit World Properties - Loads the world properties in the General Tab for editing.
  • Help >
    • Visit Online Help... - Links you to this site.
    • About... - Info about RB

Back to The Interface

The Shelf

This is the area directly underneath the system menus. It is home to some pretty important tools:

  1. Save - Saves the current scene.
  2. Take Screenshot! - Takes a screenshot of the viewport and saves it in the /Screenshots folder.
  3. Select Object(s) - Brings up a list-based selection dialog.
  4. Asset Browser - Brings up the Asset Browser
  5. Translate, Rotate and Scale Manipulators
  6. Zoom Extents, Selected - Focuses the camera view on the currently selected object
  7. Toggle camera mode - Toggles between Orbit and Look-At style camera motion
  8. Camera Selection - Choose the perspective camera or one of the orthographic cameras (Top, Left, Right, Bottom, etc)
  9. Movement Speed Selection - Sets the current move speed while in editor mode.
  10. X Y Z Numeric Input - Displays and allows editing of numeric XYZ transformation values
  11. Snap - Toggles snapping and sets the snap grid size (in meters)
  12. Console Command Box - Allows entry of game console commands.
  13. Add Light - Adds a light to your scene
  14. Change/Insert Actor Dropbox - Changes or Adds the selected Actor type to your scene.

Back to The Interface

The Console, Status Bar, and Camera Sliders

Reality Builder will post progress reports, error messages, etc in the Console. This can give you valuable information about your scene including error messages and progress messages. Below the Console is the Status Bar, which displays context-sensative information. If you are selecting objects, the Status Bar will tell you how many objects you have selected and what their names are. If you are calculating PRT, the Status Bar will give you progress feedback.

To the right of the console are the Camera Sliders. These allow you to adjust how the Editor Camera handles in Reality Builder, though the FarClip value that you set will also carry over to the Game itself. To increase the FarClip Plane beyond 5,000 you can modify that value in Game/Edit World Properties.

Back to The Interface

The Sidebar

The General Tab

The General tab holds general parameters for each object. Its contents can change based on the current selection. For example, if you have a light selected, the general tab will hold the properties for the light including such things as type, color, intensity, radius, etc.

At the bottom of the tab there is a section called "Mesh Info". This section gives you all sorts of information about the currently selected mesh. This can be critical for optimizing your scene and keeping track of performance.

The Rendering Tab

The Rendering Tab holds settings for sub-meshes, sub-materials and Spherical Harmonics lighting. You can only make changes to one material at a time elsewhere in Reality Builder (e.g. in the Asset Browser), and it is from the Rendering Tab that you can select which sub-material you are working on for a given mesh.

Spherical Harmonics settings apply to the entire mesh (regardless of sub-material), as explained in SphericalHarmonics. The Rendering Tab includes most of the settings available in the 3ds max plugin, as well as the blocker list (on the bottom half).

The Selection Lists Tab

This tab holds the UI for Selection Lists. Selection lists are simply a tool to save selections of objects in order to select them easily later on.

To create a list:

  1. Click Add List
  2. A default name will appear in the drop-box above. If you wish, select the name and type a new one. You must click Rename for your changes to take effect! You can rename a list at any time.
  3. Select the objects in your scene that you want to add to your list. ALternatively, you may already have your objects selected when you initially create your list.
  4. Click Selected To List >>. This will add your objects to the list.
  5. You may add additional objects to your list at any time by selecting your list from the drop box and clicking Selected To List >>.

To use a Selection List:

  1. Find the name of the list in the drop box at the top.
  2. Click << List To Selected. This will select all of the objects in the list, cancelling the current selection.

To clear of delete a Selection List:

  1. Find the name of the list in the drop box at the top.
  2. To clear the list, click < Clear List > near the bottom of the interface.
  3. To delete the list, click Remove List

The Stats Tab

This tab provides vital feedback while working with your scene. On the left, On the right, you can obtain important performance information about the current viewport rendering. An explanation of some of the data you'll see here:

  • [Drawn] - Total draw calls, including extra passes
  • [Tris] - Total triangles drawn
  • [Verts] - Total vertices drawn
  • [Dynamic] - Number of dynamically drawn meshes
  • [View] - View Location
  • [FPS] - Frames Per Second
  • [RenderMS] - Milliseconds spent rendering
  • [PreRenderMS] - Time spent in pre-render logic
  • [PostRenderMS] - Time spent in post-render logic such as special effects
  • [BatchMS] - Time spent batching geometry for renderin
  • [EditorMS] - Time spent in Reality Builder logic
  • [ScriptMS] - Milliseconds spent in scripts
  • [TickMS] - Milliseconds spent in game/engine logic
  • [PresMS] - Milliseconds spent calling Present(), i.e. queued GPU commands
  • [SubMS] - Milliseconds in subsystems Audio, Input, etc

Back to The Interface

The Asset Browser

The Asset Browser is a powerful scene assembly tool. Eventually it will allow for browsing of prefab models, textures and materials with full support for rendered thumbnails.

Materials Tab

Currently, the material-editing features are completely functional. Material files are saved in a simple directory structure that can be easily managed form within the Asset Browser. You can create new materials from scratch or save materials from objects in your scene. Here's an overview of the Materials tab in the Asset Browser:
  1. Icons from left to right
    • Apply To Selection - Applies the current material to the selected mesh and sub-material group (set in the Rendering Tab on the Sidebar)
    • Get Material From Selected - Loads the material from the selected mesh and sub-material group (set in the Rendering Tab on the Sidebar)
    • Save All Modified Materials - Saves all materials that have been modified since opening
    • New Material - Creates a new, blank material
    • New Folder - Creates a new, empty material folder
    • Remove Material - Does not delete the material from the scene, only removes it from the browser or deletes the material file on disk
    • Reload Shader - Recompiles and reloads the shader for the current material
  2. Material List
    • Materials are organized and saved in system folders. This allows easy editing of Material Libraries through simple OS file management.
  3. Material Properties
    • The currently selected material's properties are editable here.
Prefabs Tab

The Prefab Browser is designed to make adding objects to your scene very easy. Preview thumbnails let you browse through all of the prefabs like a catalog. When you find an object you like, simply double-click it to add it to the scene directly in front of you! Alternatively, you can click the "Add Prefab" button - but double-clicking is just easier!

The prefab browser works in conjunction with the "Save Selected as Prefabs..." menu command. This command exports the select object(s) as a prefab and creates a thumbnail from the current camera view that will show up in the prefab browser. Prefabs should be saved in your "Models" directory to be auto-detected and loaded into the browser.

Actors Tab

The Actors Tab allows you to browse and edit the C# actors for use in Reality Builder.

Back to The Interface

The Context Menu

The Context Menu (displayed by holding down Left Shift and Right-Clicking) provides easy access to important Reality Builder systems, such as selection lists, inclusion lists, and Prefab instancing. Effective use of the context menu will shorten your scene construction times, allowing you to quickly perform common operations!

The Context Menu contains the following primary options, some of which will be active depending on the situation as described:
  1. Insert Actor: Lets you choose one of the module's Actor Classes to insert in front of the view.
  2. Convert To Actor: Lets you choose from one of the module's Actor Classes to change the currently selected Actor into (retaining the same mesh and transformation). "Convert" will not work properly with all Actor Classes, see the documentation of each particular Actor Class to determine whether it supports conversion. (examples that do include NetRigidBody, RotatingModel, and AttachedBody).
  3. Convert To Prefab Instance: Converts a "Prefab" into a "Prefab Instance", saving this Prefab into the "Models" library in the process. You can then clone the converted "Prefab Instance" to make shallow instance copies in your scene. This option will only be available if you have a single "Prefab" selected.
  4. Convert To Unique Prefab: Converts a "Prefab Instance" (or other Actor class) back into a unique "Prefab", effectively making it a unique static mesh within the scene (be careful as many unique Prefabs consume memory!).
  5. Add To Selection List: Adds the currently selected Actors to one of the Selection Lists in your scene (you can add Selection Lists via the Selection Lists Tab).
  6. Get From Selection List: Displays all the Selection Lists in your scene, from which you can either click the Selection List name itself (to select all its Actors), or expand the pop-out to select individual Actors on the list.
  7. Add To Target Lighting/Blocker List: Adds the selected Actors to the Target's Lighting (if target is a Light) or SH Blocker (if the target is an Actor with a Model) list.
  8. Remove From Target Lighting/Blocker List: If they're on it, removes the selected Actors from the Target's Lighting (if the target is a Light) or SH Blocker (if the target is an Actor with a Model) list.
  9. Set As Blocker/Lighting List Target: Allows you to specify the Target -- either a Light (for inclusion lists) or Actor-Mesh (for blocker lists) to use as the list target. Other Actors can then be added or removed from this Actor's Lighting or Blocker list via the Add/Remove context menu items above.

Back to The Interface

Default Key Bindings

Common functions in Reality Builder are assigned to keyboard shortcuts. These key bindings are held in RealityEngine.ini. You can change them if you like, but these are the default bindings:

  • Right-Click Mouse + W/A/S/D or arrow keys to move around in Reality Builder
  • 1 = Translate
  • 2 = Rotate
  • 3 = Scale
  • SPACE or Right Mouse Button = Move about in 3D world
  • Left Shift + drag = Clone object
  • Control-Click = Multi-select/deselect
  • Click-drag = Rubber band dragging multi-select box
  • CTRL-Z = Undo (Can undo a transformation or deletion)
  • CTRL-Y = Redo (Can redo a transformation or deletion)
  • Escape = Exit Play! mode
  • Plane Gizmo (Move Item along 2 axes instead of 3 or 1) = Hold Alt Key and Click-drag a gizmo axis

Back to The Interface

Tips & Caveats

Multi-selection: If you need to apply any setting to multiple objects, you can select them and change their parameters. Only the changed parameters will be updated.

RealityBuilder   Edit | Attach | Ref-By | Printable | Diffs | r1.22 | > | r1.21 | > | r1.20 | More