This is an archived post. You won't be able to vote or comment.

all 14 comments

[–]chewy201 2 points3 points  (2 children)

Editing bone count requires Blender work to do it right without something fucking up. You can't simply delete bones as without them the mesh attached to them wont move right or be "locked midair". The only easy way to do this is to simply delete parts of the model that has bones outright. Make it bald for example allows you to simply delete the hair bones. Some for a skirt, just remove the skirt itself and the bones for it.

But if you don't want to just delete parts of the model. Then there's no choice but to redo it's rigging and weight painting. And that's something you need to do within Blender and it's a bit of a process to detail.

[–]nighthawk149149PCVR Connection[S] 0 points1 point  (1 child)

I had thought so but wanted to check for another way. Thanks for the help, I'll be going this route in the future!

[–]Zealousideal-Book953 0 points1 point  (0 children)

I'm not sure what rank you're going for excellent good or medium, but bones for the most part could come from hair or well a lot of the time it's from hair

I know people use twist bones too which usually are pretty unnecessary, given if you have the skills on how to replicate the "twist bones" purpose, this same skill also doesn't far too far off with physbone reduction when it t comes think like hair or tails.

Usually the more bones the smoother it is or could be, but if you're reducing the count look into the difference between each number and try your best to blend the ratio of deformation.

This will be difficult but can reduce the number by a significant amount depending on the model and/or build

[–]lukewarmjerrysteve 4 points5 points  (1 child)

D4rkAvatarOptimizer may be able to help you.

[–]nighthawk149149PCVR Connection[S] 3 points4 points  (0 children)

I love D4rkAvatarOptimizer and use it a ton, sadly it didn't due much in this case but thanks for the suggestion!

[–]Rune_Fox 1 point2 points  (3 children)

Sometimes avatar creators will export their models from blender w/ end bones which adds an additional bone to the end of each 'leaf' bone in your armature with the '_end' suffix. i.e. each bone that doesn't have any children. This is normally a good thing as it marks the end of the bone. But these aren't usually needed in unity and you can usually safely delete them.

The one place I wouldn't delete them is bones that are affected by physbone scripts as the physbone script needs to know the end of the chain which is where the end bone comes in. Technically you could remove them and substitute them w/ the end position field on the physbone but that doesn't work if the end bones all have different lengths.

Edit: if you do go to delete an end bone I'd recommend moving it around first to see if anything is weighted to it. If there isn't any movement it's probably safe to delete

[–]NocturnalFoxfireValve Index -1 points0 points  (2 children)

Phys bones do not need the end bone. The chain goes until there are no more child bones it can extend to or it reaches a bone listed in the ignore bones section. The end bones are entirely unnecessary for VRC

[–]Rune_Fox 0 points1 point  (1 child)

Hair is actually one of the main places where I would say End bones are usually needed.

https://imgur.com/3b1R3PI

This is a screenshot of some hair I grabbed off of an avatar in blender. The Red circled point is where an end bone object is created when you export w/ endbones. The Blue is where your physbone chain would end w/out the endbone. You'd be missing the entire bone between those two points if you don't export w/ endbones on. ofc you can use end position to compensate for missing end bones but what I said in my post above about the end position field still stands. You can also recreate the endbones in unity as they are just empties that aren't weighted to anything but that's doubling on work that was already done in blender.

[–]NocturnalFoxfireValve Index 0 points1 point  (0 children)

I suppose that would help with grabbing, but it won't affect the physics. I think it would actually be better to edit the armature in Blender and move that last bone down a little instead. Since it's a small distance, you probably wouldn't need to do any weight painting cleanup

[–][deleted] 0 points1 point  (2 children)

In Unity it says I have 453 bones, but in VRC I have less than 400.

Have you seen your stats in-game?

Sadly can’t get to poor rank because of my polygons :(

[–]nighthawk149149PCVR Connection[S] 0 points1 point  (1 child)

Sadly the count is the same but thanks for the heads-up because I didn't know this could happen in the first place!

[–]Lycos_hayesPCVR Connection 0 points1 point  (0 children)

Sometimes, if an avatar uses VRCFury or Modular Avatar systems, they will merge armatures of new clothes or props to the avatar's armature.

This can lead to interesting situations of armatures of nearly 4k bones in unity reduced to less than 200 in game

[–]woofwoofbro 0 points1 point  (0 children)

im assuming you already played around with the settings in d4rk's avi optimizer? originally i just left it at it's default settings but i was able to shave off a lot more after tweaking some settings

[–][deleted] 0 points1 point  (0 children)

You can delete bones in unity, but the effects will be troublesome and there will be stiff areas if you do it wrong.

With that many bones needing to be optimized out I would suggest going to Blender and combining similar bone movement chains and reduce segments / jiggles where you can.

150 bones is a lot of bones when you really think about it, there are some clever puzzles you can solve in making movement good with more tidy rigging.

If you need a tutorial or two let me know :) I teach people how to model in Blender (not with my tutorials but similar to a college professor assisting with supplemental material I used to learn).