Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

All meshes in a model get deselected randomly (Didn't use nextObject!! WTF!!!) #6827

Open
yuberee opened this issue Nov 6, 2024 · 9 comments
Assignees

Comments

@yuberee
Copy link

yuberee commented Nov 6, 2024

Describe the bug

Everytime models are moved or recompiled, all meshes get deselected turning it into an invalid model.
When that happens, there are no changes to the file itself, but we have to go in and manually enable each mesh individually and restart S&box for it to register.
This started happening with #6493

This is what the .vmdl looks like after reenabling the meshes:
Image

The file itself hasn't been changed in the past month, and it broke yesterday after I recompiled everything and uploading to sbox.game
This happens to everyone else as well, almost as if uploading it to sbox.game was the trigger

To Reproduce

Example model that gets the errors:
business_armor.zip

Logs (Inspecting the model and creating it in game):
sbox-dev.log

Expected behavior

Every mesh name should be valid

Media/Files

Image

Additional context

These are the errors getting reported on sbox.game after the update:

https://sbox.game/fish/deathcard/errors/view/129cdd3fd2132990c2abd02cf7d5de9947cad3db32a0290a7f8fb343f7f7558f
https://sbox.game/fish/deathcard/errors/view/d6eb5f29ecd38d5a433ee66b81b4a49c78e6d32cec646b44c03e59a5f00d6ad1

@handsomematt
Copy link
Member

Look what you've done @Gmod4phun

@Gmod4phun
Copy link

Hello, this is an unfortunate side effect of the changes I requested a while back. I deeply apologize to anyone who got inconvenienced by this (it happened to me, too, luckily I did not have to deal with that many assets to re-do the mesh filters).

While I agree this sucks, I still stand by the fact that it is a change for the better. In this case, some stuff breaks now (depending on the software used), but will never break again. If it was left as it was before, it could have gotten broken during model re-exports when transfering the models between different software, multiple times. Personally that would suck more.

Changing it back now makes no sense, it would just break the stuff again, and the old way of using mesh names (which ARE NOT always present in the FBX) instead of object names (which ARE always present in the FBX) was weird.

I believe that using object names is standardized among most, if not all engines/modelling applications. (I am happy to be proven wrong, or right, if that matters).

Once again I apologize, and I wish everyone all the best.

@Nolankicks
Copy link
Contributor

Should at least have some backwards compatibility. I don't think a change is good if it breaks games.

@wheatleymf
Copy link

Changing it back now makes no sense, it would just break the stuff again,

I assume rolling back this change would break less stuff than leaving it as is. Death Card for example has hundreds of assets that suffered from this change, leaving all of them broken. Unless FP makes some sort of upgrader, (or solves this conflict with old assets in any other way) fixing all these assets one by one would take ridiculously long time. I guess there are other games that may probably suffer from this as well.

Not sure how this change is worth breaking so much stuff. It wasn't an issue before and wasn't messing with any workflows from what I am understanding.

@youarereadingthis
Copy link

We need an upgrader. This change shouldn't have happened without one.

Sometimes things break in an experimental beta, but when it's to this degree..

@NotGaylien
Copy link

Personally i kind of like this change i have had issues with it in the past and just dealt with it and didnt think about it after,
and i have ended up giving up on naming shit entirely because it is so annoying and i feel like im wasting time copying my blender object name to the mesh name over and over and over.

if its possible to get an upgrader for old models, it would be great.

@Gmod4phun
Copy link

Gmod4phun commented Nov 6, 2024

Changing it back now makes no sense, it would just break the stuff again,

I assume rolling back this change would break less stuff than leaving it as is. Death Card for example has hundreds of assets that suffered from this change, leaving all of them broken. Unless FP makes some sort of upgrader, (or solves this conflict with old assets in any other way) fixing all these assets one by one would take ridiculously long time. I guess there are other games that may probably suffer from this as well.

Not sure how this change is worth breaking so much stuff. It wasn't an issue before and wasn't messing with any workflows from what I am understanding.

The issue before was that if someone in your group was using something like Max/Maya and exported an FBX, set up the model in modeldoc, and someone else in your team would have imported that model into Blender, did some changes etc, then exported it again, the modeldoc mesh filter list would have changed. (Max/Maya doesn't export mesh names, but Blender does). Importing back into Max and exporting again would just get rid of the mesh names again, changing the mesh filter all over again.

Indeed if there was a way of upgrading it without fucking people over, that would be nice.

@Retroeer
Copy link

Retroeer commented Nov 6, 2024

I think the change was and still is ultimately better for the game, I think an upgrader is reasonable but I don't know how much time it would take to even make something like that just for a couple hundred models, I don't think reverting the change is the best way forward though

@aylaylay aylaylay self-assigned this Nov 7, 2024
@aylaylay
Copy link

aylaylay commented Nov 7, 2024

So we've already discussed out of date models using wrong mesh names for the filter but I've made it so you wont get that nextObject spam, models without valid render meshes will use the error model.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: To triage
Development

No branches or pull requests

9 participants