I’m looking to use multiple instances of CesiumPolygonrasterOverlay to display various regions in distinct colors. I’ve done some research and came across a relevant comment:
Based on the information provided, I created a custom material with oneClipping layer, which I named LandTint. I then used this in oneCesiumPolygonrasterOverlay component. Up to this point, everything seems to be working fine.
The successful implementation of my raster polygon involved a single component and one clipping overlay:
I duplicated my Clipping layer and named it WaterTint. Then, I added another CesiumPolygonrasterOverlay component (LandMask1) and moved a polygon from LandMask to it. Unexpectedly, everything disappeared and I’m not sure why.
All my raster polygons vanished as shown in the image below:
I believe there may be some missteps in my process, but I’m uncertain as to where they might be. I’ve made every effort to be transparent in this matter. Could you possibly provide any suggestions? I appreciate your assistance.
I also think there might be an issue with my material, as everything seems to disappear right after I update it, even before I add the second CesiumPolygonRasterOverlay. However, I couldn’t find any related messages in the Output Log.
Here is my Output Log when I update material:
LogShaderCompilers: Display: ================================================
LogShaderCompilers: Display: === FShaderJobCache stats ===
LogShaderCompilers: Display: Total job queries 155, among them cache hits 65 (41.94%)
LogShaderCompilers: Display: Tracking 90 distinct input hashes that result in 59 distinct outputs (65.56%)
LogShaderCompilers: Display: RAM used: 183,81 KiB of 819,20 MiB budget. Usage: 0.02%
LogShaderCompilers: Display: === Shader Compilation stats ===
LogShaderCompilers: Display: Shaders Compiled: 0
LogShaderCompilers: Display: Jobs assigned 0, completed 0 (0%)
LogShaderCompilers: Display: Time at least one job was in flight (either pending or executed): 0.00 s
LogShaderCompilers: Display: ================================================
LogFileHelpers: InternalPromptForCheckoutAndSave started...
Cmd: OBJ SAVEPACKAGE PACKAGE="/Game/Materials/Slope/MI_ClippingTint" FILE="../../../../../../Users/Admin/Documents/Unreal Projects/CesiumPolygonTest/Content/Materials/Slope/MI_ClippingTint.uasset" SILENT=true
LogUObjectHash: Compacting FUObjectHashTables data took 1.45ms
LogUObjectHash: Compacting FUObjectHashTables data took 0.46ms
LogSavePackage: Moving output files for package: /Game/Materials/Slope/MI_ClippingTint
LogSavePackage: Moving '../../../../../../Users/Admin/Documents/Unreal Projects/CesiumPolygonTest/Saved/MI_ClippingTint0F28A2BB405663E5DAFCBFBE7255B1F9.tmp' to '../../../../../../Users/Admin/Documents/Unreal Projects/CesiumPolygonTest/Content/Materials/Slope/MI_ClippingTint.uasset'
LogFileHelpers: InternalPromptForCheckoutAndSave took 270 ms (total: 1.00 sec)
AssetCheck: New page: Asset Save: MI_ClippingTint
LogContentValidation: Display: Validating /Script/Engine.MaterialInstanceConstant /Game/Materials/Slope/MI_ClippingTint.MI_ClippingTint
Ah, I’ve just checked my material and yes, it’s the problem. The problem was in my Material Layer Blend settings where I mistakenly set the opacity mask outside the polygon to zero. This action cleared all opacity from the underlying layer. Moreover, the layer beneath it also cleared all opacity outside its area, rendering it invisible as its display zone was outside the upper layer.
To rectify this, I’ve made some adjustments. Instead of breaking all masks outside the polygon, I’ve decided to keep the material outside and only break the region within this polygon. This change will result in a terrain with multiple gaps, which are the regions I intend to preserve. The next step is straightforward - I just need to invert all the masks.