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

Enabling the Optimize FX Layer feature removes the Layer 0 of the FX Layer. #122

Closed
noridev opened this issue Sep 8, 2024 · 5 comments
Closed

Comments

@noridev
Copy link

noridev commented Sep 8, 2024

In the case of MMD world, Left Hand(Layer 1) and Right Hand(Layer 2) are disabled in order from the top to prevent expressions from being mixed by the controller.
However, if you use the Optimize FX Layer function, the empty layer at the top of the FX layer is removed.

Judging from the fact that it is removed even when other animations are added, I think it is set to remove Layer 0 unconditionally.(maybe)

In general situations, there is no problem, but in certain worlds like MMD, I think manipulation according to the layer order can have an impact.

When testing, if you dance in the MMD world with an avatar with Layer 0 removed, the Weight of Left Hand(originally Layer 1) is not set to 0 in the debug window, but the Right Hand(originally Layer 2) and the layers below it are set to Weight 0.

It may be better to not remove Layer 0 at all, or to add a toggle such as MMD compatibility and it so that Layer 0 is not removed when checked.

@noridev noridev changed the title Enabling the Optimize FX Layer feature removes the top layer of the FX Layer. Enabling the Optimize FX Layer feature removes the layer 0 of the FX Layer. Sep 8, 2024
@noridev noridev changed the title Enabling the Optimize FX Layer feature removes the layer 0 of the FX Layer. Enabling the Optimize FX Layer feature removes the Layer 0 of the FX Layer. Sep 8, 2024
@Toys0125
Copy link

I want to comment as a workaround: having a valid animation like a reset animation in the base layer will prevent this, or using VRCFury, which puts a valid animation inside the base layer.

@d4rkc0d3r
Copy link
Owner

So if I read this right, I need to not touch (no merging, no deleting) the first 3 layers in FX for MMD compatibility?

If so I'll just add that to Keep MMD Blend Shapes and rename it to MMD Compatibility

@noridev
Copy link
Author

noridev commented Sep 10, 2024

That would be better.
Since Left Hand / Right Hand have VRC Animator Tracking Control, it is highly likely that they will not be merged anyway.

Therefore, it seems better not to merge or delete layers 0, 1, and 2 of the FX layer.

However, since there are definitely users who do not visit the MMD world and have a large number of layers, and want to reduce the number of layers by one to improve performance, I would like to suggest that rather than integrating with the Keep MMD Blend Shapes option, enable the MMD compatibility option to allow two settings to be selected.

@d4rkc0d3r
Copy link
Owner

d4rkc0d3r commented Sep 10, 2024

What use case is there to keeping MMD blendshapes when not going to MMD worlds?
In general I don't like to have too many options and to me it seems you either want all MMD compatibility or none.

@noridev
Copy link
Author

noridev commented Sep 10, 2024

Well, I don't know of any worlds that change the weight of layers 0, 1, and 2 other than MMD worlds.
But VRChat has defined the roles of layers 0, 1, and 2, and it is generally recommended to keep these layers.

However, some users who want to optimize might want to remove the unnecessary layer 0 among these layers. (Come to think of it, they could just delete the layer before building. Haha😂)

Okay, as you said, depending on whether the MMD compatibility option is enabled or not, it seems like it would be enough to remove layer 0 and remove the MMD blendshapes.

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

No branches or pull requests

3 participants