Programming
Fundamentals
Setting Up Development Environment
Usage Examples
UnigineScript
C++
C#
UUSL (Unified UNIGINE Shader Language)
File Formats
Rebuilding the Engine and Tools
GUI
Double Precision Coordinates
API
Containers
Common Functionality
Controls-Related Classes
Engine-Related Classes
Filesystem Functionality
GUI-Related Classes
Math Functionality
Node-Related Classes
Networking Functionality
Pathfinding-Related Classes
Physics-Related Classes
Plugins-Related Classes
CIGI Client Plugin
Rendering-Related Classes

Creating and Importing Nodes

A world in UNIGINE is a scene that includes a set of different built-in objects with certain parameters. All objects added to the world are called nodes. Nodes can be of different types, determining their visual representation and behavior. Some node types appear visually and have surfaces to represent their geometry (mesh), such as Objects, Decals, and Effects. Other nodes (Light Sources, Players, etc.) are invisible.

There are a number of ways you can add nodes to your world. You can create them using the UnigineEditor's functions as described in this article. You can also create nodes at runtime via code.

Creating Nodes of Built-In Types

UNIGINE provides a set of built-in node types allowing that can be used to represent practically all of the objects present in real life. These node types are formed into several groups.

You can create a node of any built-in type by selecting the corresponding item in the Create menu and specifying necessary parameters.

Notice
Before creating nodes you have to create a world or open an existing one, otherwise the Create menu will be disabled.
The process of creation and the list of parameters available for each of the built-in node types is described in the corresponding article of the Built-In Node Types section.

Standard Primitives

UNIGINE lets you add any 3D model created in a third party digital content creation tool via the FBX import option. Apart from that it offers you a set of standard primitives, that might be helpful in certain cases. This set includes the following types: Box, Sphere, Plane, Cylinder, and Capsule.

These primitives can be used either as placeholders and prototypes, or to create world objects with a simple shape (e.g., a plane is commonly used as a flat ground surface).

You can create any primitive by choosing the corresponding item in the Create -> Primitives menu.

When creating a standard primitive the window with its parameters appears, as the following one for the Box:

Creation parameters for the box primitive

Having specified the primitive's parameters and clicking OK you confirm its creation. You can also click Cancel to abort.

After confirming the creation the Editor switches to the Snapping to Surface Mode, so you can specify the position of a new node.

Snapping to Surface Mode

Box

The Box primitive provides a simple geometry for representing boxes and cubes. It has the following parameters:

X, Y, Z dimensions along the X, Y, and Z axes.

A box with the specified sizes shall be created as a Dynamic Mesh.

Sphere

The Sphere primitive provides a simple geometry for representing balls and spheres. The sphere has the following parameters:

Diameter diameter of the sphere.
Segments number of the latitudinal and longitudinal edges of the sphere running from top to bottom from right to left. Increasing this value enhances the smoothness of the sphere by adding extra facets.

A sphere with the specified parameters shall be created as a Dynamic Mesh.

Plane

The Plane primitive provides a flat polygon mesh for representing ground and surfaces. The plane has the following parameters:

X, Y dimensions along the X and Y axes.
Segments number of the lengthwise and transversal edges cutting the surface of the plane into facets.

A plane with the specified number of segments and size shall be created as a Dynamic Mesh.

Cylinder

The Cylinder primitive can be used to represent cylinders and tubes. The cylinder has the following parameters:

Diameter diameter of the cylinder.
Height dimension along the Z axis.
Stacks number of latitudinal edges cutting the cylinder from top to bottom.
Slices this value determines how many edges are used to define the cylinder's circumference. The larger the number of sides, the smoother the cylinder appears.

A cylinder with the specified parameters shall be created as a Dynamic Mesh.

Capsule

The Capsule primitive provides a geometry for representing capsules or rounded edge tubes. The capsule has the following parameters:

Diameter diameter of the capsule.
Height dimension along the Z axis.
Stacks number of latitudinal edges cutting the capsule from top to bottom. One of them is reserved by the capsule's body and the other are distributed between the caps. Determines the smoothness of the capsule's caps.
Slices this value determines how many edges are used to define the circumference of the capsule's body. Also determines the smoothness of the capsule.

A capsule with the specified parameters shall be created as a Dynamic Mesh.

Creating Nodes via Asset Browser

A node can be created by simply dragging an asset from the Asset Browser either to the Scene Viewport or to the World Hierarchy window. Asset type determines the type of the node (or hierarchy of nodes) that will be created.

Drag-and-drop creation of nodes is supported for the following types of assets:

  • .node - built-in asset type which contains any node (or a hierarchy of nodes) exported from the UNIGINE project previously.

    This type of asset produces a Node Reference by default. You can change the type of node, that will be created by right-clicking on the asset in the Asset Browser window and selecting a corresponding item in the context menu:

    • Place as Node Reference will create a Node Reference.
    • Place as Node Layer will create a node of the Node Layer type.
    • Place as Node Content will import the contents of the *.node file, which can be a Static Mesh or any other node type, as well as a hierarchy of nodes.
  • .mesh - built-in asset type that describes static and skinned geometry.

    This type of asset produces a Static Mesh or a Skinned Mesh if the asset stores animation data as well.

  • .fbx, .obj, .3ds, .dae - assets that contain 3D models created using a third-party modelling software.

    This type of asset can produce a Static Mesh or a hierarchy of nodes depending on its contents (cameras, lights. etc.).

If you drag an asset to the World Hierarchy window, the created node will be placed right in front of the current camera. While dragging the asset to the Scene Viewport switches the Editor to the Snapping to Surface Mode, so you can choose where to place the created node.

Snapping to Surface Mode
Last update: 2017-12-21