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

Geodetic Pivot

Notice
Geodetic pivot object works only in Sim version of Unigine Engine. In other editions it's equivalent to NodeDummy.

A geodetic pivot object is an abstract object that contains an ellipsoid with a pivot point. By using geodetic pivot you can place objects on the scene on the corresponding places in the real world.

Geodetic pivot helps to place world objects on their real world positions (latitude, longitude and altitude) by curving a plane with objects on it. Pivot converts real geodetic data to Cartesian and simultaneously "curves" objects to simulate the contorted Earth's surface.

Geodetic pivot works only with ObjectMeshStatic, ObjectGrass, ObjectMeshClutter, WorldClutter and Mesh Decals.

Curved ObjectMeshStatic with WorldClutter

See Also

Adding a Geodetic Pivot

To add a static mesh to the scene via UnigineEditor do the following:

  1. Run UnigineEditor.
  2. On the Menu bar, click Create -> Geodetics -> Pivot.

  3. Place the pivot somewhere in the world.

Setting Up a Geodetic Pivot

After adding the geodetic pivot on the scene, set up the parameters located in the Pivot tab of the Geodetic Pivot node.

  • Location settings. The geodetic location on the Earth of the pivot point. It is specified by 3 components:
    • Latitude is the north–south position in degrees of a point on the Earth's surface. For example, Tomsk city latitude is 56.4977100. 0 value means equator, 90 value means the North Pole, -90 means the South Pole.
    • Longitude is the east-west position in degrees of a point on the Earth's surface. For example, Tomsk city longitude is 84.9743700. 0 value means a prime meridian (Greenwich). This field supports two ranges: from -180 to 180 and from 0 to 360.
    • Altitude is the height above sea level of a location. For example, Tomsk city altitude is 117 meters.
  • Ellipsoid settings.
    • Reference is a mathematically defined ellipsoid that approximates the surface of the planet. We offer popular geocentric reference ellipsoids: WGS84, GRS80, Airy 1830, etc.
    • Semimajor Axis is the longest radius of the ellipsoid.
    • Flattening is a compression of a sphere along major axis. If the value is 0, the ellipsoid has a sphere shape, for 1 value the ellipsoid has a circle (completely flat) shape.
  • Calculation mode.
    • Fast mode is computed by using Great-circle distance formula. It works pretty fast, but you'll get positioning errors on big (~80000x80000 units) distances.
    • Accurate mode uses Vincenty's formulae to calculate distances on the surface of the ellipsoid with a millimeter precision. It takes more time for calculation, but the accuracy of positioning is awesome.

Working with Geodetic Pivot

After adding and setting up the geodetic pivot, you can simply add object to "curve" them:

  1. Choose the necessary nodes (static meshes, grass, clutters or mesh decals) in the Nodes window and set them as children of the geodetic pivot.

To return curved object to a normal state, simply change the hierarchy of nodes: reset the child node inheritance. When the geodetic pivot node is no longer a parent to an object, the object will restore its visual state.

Last update: 2017-07-03