Build Tiles from Model Dataset

Feature Description

Through the Generate 3D Tiles... option in the dataset context menu, you can build tiles from a model dataset to improve the display efficiency of the data in the scene.

When an online trial license is used, tile data generated by this tool will display a "SuperMap Trial Use" watermark when loaded in the scene.

Function Entry

  • Workspace Manager->Model Dataset context menu->Generate 3D Tiles... button
  • Toolbox->3D Data->Model Processing->Generate Tiles from Model

Operation Steps

  1. Select "Generate 3D Tiles..." from the model dataset context menu to open the "Build Tiles from Model Dataset" dialog, where you can add model data and set parameters.
  2. Source Data: Use the toolbar to add, delete, and perform other operations on datasets.
    • Add: Click the Add button, select the target dataset in the pop-up selection dialog, and click OK to return to the "Build Tiles from Model Dataset" dialog, where you can see the selected dataset displayed in the list.
    • Select All: After selecting all datasets in the data list, you can perform batch operations on them, such as deleting and batch setting tile parameters.
    • Invert Selection: Selects the unselected datasets in the data list.
    • Delete: Removes the dataset from the current data list.
    • You can adjust the order of datasets in the data list using buttons such as Bring to Front, Move Up, Move Down, and Send to Back.
      Note:
      • When batch setting tile parameters, you must press the Enter key after typing specific parameter values for them to take effect; otherwise, the batch assignment of the same parameter values may not work.
  3. Data List Area:
    • Dataset:: Displays the name of the dataset used to build 3D tiles.
    • Data Source:: Displays the name of the datasource containing the dataset used to build 3D tiles.
  4. Basic Settings: Set the basic parameters for the resulting tile data.
    • Tile Name: Enter the tile name in the text box to the right of "Tile Name", which is the name of the root directory of the tiles.
    • Storage Path: Input the absolute storage path of the resulting tiles in the text box to the right of "Storage Path". This can be a local path or a network path. You can also select the path using the "Browse" button next to the text box.
    • S3M Version: Used to set the version of the resulting tile data, including: S3M 1.0, S3M 2.0, S3M 3.0, and S3M 3.01.
      • S3M 1.0: Basic version, uses a spherical datum for the geographic coordinate system.
      • S3M 2.0: The geographic coordinate system still uses a spherical datum. Based on 1.0, it adds support for the Draco Compression vertex optimization mode, supports WebP and CRN texture compression formats, supports physically based rendering (PBR) materials, adjusts the storage method for IDs, upgrades the property file storage structure (supports binary stream storage), and supports storing tiles in SQLite/MongoDB databases.
      • S3M 3.0: The geographic coordinate system is upgraded to an ellipsoidal datum. Based on 2.0, it adds support for the MeshOpt Compression vertex optimization mode, supports the KTX 2.0 texture compression format, supports OBB bounding boxes, PBR Materials now support semantic textures and mask textures, supports multiple LOD switching modes, supports skeletal animation, supports expressing more dimensional vertex attributes, and supports pixel-level semantic information for textures.
      • S3M 3.01 (Recommended): The geographic coordinate system uses an ellipsoidal datum. Based on 3.0, it is fully adapted to the CH/T 9040 industry standard, provides various open resources for data parsing or format conversion (address: https://github.com/SuperMap/s3m-spec), upgrades the attribute data storage structure (DB large files), supports expressing BIM component tree information, and supports expressing multi-temporal and multi-feature characteristic values.
    • Texture Compression Format:: Currently supports four compression types: WebP, DXT (PC), CRN_DXT5 (PC), and KTX2.0, with CRN_DXT5 (PC) as the default. Using different texture compression methods for data intended for different purposes can reduce the amount of video memory used by texture images.
      • WebP: Universal for PC and mobile, can reduce file size and storage space; however, it does not reduce video memory usage. Processing time is shorter.
      • DXT (PC device): Supported on PC, can reduce video memory usage and improve rendering smoothness; however, the file size is usually larger than WebP. Processing time is shorter.

      • CRN_DXT5 (PC): Supported on PC, file size is smaller than DXT, and video memory usage is the same as DXT. Processing time is longer.

      • KTX2.0: Universal for PC and mobile, can simultaneously reduce file size and video memory usage, and can be transcoded to adapt to various platforms/modern GPU formats. Processing time is longer.

    • Vertex Optimization Mode:: When the S3M version is S3M 1.0 or S3M 2.0, no compression is supported. When the S3M version is S3M 3.0, both MeshOpt Compression and no compression are supported.
      • Meshopt compression reduces the total data volume, which is beneficial for front-end rendering and provides a greater compression ratio for BIM data. However, this method is lossy compression, and it is recommended to split strip-shaped individual objects before use.
    • Property Storage Type: Supports types such as S3MD, ATTRIBUTE, and DB.
      • S3MD: Stored as a binary stream, but the main internal content is in JSON format, allowing for rapid extraction of all attributes of a single object.
      • ATTRIBUTE: Stored as a binary stream, has a smaller file size, and allows for rapid extraction of attributes of specified fields from multiple objects.
      • DB: Stored as DB large files, only available when the S3M version is S3M 3.01. Supports fast querying of object properties for large amounts of S3M tile data on the web, and facilitates quickly creating thematic maps using property fields.
    • Process Thread Count: Set the number of threads participating in tile generation to make tile generation more efficient. Setting the thread count too high may cause tile generation to fail. It is recommended to set the parameter value appropriately based on the specific computer configuration.
    • File Type: Set the file type for the resulting tile data. Options include: S3MB, S3MBLOCK.
      • S3MB: An open, extensible compressed data format for spatial 3D model tiles, suitable for data transmission, exchange, and sharing.
      • S3MBLOCK: This parameter is optional only when the S3M version is S3M 2.0 or higher. When finely generating tiles from models, storing textures and skeletons separately can effectively solve the problem of excessively large tile files and improve loading speed. S3MBLOCK tiles only support common materials.
    • Password: This parameter is available only when the file type is S3MBLOCK, and is used to encrypt the resulting tile data. A password is required when opening 3D tile data that has a password set.
    • Coordinate Transformation: Accurately maps data from the source coordinate system to the target coordinate system through coordinate transformation. If not checked, the resulting data will retain the source coordinate system without undergoing coordinate transformation.
      • Conversion Method: Set the projection method for the data, including Geocentric Translation (3-para), etc.
      • Projection Transformation Parameters: Set the projection parameters for the data, including transformation parameters, scale difference, rotation angle, offset, origin coordinates, and other parameters.
      • Target Coordinate System: Set the target coordinate system for the tile data by redefining the coordinate system, copying a coordinate system (specify datasource or specify dataset), or importing a coordinate system file (*.shp, *.prj, *.mif, *.tab, *.tif, *.img, *.sit, *.xml). After setting the target projection, the details of the target projection will be displayed in the "Target Coordinate System" area.
        Note:
        • If the source data is planar without a projected coordinate system, the resulting coordinate system can only be set to planar without a projected coordinate system.
        • If the source data has a geographic coordinate system or a projected coordinate system, the target projection cannot be set to planar without a projected coordinate system.
  5. Tile Settings:
    • Tile Side Length: Set the extent of a single tile. If the data has high precision, the tile side length can be appropriately reduced based on the default value; if the data is relatively coarse, the tile side length can be appropriately increased based on the default value.
    • Filter Threshold: Set the threshold used to filter out smaller sub-objects in coarser levels, thereby improving the performance of large-scene data. For example, if the filter threshold is set to 2, sub-objects with a longest edge shorter than 2 meters are filtered out in the coarsest level, those shorter than 1 meter are filtered out in the next coarser level, and so on. Sub-objects in the finest level are not filtered.
    • Pyramid Subdivision Type: Set the subdivision type for creating the tree-like pyramid of tiles, including: Quadtree, Octree, and KD-Tree. Among these, the Quadtree is suitable for subdividing buildings at the city level; the Octree is suitable for subdividing a single tall building and is mainly used for BIM data; using the KD-Tree allows for adaptive subdivision of model data without setting LOD levels, but it is recommended not to choose the KD-Tree for fine model data.
    • Tile Height: If the pyramid subdivision type is set to Octree, this parameter can be set to control the vertical dimension of the tiles.
    • LOD Level Settings: Set the level of detail for 3D tile display. Multi-level detail allows for reasonable allocation of rendering resources during data rendering, achieving efficient scene display.
      • LOD Levels: Set the number of LOD levels for the tiles. Set it directly in the value box.
      • Level: Displays the level of detail of the data. Each level of data has a different simplification rate.
      • Simplify To: Simplifies the data at each level based on the set percentage, expressed as a percentage %. A value of 100 indicates that all data details are retained without simplification. As the value decreases, the degree of simplification increases, and fewer data details are retained. This parameter is invalid if the dataset itself has LOD.
  6. Advanced Settings for Textures and Attributes:
    • Texture Settings: Currently supports two texture settings: multiple textures and single texture. The texture mode of double channels supports the generation of superimposed textures, while single channels only support the generation of the first texture.
    • Second Heavy Texture Type: Currently supports two texture types: None and Shadow Texture. Select a parameter based on the data texture conditions. It is not recommended when producing with night view effects.
    • Texture Size Limit: Used to set the texture size, in pixels. Options include: 1024*1024, 2048*2048, 4096*4096.
    • Object ID Field: Set the field for the unique identifier of the model object. The default is SMID. You can customize the setting by selecting a property field (short, int, or text type) from the model dataset via the dropdown menu.
    • Vertex Weight Mode: Provides four modes: None, Dataset Field, Height, and Original Feature Value. Among them, Dataset Field refers to using a specified property field as the object's eigenvalue field, Height refers to using height as the object's eigenvalue field, and Original Feature Value refers to using the characteristic value of the model data itself as the object's characteristic value. After the resulting tile data is published as a service, based on the object's characteristic values, gradient coloring or visibility control of the data can be performed on the web client.
    • Eigenvalue Field: This parameter is available only when the vertex weight mode is set to Dataset Field. It is used to select a property field from the dataset as the object's eigenvalue field.
    • Field Settings: This parameter is available only when the vertex weight mode is set to Dataset Field. It is used to batch select property fields from the model dataset as the object's eigenvalue fields. By default, all property fields are selected.
    • Repeat Map Group, With Border, With Normal, Instancing:
      • Repeat Map Group: Used to set whether the data uses repeat map grouping. When the data contains a large number of repeated texture maps, repeat map grouping allows multiple objects to share a single texture map, thereby reducing resource consumption.
      • With Border: Used to build the outline of the 3D tiles. After loading into the scene, the border lines can be viewed through the Styles operation.
      • With Normal: Used to set whether the data has normals. Surface normals are an important property of a geometry's surface, mainly used to produce lighting effects that conform to visual habits during rendering.
      • Instancing: Used to set whether the data is stored in an instanced form. When the data contains a large number of shared objects, instanced storage allows storing only one object in memory along with its spatial pose information such as position, rotation, and scale, thereby reducing resource consumption.
  7. Advanced Settings for Textures and Attributes:
    • Material Type: Used to set the material type of the resulting tile data, including: Common Material, PBR Material, UE, and Unity Material. If PBR materials exist in the model data, the resulting tile data will be generated in PBR Material format regardless of whether Common Material or PBR Material is selected. If the resulting data is to be used for creating effects in a game engine (UE or Unity), you can check UE or Unity Material.
    • Material Association File: When the material type is UE or Unity Material, importing a *.json format material association file is supported. The material association file records the material mapping relationship between UE or Unity and the model dataset. When the tile data is used in UE or Unity, the corresponding materials can be directly mapped, enhancing the data visualization effect.
    • Generate Second Texture Coordinates: Used to set whether to generate second texture coordinates for the resulting data. This is used when the model's own U/V values differ from the game engine's texture U/V values, and can be used to create self-luminous texture maps.
    • Texture Horizontal/Vertical Size: After checking "Generate Second Texture Coordinates", you can enter the horizontal and vertical dimensions of the texture here, in meters.
  8. After setting the parameters, click the "Generate" button to execute the 3D tile generation operation. Upon completion, S3M tile data will be generated in the specified path.
Note:
  • When creating new 3D tiles, it is recommended to generate different 3D tiles in different directories. This is because when building 3D tiles, related data will be generated in the specified directory. If two 3D tiles are generated in the same directory simultaneously, data within the same longitude and latitude range from the two 3D tiles may use the same tile directory and tile files.
  • When building 3D tiles from models, if a single tile is larger than 5M, a prompt will be output in the output window. When a single tile is larger than 5M, the following methods can be used to reduce the size of the tiles: compress textures, optimize vertices, limit texture size, reduce tile side length, change the pyramid type to Octree, and increase the simplification rate of LOD levels.