poi-vrc / DressingTools

Dressing your own avatar is really that easy.
https://dressingtools.chocopoi.com/
GNU General Public License v3.0
86 stars 3 forks source link

Group Dynamics/Cabinet: VRCPhysBone Scripts Not Properly Enabled When Switching Outfits in Cabinet #407

Closed CuteLuoBo closed 6 months ago

CuteLuoBo commented 6 months ago

Translated content:

Problem Description: When using the "Cabinet" feature of the DressingTools plugin to switch between different outfits, an issue is found - although the newly switched outfit is correctly loaded, the physics simulation scripts (such as VRCPhysBone) under the DT_Dynamics hierarchy are not automatically enabled, causing the new outfit to not have the correct physics simulation effects.

Expected Behavior: When switching to a new outfit from the wardrobe, the VRC Phys Bone scripts related to that outfit should be automatically enabled to ensure that the physics simulation works correctly.

Reproduction Steps:

Import outfit prefabs (unzipped) containing dynamics effects into the DressingTools wardrobe, adjust the bone mapping (the bone node names in the clothing prefab do not completely match the original model), use "Auto/Retain Worn Item Bones xxx", and add to the wardrobe. Use the Gesture Manager for testing, select the wardrobe menu, and switch outfits. Observe that the clothing model's dynamics are not working correctly, and check that the physics simulation scripts (such as VRCPhysBone) under the DT_Dynamics hierarchy are still disabled. Relevant Environment:

Unity version: unity 2022.3.6f1 DressingTools version: 2.4.0

QQ截图20240421162914 QQ截图20240421163108 QQ截图20240421163233 QQ截图20240421163307

poi-vrc commented 6 months ago

I think it’s related to an inconsistent pass execution order issue discovered while I am working on 2.5.0. That should be fixed in the next version. But that takes a while before it can released.

I will try back-port the fix back to 2.4.0 few hours later. Would you mind testing that later on? Thanks.

CuteLuoBo commented 6 months ago

Sorry, I didn't notice there was an option to disable the clothing dynamics by default. After testing with that option turned off, it works normally now.

setWearableDynamicsInactive - 將穿戴物品動骨設定為關閉狀態 QQ截图20240421184743

poi-vrc commented 6 months ago

Yup, you could disable this feature to not disable any dynamics at all. But it could become a performance and physbone interaction issue (people might grab invisible unrelated bones) if you keep them all on. If you want to use it right now, I prefer you can roll-back to use v2.3 which probably does not have the bug.

Would you mind if I contact you privately or here later on to roll out a fix for this? Because this is not an expected behaviour. You can join the discord server https://discord.gg/Gyst8Pr2ay and I can pm privately. I can speak in Chinese (Mandarin and Cantonese) if you want to.

CuteLuoBo commented 6 months ago

Yup, you could disable this feature to not disable any dynamics at all. But it could become a performance and physbone interaction issue (people might grab invisible unrelated bones) if you keep them all on. If you want to use it right now, I prefer you can roll-back to use v2.3 which probably does not have the bug.

Would you mind if I contact you privately or here later on to roll out a fix for this? Because this is not an expected behaviour. You can join the discord server https://discord.gg/Gyst8Pr2ay and I can pm privately. I can speak in Chinese (Mandarin and Cantonese) if you want to.

I will try the 2.3.0 version and see if it improves the issue. I plan to go for some entertainment on VRChat tonight, so if any other testing is needed, it will likely be very late or tomorrow. I hope you don't mind.

poi-vrc commented 6 months ago

Sorry for late reply since I just ended work. I can confirm the issue, and I am surprised why I missed it. I will migrate it immediately.

poi-vrc commented 6 months ago

Migrated into 2.4.1-beta. You can update via VCC with Pre-release Packages on. https://github.com/poi-vrc/DressingTools/releases/tag/2.4.1-beta Since it seems a critical issue, this will be pushed to release within a day. Feel to try it.