Material Management

Instructions

The material management function allows you to view, modify, edit, and export materials of model data, and intelligently solve texture occlusion issues based on AI occlusion repair capabilities.

To use the AI occlusion repair capability, you need to obtain the resource extension package and configure the relevant environment first. For detailed steps, see the 3D AI Function Environment Configuration document.

Function Entry

  • 3D Geographic Design tab -> Model Operations group -> Material drop-down menu -> Material Management

Operation Steps

View and Edit Model Materials

  1. Open a data source containing the target model dataset and add the model dataset to the spherical scene.
  2. Click the Material Management button in the drop-down menu of Material in the Model Operations group of the 3D Geographic Design tab, or directly click the Material button in the Model Operations group of the 3D Geographic Design tab to open the "Material Management" dialog box.
  3. Source data: Click the drop-down arrow on the right side of "Model Layer" to select the layer where the model object is located.
  4. Material list: You can view all materials of the object through the material list, and use the toolbar to create, import, export, and delete materials.
    • The list area displays all materials of the current model object.
    • Add: The add button on the toolbar is used to create a new material. After clicking the add button, create a material name and select a material type in the pop-up "New Material" dialog box. Click OK to complete the creation. The material name serves as the unique identifier of the material and cannot be duplicated. Therefore, when the new material name is the same as an existing material name, the texture and color in the material must be consistent.
    • Import: The import button on the toolbar is used to import an XML or JSON file with material information. After the material management dialog box is closed, only materials assigned to the model object will be saved.
    • Export: The export button on the toolbar is used to export all selected material files with material information and textures. Currently, only JSON format is supported.
    • Delete: The delete button on the toolbar is used to delete the selected material.
    • Assign material to selected object: The assign material to selected object button on the toolbar is used to batch-assign the selected material to the model objects selected in the scene. Note: When using this function, you need to select the target model object in the scene before opening the dialog box.
  5. Material editing: The right side of the material list displays the name and specific parameters of the selected material. You can adjust the material through specific parameter values. Currently, common material editing and PBR material editing are supported.

Common Material Editing

After selecting a common material in the material list, the right side of the material management dialog box displays the relevant parameters for editing the common material. Set the following parameters and click Apply to apply the edited material to the model object.

  1. Shading:
    • Material color: Set the material color through the drop-down color panel.
    • Transparency: Adjust the transparency by directly entering a value or clicking the right arrow and sliding the pop-up slider. The value range is 0 to 100. 0 means the layer is completely opaque; as the value increases, the layer becomes more transparent; when the transparency value is set to 100, the layer is completely transparent.
  2. Texture editing: Edit texture maps by adding, replacing, deleting, and setting buttons.
    • Add: Used to create a new texture map. After clicking the add button, select a specified image file in the pop-up "Browse for Folder" dialog box, then click Open to complete the addition.
    • Replace: Used to replace the image file of an existing texture. After clicking the replace button, select an image file in the pop-up "Open" dialog box to replace the selected texture.
    • Delete: Used to delete the selected texture.
    • Setting: Used to achieve offset, rotation, scaling, and export of texture maps. Click the setting button, and in the pop-up texture editor panel, set the texture coordinate offset, scaling, and rotation parameters of the map, and perform AI occlusion repair.
      • Replace: Supports replacing the image file of an existing texture. After clicking the replace button, select a specified image file in the pop-up "Browse for Folder" dialog box, then click Open.
      • Delete: Supports deleting the current texture image file.
      • Export: Supports exporting the texture as a png format to a specified path.
      • Supports setting the XY coordinate offset, scaling, and rotation of the texture.
      • AI occlusion repair: Use polygon or rectangle tools to frame the area to be repaired on the texture image. After framing, click Image Repair to perform the repair. You can repeatedly frame and repair the texture image as needed. After the repair is completed, press and hold the comparison button to compare the texture map before and after repair. After the operation is completed, click Finish to apply the repair result to the corresponding material.

PBR Material Editing

Physically Based Rendering (PBR) materials use physics-based parameters (roughness, metalness, etc.) to describe the optical properties of materials, enabling more realistic materials and surface details. Set the following parameters and click Apply to apply the edited material to the model object.

BaseColor

The base color is the appearance color of the object itself, without any lighting effects such as shadows or highlights. You can set the object base color by directly specifying the appearance color or adding a texture map that characterizes the base color. The specific parameters are as follows:

  1. Texture setting: Used to set the texture map file characterizing the object surface color. By clicking the setting button, in the pop-up "Texture Setting" dialog box, you can set parameters such as offset, rotation, and scaling of texture coordinates, and perform AI occlusion repair operations. See Common Material Editing for specific operations.
  2. Color setting: Used to set the object surface color. By clicking the drop-down menu, you can specify a color in the pop-up color table.
  3. Translation movement: Implements the translation movement of the base color texture. Translation movement supports setting the speed of translation movement along the U and V directions, with the range in texture coordinates per second.
    • Period: Sets the time for a single translation, in seconds.
    • U: Sets the number of translations of the base color texture along the X axis. Positive values indicate translation along the positive half of the X axis at the specified number of times within the period; negative values indicate moving along the negative half of the X axis at the specified speed.
    • V: Sets the number of translations of the base color texture along the Y axis. Positive values indicate moving along the positive half of the Y axis at the specified speed; negative values indicate moving along the negative half of the Y axis at the specified speed.
  4. Scaling movement: Implements the scaling movement of the base color texture. Scaling movement supports setting the speed of scaling changes along the U and V directions, with the range in texture coordinates per second.
    1. Period: Sets the time for a single scaling, in seconds.
    2. U: Sets the scaling times of the base color texture along the X axis (set to a positive value to compress against the X axis; set to a negative value to stretch along the X axis).
    3. V: Sets the scaling speed of the base color texture along the Y axis (set to a positive value to compress against the Y axis; set to a negative value to stretch along the Y axis).
    4. Figure: Example of "BaseColor" material

