编程
Fundamentals
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
应用程序接口
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
Rendering-Related Classes

Geodetic Pivot(测量支点)

注意
Geodetic pivot对象 在Unigine引擎的Sim版本中使用。在其它版本中,其仅相当于NodeDummy

geodetic pivot对象为一种抽象对象,这种对象内包括一个使用了支点的椭圆体。通过测量支点,可将对象放置在真实世界对应地方的场景中。

通过使有物体对象的平面发生弯曲,测量支点可以帮着将世界对象放置在其在真实世界中的位置处(纬度,经度和高度)。支点会将真实的测量数据转换成笛卡尔坐标并同时对物体对象进行“弯曲”处理以便模仿弯曲的地球表面。

测量支点仅能和ObjectMeshStaticObjectGrassObjectMeshClutterWorldClutterMesh Decals一起工作。

使用WorldClutter的弯曲ObjectMeshStatic

可参看

添加一个测量支点

要通过UnigineEditor添加一个静态网格到场景中,按下列步骤进行操作:

  1. 运行 UnigineEditor。
  2. 在菜单栏上点击Create -> Geodetics -> Pivot

  3. 将支点放置在世界中的某处。

建立一个测量支点

将测量支点添加到场景之后,设置位于测量支点节点 Pivot标签内的参数。

  • Location settings。支点在地球上的地理位置。使用3个组件对此参数进行指定:
    • Latitude是点在地球表面上的南北向位置。例如Tomsk市的纬度为56.4977100。 数值为0意味着赤道, 数值为90意味着北极, -90则意味着南极。
    • Longitude是点在地球表面上的东西向位置。例如Tomsk市的经度为84.9743700。值为 0意味着本初子午线(格林威治)。这种场支持两种变化范围:从-180180及从 0360
    • Altitude为位置高出海平面的高度。例如Tomsk市的海拔高度为117 米。
  • Ellipsoid settings.
    • Reference是被进行算术定义的椭圆体,这种椭圆体与行星的表面近似。我们提供目前流行的以地球为中心的参考椭球体:WGS84, GRS80, Airy 1830等。
    • Semimajor Axis为椭球体的最长半径。
    • Flattening 是球体沿着主轴被压缩的形式。如果值为0,椭球体将具有球状。如果值为1,椭圆体为圆形(完全平整)。
  • Calculation mode.
    • Fast模式使用大圆距离公式得以计算。其工作速率非常快,但在处理大距离问题时(~80000x80000 单位)会出现定位误差。
    • Accurate模式使用Vincenty's公式来计算椭球体表面的距离,计算精度以毫米计。执行计算操作需要花费更多的时间,但定位精确度极佳。

与测量支点协同工作

在添加并配置测量支点后,可通过简单地添加物体对象对这些支点进行“弯曲”处理:

  1. 在节点窗口中选择所需节点(静态网格,草,杂质或网格印花)然后将其设置为测量支点的后代。

要使弯曲对象返回到正常状态,仅需简单地改变节点层次结构:重新设置子节点的继承。当测量支点节点不再是某个对象的父类,此对象将对其可视化状态进行复原。

最新更新: 2017-07-03