kurotu / VRCQuestTools

Unity editor extension to support uploading VRChat avatars for Oculus Quest
https://kurotu.github.io/VRCQuestTools/
MIT License
218 stars 15 forks source link

PhysBones Remover didn't actually remove colliders? #9

Closed CrashCat closed 1 year ago

CrashCat commented 1 year ago

I used the Convert Avatar for Quest wizard on my avatar and it seems to have worked, however after the conversion it brings up the PhysBones Remover and that didnt' work entirely. It did remove the Components down to the number I left, but even though I set it to remove all Colliders, the SDK control panel believes there are still Colliders.

image

image

image

Admittedly this doesn't matter in my case since the SDK says it's going to remove the colliders anyway, but if I did want any this is a mismatch. Also would be nice to have an option to remove Transforms since it's complaining about that but I confess I'm out of my depth here.

kurotu commented 1 year ago

Its' weird. In this case, Phys Bone Collision Check Count should become 0.

Possibly the tool actually didn't remove some colliders, so would you show "Phys Bone Collider Count" stats of SDK? (It's different from "Phys Bone Collision Check Count". image

And if any PhysBones still have collider settings, please show them, too.


I'm sure that optimizing Transform Count and Collision Check Count is not easy in current UI. I want to improve it when I have time.

kurotu commented 1 year ago

Recently probably I met similar situation. It's a bug so I'll fix in the next update.

kurotu commented 1 year ago

I released v1.9.1 which should solve the problem. Please convert again with it.

CrashCat commented 1 year ago

I think I had an issue with Unity not refreshing. I got the same errors again with 1.9.1 after removing the colliders:

image image

I tried exiting and reopening project just to be sure, then they were gone:

image image

This one isn't meant as a fallback so that's probably OK. Just want people to have an option if they want to try and show it, I will be playing it on PC anyway so reduced functionality is fine.

CrashCat commented 1 year ago

Okay fussed with it a bit more and was able to keep some colliders. I still don't understand why it's "2" in the remover and "64" in the Builder but maybe that's some sort of difference in units. Also this avatar was a little hacky when I got it so there may just be some stuff thrown together wrong.

image image

CrashCat commented 1 year ago

Possibly the tool actually didn't remove some colliders, so would you show "Phys Bone Collider Count" stats of SDK? (It's different from "Phys Bone Collision Check Count". image

Never mind I'm an idiot, I see where you're getting this now. I hadn't checked the "show all avatar performance details" in the settings. So that does show 2 which agrees with the remover.

image

So showing the stat of Collision Checks somehow in the remover would be helpful, but that's more of an enhancement request. Not extremely important since I can remove one at a time until it goes under the limit.

kurotu commented 1 year ago

It seem that the original issue is solved. Thanks for reporting.

I tried exiting and reopening project just to be sure, then they were gone:

Probably you didn't convert again with v1.9.1. The old version of converted avatar had unwanted reference to colliders of prefab asset after removing colliders in the scene. This unwanted references were made by Unity when restoring scene after play mode, so that's gone after restarting Unity. v1.9.1 is no longer using prefab asset for converted avatars, so such unwanted references never happen.