You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
var index = FindVertex(vertex.Position, share.Points);
I'm not too familiar with how this code is supposed to work, but it seems like, at least for LOD0, it should be possible to forego the FindVertex call and just use the SourceIdx as the vertex index for the morph datum.
The text was updated successfully, but these errors were encountered:
the issue with this is that psk merges overlapping verts so the source index does not line up at all, there's no proper way to do this other than completely removing that part of the code, I'll look into it later but as far as I'm aware this is the only "hacky" way to remap the vertex indices properly
Are you sure that the PSK export merges overlapping vertices? 🤔 This doesn't appear to be the case, since the model that the person sent had many overlapping vertices.
it's possible the vertices for their mesh aren't perfectly overlapping (a tolerance could be added if that's the issue when comparing vertex positions) but it's done here
I had a report for this on my addon: DarklightGames/io_scene_psk_psa#49
To sum it up, the person reporting the bug has a model exported out of FModel that has overlapping vertices which also has morph data.
The code that exports the morph data (https://github.com/FabianFG/CUE4Parse/blob/b35b843a1193d225df8583b664ef66854557a613/CUE4Parse-Conversion/Meshes/MeshExporter.cs#L456C9-L470) will only ever export morph data for 1 of the overlapping vertices because of the the
FindVertex
call:I'm not too familiar with how this code is supposed to work, but it seems like, at least for LOD0, it should be possible to forego the
FindVertex
call and just use theSourceIdx
as the vertex index for the morph datum.The text was updated successfully, but these errors were encountered: