Material Instance: Error: Too many texture coordinate sets defined on GPUSkin vertex input. Max: 4

Hello,

My debugging competence is not very good but tell me if I’m wrong, it seems that Vertex color input data in CesiumGlTFFunction is empty. So when you open ML_CesiumGltf and save it again, the terrain is empty (solid gray).

Thanks.

Sorry @0x974, I’m not quite following you. Can you walk us through what you’re trying to do and what’s happening?

Hello @Kevin_Ring, of course, I’ll try to be more specific. Here is how I can reproduce the issue.

First, I had to remove then re-install Cesium for Unreal plugin because it was broken (it will be after you follow these steps too).

Create a new project, add Cesium SunSky and Cesium World Terrain + Bing Maps Aerial Imagery.

Set the Cesium3DTileset material to MI_CesiumThreeOverlaysAndClippingTranslucent, for example. Nothing change.

Open MI_CesiumThreeOverlaysAndClippingTranslucent and change something. For example, change Overlay2 to OverlayTest. Save. Set again the Cesium3DTileset material to MI_CesiumThreeOverlaysAndClippingTranslucent.

Now the RasterOverlay is empty.

There is no way to get it work again, even by reversing the change.

It happend once the Material Instance is saved (then recompiled). I suspect this has something to do with CesiumGlTFFunction.

Thanks for the detailed instructions. I just tried it in UE 5.0, and my overlays were still working at the end. Of course, had I changed Overlay0 it would have broken, because that’s the Material Layer Key that my Bing Maps overlay is using. But changing it back would fix that, so I don’t think that’s the problem you’re seeing.

What version of UE are you using? What makes you think it’s related to CesiumGltfFunction? One thing to check: on the Details panel for the modified material, check if there’s “Cesium Material User Data” found under Advanced → Asset User Data. This is how Cesium “finds” the material layers associated with raster overlays, so perhaps something is going wrong with that.

By the way, we suggest that you avoid modifying the assets included in the plugin. Make a copy of them into your project instead.

Kevin

I am using UE 5.1 and plugin 1.20.1. Just tried again a new project from scratch and a fresh plugin reinstall.

In fact, I don’t even have to change anything to the Material Instance. Just open the MI, save it, and drag it again to the Material property of the Cesium3DTileset. Raster is gone.

Sure about the copy.

Yes, Cesium Material User Data is still there, I have not modified anything else.

What makes you think it’s related to CesiumGltfFunction?

In CesiumGltfFunction, the Base Color seems to not receive the correct info. If I replace the Vertex Color input by a Constant3Vector, the terrain has a color. If I plug the Vertex Color input back, the terrain is gray again.

After saving the Material Instance, did you try to drag and drop it again to the Material property?

Ok I can reproduce this in UE 5.1. And if I click “Platform Stats” while the material is open, UE reports:

Which is very strange because “Used with Skeletal Mesh” is disabled, so I’m not sure why UE is concerned with any skinning. It may be a UE 5.1 bug, as it doesn’t seem to happen in UE 5.0.

I’ve opened a ticket on UDN to ask for advice from Epic:
https://udn.unrealengine.com/s/question/0D54z00008dPGb6CAG/too-many-texture-coordinate-sets-defined-on-gpuskin-vertex-input-in-ue-51-but-not-earlier-versions

Kevin

1 Like

Finally! Thanks :smiley:

Hello Kevin,

Do you have any idea when will it be fixed?

Thanks!

Epic has implemented a fix, which I believe should be in 5.1.1, but I don’t know when that will be. I also still need to 100% confirm that it fixes the problem, but I’m optimistic.

1 Like

Well, I tried out a build with Epic’s fix, and… it didn’t help. It did fix one small problem (the broken Platform Stats display), but not the main one, where materials stop working when you save them in UE 5.1.

But, I looked deeper, and found a bug in Cesium for Unreal itself - specific to UE 5.1 - which I’ve now fixed in this PR:

We’ll include this in this week’s release, and no need to wait for UE 5.1.1.

Kevin

1 Like