编程
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

Setting Up Object LODs(建立层次细节度对象)

对项目进行优化的一个最主要的方法就是使用Levels of Details (LODs)层次细节度。 这样做的意义在于当网格离摄像头较远时,它能将细节要求高的网格转换成对细节要求不那么高的网格。为达到这样的效果,你需要带上细节化的模型及创建数个版本的模型,并且每一个版本所用的多边形数量都不宜太多。

带有细节层次度的网格作为单个对象导入到Unigine中,它有数个surfaces(面) 。这些面代表层次细节度。当需要将某个面转换成另一个面时,层次细节度的设置允许你将距离具体化。

此文主要讲述如何从3D编辑器中导出拥有细节层次度的网格,怎样将此网格添加到Unigine引擎中并具体化这些细节层次度网格表面的设置。

See Also

第一步:导出层次细节度

为通过使用细节层次度而达到优化项目的效果,你需要为网格对象创建一个或多个细节层次度。 这些细节层次度应当作为同一个网格的各个独立面而导出,每一个独立面都是网格的细节层次度。

按照下列操作步骤可导出细节层次度的网格:

  1. 在3D编辑器内,创建一个具体化的模型及数个拥有较少多边形数量的模型。例如,你可以拷贝现存的具体化模型,之后减少它的多边形数量。

    此文中,我们将使用Unigine SDK Browser中的飞机模型进行演示。此模型飞机的机身及机窗各有3个细节层次度,飞机的其他部分有另外3个细节层次度。

    17827 polygons11054 polygons2696 polygons
    33403 triangles20649 triangles4836 triangles
    LOD 0
    LOD 1
    LOD 2
  2. 将模型作为 *.fbx文件导出。

最后,你将得到一个以细节层次度命名有9个面的网格。

第二步:在世界坐标里添加网格

as described here在世界坐标中加入导出的网格。默认值为所有面(细节层次度)都同时可见。

导出模型的所有面代表细节层次度:

第三步:建立层次细节度

这部分阐述当摄像头离网格越来越远时,如何建立网格的层次细节度,怎样把具体化细节高的细节层次度平滑地转换成细节要求相对较低的细节层次度。细节层次度的表面有3个参数:

注意
此部分我们提供一个赋值的实例,你可以具体化自己的数值。

视线可见距离及衰减距离

你应该为每一个细节层次度的表面设置具体的视线可视距离及衰减距离。按照下列步骤便可搭建细节层次度:

  1. 打开 Nodes(节点)窗口选择要添加的节点。
  2. Surfaces 标签里, 选择 the first LOD surfaces 并且:

    注意
    可将其它细节层次度的表面调为不可用,以此查看当前细节层次度表面设置的结果。
  3. 选择second LOD 面并且:
  4. 选择 third LOD 面并且:

你应当为同一个细节层次度的每一个面作出相同的设置。同一细节层次度的不同面应当有相同的设置,这样才能同时显现或消失。 Different surfaces from the one level of details should have the same settings to appear and disappear simultaneously.

最小及最大父类

LODs(细节层次度)的另一重要参数是 Min and Max Parents(最小及最大父类)

这些参数使你能够具体化层中哪些面或节点的最小及最大可视距离将被测量。使用默认值 1。 这样由于将被测量的是整个网格边界框的距离而非这些面自身的距离,因此网格的所有面将能同时转换。

关于这些参数请阅读 here

最新更新: 2017-07-03