When creating a building through the Building Engine data system, you use cardinal directions.
North direction is the Unity3D positive Z-axis direction in Unity3D game world.
East is the Unity3D positive X-axis direction.
South is the Unity3D negative Z-axis direction.
West is the negative X-axis direction.
Some data of the Building Engine use values to represent the positions of the object. All positions use Unity3D unit.
Position X is the position of the object on the X-axis, at positive direction from the zero value.
Position Z is the position of the object on the Z-axis, at negative direction from the zero value.
Position Y or Elevation : the vertical position of the object, alongside the positive Y-axis from the ero value.
Some data have dimensions, from a top down perspective. Each dimension use Unity3D units.
Width is a dimension alongside the Unity3D X-axis.
Height is a dimension alongside the Unity3D Z-axis.
To represent your building, the Building Engine use seven particular data, as described below.
Map : a container for all of your creation with the BUILDING ENGINE. You can give it a position X and a position Z. MAP contains a list of BUILDING objects, and a list of PROP object.
Building is an object representing a complete building architecture. It contains a list of STORY objects, a list of PORTAL objects, a list of VERTICAL PORTAL objects, and a list of PROP objects. BUILDING object are located in the MAP object with position X, position Y and Elevation.
Story object is a representation of a rectangular layer of ROOM, inside a BUILDING object. You place it inside a BUILDING object with positionX, positionY and positionZ values. You give dimensions at the STORY object through the Width and Height parameters. The vertical dimension is determined by the storyHeight parameter. STORY object have a list of the ROOM objects.
Room object represents a rectangular space inside a STORY object, a closed box with a floor, a ceiling and a wall at each direction. Walls can be removed for more complex architecture. It's located with the positionX and positionZ values. it's dimensions are defined by the Width and Height parameters.
Portal object reflects the horizontal gate between two ROOM objects, or from a ROOM object to the outside of a building. With a PortalShape parameter, it can be a door, a window or other type of opening. PORTAL are located with a direction, and a position in this direction from the ROOM object.
Vertical portal is a representation of a vertical gate between 2 ROOM objects, like a staircase well or an elevator shaft. It remove the ceiling of the lower room, and create a corresponding hole in the floor of the upper room.
Prop is a representation of a 3D model or prefab used to decorate your building. This can be everything that is not architecture, like a door frame and it's door, a coffee table, a ladder, a water tower, an specific kind of roof, ... This data is facultive as these 3D models or prefabs can be added after the buildinds are generated. All others six data objects have a list of PROP. PROP object are located with the positionX, positionY, positionZ and rotation parameters.