Generate S3M from Multiple Model Datasets
Usage Instructions
This function supports generating a single S3MB or S3MBLOCK format file from model data (model datasets or CAD) in a datasource at once. Loading this model tile in a scene can significantly improve model browsing performance and display effects.
Function Entry
- 3D Data tab->3D Tiles group->Generate Tiles drop-down menu->Batch Generate Tiles by Merging module->Model button
- Toolbox->3D Data->Model Processing->Batch Generate Tiles by Merging
Procedure
- Open the datasource containing the model data for which you want to generate tiles in the Workspace Manager.
- On the 3D Data tab, in the 3D Tiles group, click the Model button in the Generate Tiles drop-down menu. The Batch Generate Model Tiles dialog box appears.
- To add a dataset, click the
button and select the dataset in the opened "Select" dialog box. - In the "Select" dialog box, select a datasource from the left panel. All model datasets within the selected datasource are displayed in the right panel. You can select all or multiple datasets. Click "OK" to add the selected datasets. You can also create a new dataset to add.
- Toolbar:
- Select All: Select all datasets in the list for batch operations, such as deletion and batch setting of tile parameters.
- Invert Selection: Select the unselected datasets in the list.
- Delete: Remove datasets from the current list.
- Adjust the order of datasets in the list using the Move to Top, Move Up, Move Down, and Move to Bottom buttons.
Notes:- When batch setting tile parameters, you need to press the Enter key after typing specific parameter values for the settings to take effect. Otherwise, batch assignment of the same parameter values may not work.
- Basic Settings
- Tile Name: The configuration file name for the generated tiles. It defaults to the datasource name and can be modified.
- Storage Path: The storage path for the model tiles. A folder named after the tile name is created at this path to store them.
- S3M Version: Supports four types: S3M 1.0, S3M 2.0, S3M 3.0, and S3M 3.01.
- S3M 1.0: Does not support PBR materials. Supports generating tiles based on a sphere.
- S3M 2.0: Supports PBR materials, adjusts attribute file storage structure (binary stream), and supports generating tiles based on a sphere.
- S3M 3.0: Supports OBB bounding boxes, supports generating tiles based on an ellipsoid, and supports Meshopt vertex optimization.
- S3M 3.01: Complies with the CH/T 9040-2023 standard, supports OBB bounding boxes, supports generating tiles based on an ellipsoid, and supports Meshopt vertex optimization.
- Texture Compression Format: For tile data with different purposes, the application uses different texture compression methods to reduce the amount of video memory used by texture images. Currently, the following four texture compression formats are supported:
- WebP: Significantly reduces the total data volume. A texture compression format supported on both PC and mobile devices.
- DXT (PC devices): Reduces video memory usage and improves rendering performance, but increases the total data volume.
- CRN_DXT5 (PC devices): Reduces video memory usage and total data volume, but requires longer processing time.
- KTX2.0: Reduces video memory usage and total data volume, but requires longer processing time than standard CRN. A texture compression format supported on both PC and mobile devices.
- Vertex Optimization Method: When the S3M version is S3M 1.0 or S3M 2.0, the vertex optimization method only supports No Compression. When the S3M version is S3M 3.0 or S3M 3.01, the vertex optimization method supports No Compression and Meshopt.
- Meshopt compression reduces the total data volume, is beneficial for front-end rendering, and provides greater compression ratios for BIM data. However, this method is lossy compression. It is recommended to split strip-shaped individual objects before using it.
- Attribute Storage Type: Used to set the storage format for data attributes. Supports the following types:
- S3MD: Stores in JSON format, allowing quick extraction of all attribute information for a single object.
- ATTRIBUTE: Stores as binary streams, more suitable for data with extensive attribute information. Allows quick extraction of attribute information for specified fields of multiple objects.
- DB: Stores as large DB files, available only when the S3M version is S3M 3.01. Supports rapid querying of object attributes for large-volume S3M tiles on the web and quick creation of thematic maps using attribute fields.
- Thread Count: Sets the number of threads used for batch generating model tiles. Default is 4. Setting the thread count too high may cause tile generation to fail. It is recommended to appropriately reduce the parameter value.
- File Type: Supports S3MB and S3MBLOCK.
- S3MB: A compressed data format of an open, extensible spatial 3D model data format, suitable for the transmission, exchange, and sharing of spatial 3D model data.
- S3MBLOCK: When generating 3D tiles from a model, textures are separated from the skeleton. It is mostly used for detailed models, effectively solving the problem of overly large tile files and improving loading efficiency. S3M 1.0 does not support setting the S3MBLOCK format. When the file type is S3MBLOCK, the Material Type does not support selecting PBR material.
- Password: Available only when the file type is S3MBLOCK. Used to encrypt the resulting tile data. Password-protected 3D tile data requires the password to be entered when opened.
- Coordinate Conversion: Accurately maps data from the source coordinate system to the target coordinate system through coordinate conversion. If not checked, the result data will retain the source coordinate system, and no coordinate conversion will be performed.
- Conversion Method: Sets the projection conversion method for the data, including Geocentric Translation (3-parameter), etc.
- Projection Conversion Parameters: Sets the projection conversion parameters for the data, including conversion parameters, scale difference, rotation angles, offsets, rotation origin coordinates, etc.
- Target Coordinate System: Sets the target coordinate system for the tile data by resetting the coordinate system, copying a coordinate system (from a specified datasource or dataset), or importing a coordinate system file (*.shp, *.prj, *.mif, *.tab, *.tif, *.img, *.sit, *.xml). After the target projection is set, detailed information about the target projection will be displayed in the "Target Coordinate System" field.
Notes:- If the source data is in a planar non-projected coordinate system, the resulting coordinate system can only be set to a planar non-projected coordinate system.
- If the source data is in a geographic or projected coordinate system, the target projection cannot be set to a planar non-projected coordinate system.
- Tile Settings
- Tile Edge Length: Displays and sets the size of the tile edge length, in meters. Different tile edge lengths correspond to different scales. When data is dense and both geometry and textures are simple, the tile edge length can be set to a larger value, such as 1000. When data is sparse and geometry or textures are complex, the tile edge length can be set to a smaller value, such as 200.
- Filter Threshold: Filters out sub-objects with small sizes in coarse levels, thereby improving performance for large-scene data. For example, if the filter threshold is set to 2, sub-objects with the longest edge less than 2 meters are filtered out at the coarsest level, sub-objects less than 1 meter are filtered out at the next coarser level, and so on. Sub-objects at the finest level are not filtered.
- Pyramid Segmentation Type: Sets the segmentation type for creating the tile's tree pyramid, including Quad Tree, Octree, and KD Tree. Quad Tree is suitable for building segmentation at the city level; Octree is suitable for segmenting a single tall building, primarily used for BIM data; KD Tree supports adaptive data segmentation.
- Tile Height: Available when the Pyramid Segmentation Type is Octree. Tile Height refers to segmenting the model along the Z-axis at a fixed height. This parameter is mostly used for data with taller model buildings.
- LOD Level Settings: Sets the level of detail (LOD) for 3D tile display. Using multiple levels of detail allows reasonable allocation of rendering resources during data rendering, achieving efficient scene display.
- LOD Levels: Sets the number of LOD levels for the tile. Set directly in the value box.
- Level: Displays the level of detail of the data. Data at each level has a different simplification rate.
- Simplify To: Simplifies the data at each level of the model according to the set percentage, in % (percent). A setting of 100 means all data details are retained without simplification. As the value decreases, the simplification level increases, and fewer data details are retained. If the dataset itself has LOD, this parameter is invalid.
- Advanced Texture and Attribute Settings
- Texture Settings: Currently supports two texture settings: Multiple Textures and Single Texture. Multiple Textures supports generating overlay textures, while Single Texture only supports generating the first layer of texture.
- Second Texture Type: Supports No Processing and Light-Shadow Texture. When the model data is night scene data, it is recommended to choose No Processing.
- Texture Size Limit: Used to set the texture size. Options include No Limit, 1024px*1024px, 2048px*2048px, and 4096px*4096px. The default is No Limit.
- Object ID Field: Used as the unique identifier field for associating and querying object attribute information on the front end after the service is published. It can be modified, and the field type is 32-bit integer.
- Vertex Weight Mode: Provides four methods: None, Dataset Field, Height, and Original Eigenvalue. Dataset Field uses a specified field as the weight, Height uses height as the weight, and Original Eigenvalue uses the model data's own eigenvalues as the weight.
- Eigenvalue Field: Available only when Vertex Weight Mode is set to Dataset Field. Used to select an attribute field from the dataset as the object's eigenvalue field.
- Field Settings: Available only when Vertex Weight Mode is set to Dataset Field. Used to batch select attribute fields of the model dataset as the object's eigenvalue fields. By default, all attribute fields are selected.
- Group repeated textures, Share textures, With normals, Instancing, With bounding boxes: Can be checked as needed. Share textures is only supported when the Texture Compression Format is "DXT (PC devices)".
- Group repeated textures: In the modeling process, a large number of repeated texture maps are often used on a single building. For example, railings and guardrails on different floors often have the same appearance. Sharing a single texture can greatly reduce performance and resource consumption.
- Share textures: The function of texture sharing is to export all textures used by the detailed level model to a single folder. If the same texture is used on different models, only one copy of the texture is exported. This function can be used if there are many buildings in the data using the same texture.
- With normals: Surface normals are an important property of geometric surfaces, mainly used to produce lighting effects that conform to visual habits during rendering. During tile rendering, rendering can be performed based on the model's own normals.
- Instancing: Only one object needs to be stored in memory. For reuses, only the position, rotation, scaling, and other states need to be changed.
- With bounding boxes: Used to generate the outline of 3D tiles. After being loaded into a scene, data with bounding boxes can be viewed by selecting Style Settings > Fill Mode as Fill and Outline in the scene.
- Data Beautification Settings
- Material Type: Used to set the material type for the resulting tile data, including: Common Material, PBR Material, UE Material, and Unity Material. If PBR materials exist in the model data, the resulting tile data is generated in PBR material format regardless of whether Common Material or PBR Material is selected. If the resulting data is to be used for special effects in game engines (UE or Unity), you can check UE Material or Unity Material.
- Material Association File: When the Material Type is UE Material or Unity Material, importing a *.json format material association file is supported. The material association file records the material mapping relationship between UE/Unity and the model dataset. When the tile data is used in UE or Unity, it can directly map to the corresponding material, improving data visualization effects.
- Generate Second Texture Coordinates: Sets whether to generate texture coordinates for the second texture (self-illuminating texture). The second texture is often used to achieve self-illuminating effects in UE, thereby beautifying the scene.
- Texture Horizontal Size: Available only when Generate Second Texture Coordinates is checked. Used to control the size of the second texture in the U direction, in meters.
- Texture Vertical Size: Available only when Generate Second Texture Coordinates is checked. Used to control the size of the second texture in the V direction, in meters.
- After completing the settings, click the "Generate" button to execute the batch generation of model tiles.
Notes:- If the coordinate systems of model datasets in the list to be generated are inconsistent, generation will fail.
- The tile edge length determines the number of tile root nodes: the larger the edge length, the fewer root nodes; conversely, the smaller the edge length, the more root nodes, and the longer the tile generation time. If the number of root nodes is too high, loading the model may become slower to some extent.
- The number of LOD levels affects the smoothness of transitions during model display: the larger the number of LOD levels, the smoother the transition effect during model display; on the other hand, setting the LOD level count too high will result in generating redundant levels of the model, and generating tiles will take a long time. Please set a reasonable value according to display requirements.
- Sphere-based data supports loading on ellipsoidal scenes; ellipsoidal data also supports loading on ellipsoids; ellipsoidal data does not support loading on spheres.