Programming
Fundamentials
Setting Up Development Environment
UnigineScript
High-Level Systems
C++
C#
UUSL (Unified UNIGINE Shader Language)
File Formats
Rebuilding the Engine and Tools
GUI
Double Precision Coordinates
API
Core Library
Containers
Engine Classes
Node-Related Classes
Rendering-Related Classes
Physics-Related Classes
Bounds-Related Classes
GUI-Related Classes
Controls-Related Classes
Pathfinding-Related Classes
Utility Classes

What's Inside?

UNIGINE engine is a fully-featured 3D platform designed for creation of interactive virtual worlds with a photo-realistic quality. This powerful and extremely flexible solution is used for real-time simulation (transportation, military training, etc.), visualization (architecture, media installations, etc.) and game development.

However, UNIGINE is not some sort of application building constructor: it is a very robust, feature-rich, and optimized software library with a set of tools. So you will need some people in the team with programming skills (preferrably C++) to utilize the UNIGINE power for your projects. Please also note that some features are optional, depending on the SDK edition (Starter / Professional / Sim).

UNIGINE provides support for Windows, Linux and Mac OS X.

For more details, see hardware requirements.

Renderer

The UNIGINE image generator provides a near-photorealistic rendering of visual scenes based on sophisticated shading and lighting models, accurate atmosphere model, advanced special effects and lifelike post-processing.

  • Physically based rendering (PBR)
  • GGX BRDF: realistic speck from light sources
  • Ultra-quality environment probes
  • Energy conservation model
  • Microfiber effect for fabric
  • Cinematic post-effects: SSAO, motion blur, chromatic aberrations, grain effect, sharpness filter, etc.
  • Atmospheric light scattering for realistic simulation of the atmosphere
  • Excellent rendering of vast, detailed masses of vegetation
  • Configurable forward and deferred rendering
  • Support for GLSL, HLSL and UUSL languages for shaders
  • Support for both DirectX 11 and OpenGL 4.x

Image Output Schemas

UNIGINE handles various image output schemas:

Scene Manager

Built-in advanced scene manager is designed for handling virtual worlds of unprecedented scale filled with thousands of objects.

  • Support for 64-bit double precision of coordinates
  • Scene graph providing nodes hierarchy, easy control over nodes and branches relative object-space transformations, spatial multi-tree subdivision
  • Asynchronous data streaming
  • Advanced LOD system
  • Increased camera precision
  • Procedural placement of big amount of objects
  • Sectors / portals system for optimization of complex indoor scenes
  • Support for geo-coordinates
  • Extremely fast intersection / line of sight tests
  • Increased visibility distance

Built-in Objects

UNIGINE provides a set of built-in objects allowing you to create a complex, dynamic virtual world:

  • Nodes serve to organize other nodes into a hierarchy, create new pivot points and triggers
  • Light sources represent different kinds of the scene illumination: global, omni-directional, projected, etc.
  • Objects represent imitations of entities present in the real world: objects, sky, terrains, water, etc.
  • Effects contain particles systems, physical fields, volumetric objects, decals, etc.
  • Players represent different kinds of cameras

Physics Engine

There is a built-in physics engine available. Please take into the account that it is designed primarily for "game-level" physics simulation: for accurate simulation of physical processes (e.g.: flight dynamics model) it is recommeded to use the specialized solutions.

  • Collision detection and rigid body physics
  • Rag dolls
  • Various joints, motors and springs
  • Deformable cloth and rope physics
  • Dynamic destruction of objects
  • Force fields
  • Fluid buoyancy and two-way interaction
  • Time reverse feature

Application Programming Interfaces

You can choose among powerful UNIGINE APIs:
  • C++ API for maximum performance and seamless integration with the existing code base
  • C# API for a good balance between speed and ease of use
  • Fast iterative scripting with UnigineScript, featuring instant compilation

Input Systems

UNIGINE handles various user input schemas:
  • Standard PC keyboards and mice
  • Multi-touch screens
  • Gamepads and joysticks
  • Head trackers
  • 6 DOF positioning devices
  • Motion capture systems

There is also our API for adding custom devices.

Audio System

Multi-channel audio system with support for:

  • 3D effects
  • Sound occlusion
  • Reverberation zones

Pathfinding System

Any AI agent can use our built-in 2D/3D pathfinding module, featuring dynamic obstacle management, and deferred route detection.

Graphical User Interface

There are several ways to implement GUIs in UNIGINE-powered applications:

Tools

  • UnigineEditor provides the core functionality for creation and editing of virtual worlds for UNIGINE-based applications. It allows you to easily view and modify virtual worlds by adding, transforming and editing the nodes.
  • SDK browser for easy access to the SDK components and updates
  • Performance profiling tools
  • A set of other utilities for data conversion and compression
Last update: 2017-07-03