MetallicRoughness

Metallic/Roughness (metalness mode) is a commonly used workflow for PBR materials. The two parameters, metalness and roughness, control the reflectivity and light response intensity of the object surface.

When the metalness roughness texture is not used, the metalness roughness effect is determined solely by the metalness factor and the roughness factor. When the metalness roughness texture is used, the metalness roughness effect is determined by the result of multiplying the texture by the factor.

Figure: Example of metalness effect changing with metalness value (when roughness is 0, the change of metalness effect, from left to right, metalness is 0, 0.2, 0.4, 0.6, 0.8, 1)
Figure: Example of roughness effect changing with roughness value (when metalness is 0, the change of roughness effect, from left to right, roughness is 0, 0.2, 0.4, 0.6, 0.8, 1)
Figure: Transformer metal effect
  1. Texture setting: Use texture maps to control the variation of metalness and roughness on the material surface. Among them, the R channel in the texture is used to control metalness; the G channel is used to control roughness. When using texture maps, set the metalness and roughness factors to 1.
  2. Metalness factor: Controls the degree to which the material surface appears "metallic". The value range is 0 to 1. The larger the value, the higher the metalness level of the material. The higher the surface metalness, the more the surface color is driven by ambient reflections, and the more blurred the apparent color of the material itself. The lower the surface metalness, the less affected by the reflection environment, and the more obvious the apparent color of the material itself.
  3. Roughness factor: Controls the roughness of the material surface. The value range is 0 to 1. The larger the value, the greater the material roughness. The roughness of the material affects the degree of light reflection: the rougher the surface, the higher the micro-surface details, and the more blurred the reflection of the environment on the object; the smoother the surface, the stronger the reflectivity, and the more clearly the environment is reflected on the object.

Emission

When the scene lighting is relatively dark, the emission texture can make a certain part of the object appear to be illuminated from the inside (such as windows on buildings), commonly used for creating night scene effects.

When the emission texture is not used, the emission effect is determined solely by the emission color value. When the emission texture is used, the emission effect is determined by the result of multiplying the emission texture by the color value.

Figure: Emission texture effect
  1. Texture setting: Emission map texture file.
  2. Color setting: Controls the color and intensity of light emitted from the material surface.
  3. Translation movement
    • Period: Time for a single translation.
    • U: The movement speed of the texture along the X axis (set to a positive value to move against the X axis; set to a negative value to move along the X axis).
    • V: The movement speed of the texture along the Y axis (set to a positive value to move against the Y axis; set to a negative value to move along the Y axis).
  4. Scaling movement
    • Period: Time for a single scaling.
    • U: The scaling speed of the texture along the X axis (set to a positive value to compress against the X axis; set to a negative value to stretch along the X axis).
    • V: The scaling speed of the texture along the Y axis (set to a positive value to compress against the Y axis; set to a negative value to stretch along the Y axis).

Normal

A normal map is a special texture, usually with a blue tint, that allows you to add surface details (such as bumps, grooves, and scratches) to a model, enhancing the three-dimensional effect.

Figure: Normal map effect comparison (left image without normal map, right image with normal map)
  1. Texture setting: Normal map texture file.
  2. Intensity factor: The influence degree of the normal map texture.

Occlusion

The ambient occlusion texture appears as a grayscale image. White indicates areas that should receive full indirect lighting, while black indicates no indirect lighting. It simulates self-shadows appearing in crevices, used to add light and dark details to the model.

Figure: Occlusion map effect
  1. Texture setting: Occlusion map texture file.
  2. Intensity factor: The influence degree of the occlusion map texture.

Mask

Currently, it is only used when beautifying fine models in Unreal Engine for making night scene self-luminescence. For specific methods, refer to the SuperMap Hi-Fi 3D SDK for Unreal help documentation, the fine model data beautification workflow topic. The effect of the mask texture can only be seen in Unreal Engine.

Figure: Example of PBR using multiple textures
Figure: Overall material effect
  1. Texture setting: Occlusion map texture file.

Advanced Settings

  1. Alpha rendering mode: This parameter allows you to choose whether the object uses transparency, and if so, which type of blending mode to use.
    Figure: Cutout effect
    • Opaque: This is the default setting, suitable for ordinary solid objects without transparent areas.
    • Cutout/Mask: In this mode, there are no semi-transparent areas; the texture is either fully transparent or fully opaque. Without the need to create complex models, you can create complex cutout effects using a base color texture with transparency.
    • Transparent: Blend rendering is performed based on the alpha value in the material texture or material color and the background. The larger the alpha value, the less clear the background after blending, and the clearer the foreground, and vice versa. Suitable for rendering realistic transparent materials, such as transparent plastic or glass.
  2. Alpha cutoff threshold: In cutout rendering mode, areas below this transparency are displayed as fully opaque; areas above this transparency are displayed as fully transparent.
  3. Double-sided: Whether to enable double-sided rendering. If not enabled, single-sided rendering is used. Single-sided rendering means only one side of the model surface is rendered, and the back side is not rendered. This means only the model surface facing the camera will be affected by lighting and materials, while the surface facing away from the camera will not be rendered. This rendering method is suitable for most situations, especially when the back side of the model is invisible or has no important details. Single-sided rendering can improve rendering performance and reduce unnecessary computational overhead. Double-sided rendering renders both sides of the model surface, meaning no matter which direction the model faces, it will be rendered. Double-sided rendering increases rendering overhead.
Tip:

If you need to load and use the exported JSON material in SuperMap iClient3D, it is recommended that the texture map referenced in the material have a size of 2n, otherwise it may not be usable.