Yellow-Dog-Man / Resonite-Issues

Issue repository for Resonite.
https://resonite.com
141 stars 2 forks source link

Uploading FBX shape keys out of order #3106

Closed Wolf-Seisenbacher closed 1 month ago

Wolf-Seisenbacher commented 1 month ago

Describe the bug?

When I upload an FBX file, the shape keys are all out of order, and they change each time I upload the same FBX file. it's 100% of the time, without mods on, and tested it with various edited and non edited FBX files. This makes editing meshes to add shape keys exceedingly difficult, and breaks sorting algorithms done other than "by name". Uploading as GLB/GLTF doesn't have this issue, however when editing an avatar that was uploaded as a .FBX it doesn't work with mesh swapping.

To Reproduce

Upload a .FBX file (Avatar), check shape keys. Upload a second time, compare, and compare to blender, all 3 will be different orders.

Expected behavior

The shape keys shouldn't change order on upload to Resonite

Screenshots

Image

Resonite Version Number

Beta 2024.10.8.1349

What Platforms does this occur on?

Windows

What headset if any do you use?

Valve Index

Log Files

DESKTOP-UT6VD1S - 2024.10.8.1349 - 2024-10-21 21_15_44.log

Additional Context

While MonkeyLoader is on, I removed all my mods (Other than a UIX mod and the contacts sorting) they shouldn't have anything to do with an fbx import.

Reporters

Wolf Seisenbacher

Electronus commented 1 month ago

Looks like https://github.com/Yellow-Dog-Man/Resonite-Issues/issues/1106 is back.

Wolf-Seisenbacher commented 1 month ago

Looks like #1106 is back.

yep looks like the same thing. i was doing edits like a bit over a month ago and it was working fine. so something broke recently

Frooxius commented 1 month ago

Hmm that's a bit odd. I wonder if the native Assimp library got mixed up to an older version. Would someone be willing to check?

Wolf-Seisenbacher commented 1 month ago

Hmm that's a bit odd. I wonder if the native Assimp library got mixed up to an older version. Would someone be willing to check?

I dunno if this means anything, my Assimp.dll is V5.3.0.0

troyBORG commented 1 month ago

I dunno if this means anything, my Assimp.dll is V5.3.0.0

I checked, and downloaded the latest (assimp-sdk-5.4.3) from their website and its V5.4.3.0

But I think we have stuff adjusted on ours.
As I replaced the DLL to the new version and tried importing the FBX, and it came in very weird.

Frooxius commented 1 month ago

We don't use the version from the website. The latest version apparently has some issues from what I heard that are being resolved.

shiftyscales commented 1 month ago

@Frooxius - I had a peek into the commit history for our assimp related libraries- after you had merged @lxw404's fixes- there were no notable additional changes made to that repo. @Geenz had done some workflow updates- none of which touched the same files as in the fix.

Our AssimpNet library has not seen a commit since December of last year.

Frooxius commented 1 month ago

@shiftyscales What I was wanting to check if the actual outputted library changed. It's possible some of the build process changes made an older version end up in the build as a result.

I know we haven't made any changes to it, but the build process did change recently.

Wolf-Seisenbacher commented 1 month ago

@shiftyscales What I was wanting to check if the actual outputted library changed. It's possible some of the build process changes made an older version end up in the build as a result.

I know we haven't made any changes to it, but the build process did change recently.

I can confirm: Building https://github.com/Yellow-Dog-Man/assimp and replacing my Assimp.dll with the one I compiled fixed the issue on my end. This leads me to believe an older version ended up within the release build somewhere along the way

Wolf-Seisenbacher commented 1 month ago

Upon updating to Beta 2024.10.23.15 this issue is resolved. I wonder how the older Assimp.dll was in the last build?

Frooxius commented 1 month ago

Ah thanks for the update!

I think it's probably some build system shenanigans. Not all parts of our build system are fully deterministic yet, but I think the new SDK project style helped and put the right version of the library in there.

I'm going to close this.