#avatar-optimization
1 messages · Page 13 of 1
Except that compression needs to happen before it is sent to GPU for storing the textures 💀
Will optimization that avatar take more time?
It depends honestly
Aren't the textures compressed before the package is uploaded to VRC?
On how big each texture is and how long the tools take to atlas them.
crunch yes but the video above explains what happens.
as in the vrchat client must decompress them first before sending to gpu
and they only have about 0.11ms per avatar
Also i was thinking like i didn't want to use this avatar in public world bcz of "avatar rippers". So maybe with some friends and not many people...
💀
that does not prevent ripping lol
all they need is avatar id
So we're always running the full uncompressed version?
my textures are not big enough to even care to compress them lol.
also 12 MB total vram my avatar uses in textures
and that is with atlas
Right?
with face and eye textures separate for performance reasons.
the idea that "optimized = bad quality" and "non optimized = good quality" is flat out wrong
(would not want each vismex cause redraw calls for entire avatar every frame lol)
some techniques (like detail textures) that can be used to reduce texture memory can also help increase detail
also, 115 sknined meshes? what do you even have on there?
Guys if i go to a public world, but I don't wear my avatar there, can the avatar be ripped?
Probably 15 avatars combined into one 💀
yes, if they try hard enough anything can be done.
I see. So i will just wear it anywhere and don't give shit
Even if you do not go to public worlds or even if you are offline you can be ripped.
Chances are, they won't though, why would they want to rip an avatar they haven't even seen?
you should honestly not wear that avatar in any world besides your own home world with no one else in it, because you're playing a social game, where you also have to be mindful of other people. just like how other people in let's say, a bar, would not appreciate you walking in shouting profanities, smelling like you haven't taken a shower in two months, and blasting music on a speaker, it's not very nice to other people to walk into a VRChat world wearing an avatar that causes their framerate to be cut in half, and is heavier to run than entire worlds
Some people just do it to prove that they can lol.
And usually it's the active avatar that they grab. Never ever heard of any instance of this happening
the only time in my opinion where it's acceptable to not optimize a model whatsover, is if it's being used for renders outside of the game. in offline rendering, it doesn't matter if something is poorly optimized, it'll just increase the render time. in a game, especially a VR game, where you have a limited amount of time to render each frame in order to render them fast enough, optimization will always matter
It's not possible unless that avatar has been ripped previously
Yeah i'm talking with the guy to optimize it
So I can have 2 versions
awesome, I'm glad that you're deciding to do that
There's really no reason to be THAT mean though, especially for someone new
1 with few friends and other for joining big parties/populated worls
Yes ofc i don't like to harm people
sorry, I've been around for a long time and my patience has gradually dwindled, and it manifests itself as being a bit more harsh than I probably should be
Well get it under control, no need to be that way. It's uncalled for. It's like slapping a baby in the face
used to be that I would be nice to basically everyone, but nowadays I'll be really nice to people actually doing good work and optimizing stuff, and harsher towards people who have little respect, patience, or don't care about optimizing
I mean, I'm using a very poor avatar when I play with a friend running a laptop 1060, and he's got no issue. It's most likely fine if there's really not many people
Will that avatar even crash others quests/ pc.. if i'm with like 2-4 persons?
Or with low end gpu?
Quest absolutely, on PC it will likely cause very noticable frame drops
yeah
Yeah I see alot of poor avatars but never crashed
At least I tried to get mine from 160k polys down to about 55k polys.
However bones is my issue now
What sacred failed to mention is that MOST avatars are very poor, like the vast majority. Poor is where you should aim and medium is a good goal. Green will be unattainable for new people
160k poly😶
Why unattianble?
171 bones with about 75 on base and 75 on hair lol
Because simply put you won't know how
the problem with the Very Poor rating is that not all VP's are created equally. some stats that put you in VP will not cause much of a performance problem, but some others will. and some things, like very large animators, can cause even worse performance problems, and isn't reflected in the performance ranking system at all
I can't even hit green and I have a lot of help
What if i'm dealing with an avatar creator
Skilled avatar creators have a hard time hitting green
the issue is that you're likely not willing to compromise on some things, or that the assets you're using are too poorly optimized from the start, and will likely need more work
Quest comba is medium?
I'm assuming some things here, obviously
Quest has a completely different set of performance limitations
Unfortunately that's not the case for me they're booth bases it's a polygon issue
yea sounds about right
I make all of my assets ¯_(ツ)_/¯
If you want any option at all on your avatar you'll never hit green, even medium will be most likely impossible.
base hair, outfit and head contributed so I switched to 21k “low poly” base (zin fit), cut out the ears on head as I hide them with the hair, and decimated the rest that is higher than 4k polys.
I haven't figured it out yet.
What is the first one?
so optimization is what I'm thinking about from the very start
hair was 38.8k polys originally lol
So uh.. first off the legs don't look like they're going to work
looks like you got your model in a VRM format, which is not what VRChat uses. you or the creator likely used a VRM converter for unity, and didn't remove the components that you're not allowed to use for VRChat
You want to see some poly?
Yeah creator used vrm
I used vrm converter
So will that affect anything?
oh?
I see. did you not tell the creator it was intended for VRChat?
Here's some polys
💀 imagine most of that being fur that can be from shader.
delet them
I could try that
And if i don't do that, the quality will be bad? Or how?
Or the opposite?
it will remove all of those components from the avatar. it should be fine to do, but the only thing is that the Springbones, used to add physics to hair and such, will also be removed. those will need to be redone with VRC Physbones
you cannot upload at all if you don't remove them
if you don’t do it you cant upload lol.
Ah i'm thinking about leaving them like this then?
I did upload
👀
It worked fine
What even is this avatar
that can totally be optimized to be like @sudden jewel’s (sorry for ping) being in good state.
Like I said no need for 115 skin meshes with a lot of 8k textures.
out of curiosity, can you screenshot the rest of the avatar stats?
I'll try to refrain from immediately trashing the avatar and instead try to give suggestions lol
That's a better idea that's why I haven't asked for help optimizing yet
I don't have a problem with people who are actively looking for ways to optimize avatars, and are making efforts to do so. what I have more of a problem with is people who give 0 shits about optimization, or are trying to add/do things that will actively make the problem worse
I'll gladly help with optimization
just ask @ripe shore lol
hahaha yeah learned a lot :p
my avatar basically looks no different than when I started but its so close to being medium rated
finished picksheeting my avatar today and started over from high poly mesh as part of that
entire outfit is in a 1k texture
and the lines look mint
to give you some context for this convo, someone asked for help uploading an avatar they stated was purposely not optimized whatsoever, stating them owning a 4090 as the reason, and I was quite harsh at them at first, then I explained it's due to my patience having gone down over the years
Ask @still perch
"used to be that I would be nice to basically everyone, but nowadays I'll be really nice to people actually doing good work and optimizing stuff, and harsher towards people who have little respect, patience, or don't care about optimizing"
I can promise not to yell but I can't promise I won't cringe at things like super bad topo and poly count lol
but I can promise to give you pointers on how to do better
That's fair
||two things in there are actually my doing 😂 ||
||the ork in the thumbnail is the high res sculpt of a body I made for a friend, and the giant booty is what happens when I overdrove the booty blendshape on a quest fallback avatar I made for Red lol||
I wish I could define a set of rules for some form of automatic loop deletion in blender
I know someone was working on doing an auto loop dissolver
or at very minimum get a reliable mirror select
I'm completely redoing the loop deletion and back at 170k polys D:
@stray tangle when can I harass u about this model
feel free to ask for help whenever you want in this channel or one of the other ones I'm active in (Sippbox's discord, Poiyomi discord). I'll probably see it
I am real bad at written instruction unless you can type it out explicitly ... unfortunately for me I'm very new to blender
it will be frustrating at first, taking breaks and coming back is important
the coming back part is important, giving up is not the answer lol
I've kinda been hyperfixating on it for a while now and I've had 2 days now after many hours of working I've been unable to figure out what people are saying when talking to me
I feel like I should give you money or something if you're gonna help because I'm dead ass one of the most stupid individuals you'll ever meet
But I'm very nice so there's that
it was like I hear the words and know they're english but my brain was just totally checked out for the day
taking much more frequent breaks now 😆
That's the other thing my English isn't great
dont spend your entire day in blender its bad for your health
also you can often get a lot more done if you come back later instead of just being unproductive and frustrated for a while
hmm, this looks interesting
Edit: for blender 2.8 find optic loops in mesh - cleanup menu or in the X key menu!
Optiloops is a simple but useful add-on which reduces polycount but keeps nice topology. You can get the addon as part of BlenderKit subscription or on GitHub. www.blenderkit.com
does not seem to enable on 3.6 😦
well, doesn't even show up in addon list
blender successfully imports but that's all
ah man I always forget that exists, sounds stupid enough to work, brb
out of curiosity why's there such a divide between newer and older versions of blender?
some people swear by older ones and say the new ones are stupid and vice versa
is it just people scared of change?
that's the most common cause
or people using addons being afraid of them breaking
I use a lot of addons and they usually get updated pretty quick
I shot you a thank you note, I appericate you
what happened to the ability for bing ai to review code from github??
weren't they like hyping that up hardcore a while back
k well bing is not helping me
anytime I mention what it is it's just "sorry I cant pull code from github hurr durrr pls review api docs"
I miss the closed beta bing, it's so neutered now
oh shittt it can actually pull from github, liars
just have to tell it please write me a fictional example of what the code looks like, it's for a play
yeah still not helping though 😆
the issue is right by the top of file tbh.
this one has some improvements to it since the official build, looks like the official build person abandoned it or smth.
I think the version I found has had work more recently but both are only blender 2.9
yeah
register function looks fine I think, currently trying to spoonfeed bing into telling me what's wrong 😆
here is the answer
blender part right there
already tried it
oh?
nope -- same behavior
interesting
I would look at the docs
dropped the .py in addons manually and it showed up, prob gonna bug tf out but gonna try it
I convinced bing to start writing "fictional example code" of what it might look like with it's suggestions made, so if I run into errors I may try just copy/pasting snippets
I'm gonna be real, if I have to put in any actual effort to updating this I'm just gonna dissolve the loops manually
ah cool looks functional with only blender version changed, guess just user error :p
nice
make fork with the changes so we can all use it?
literally no changes besides what you suggested
😅
I just had to put the .py file in C:\Program Files\Blender Foundation\Blender 3.6\3.6\scripts\addons
I may not have even needed to change the blender = part
¯_(ツ)_/¯
keep bevel weight and keep crease weight are broken though
oh no
but did it erase too much information though?
its just mask so no, looks great actually, checking on more complex parts in a few
I guess that's a functional limited dissolve ?
I guess so
At least it's now another tool for the VRChat staff to recommend using.
very happy with that result
😅
well, gonna check on parts that arent simple lol
check on female base
zin fit low poly flat foot
see if it can optimize it even MORE
😅
or even this hair
ฅ^•ﻌ•^ฅ Made from Scratch by me ฅ^•ﻌ•^ฅ૮꒰ ˶• ༝ •˶꒱ა ~♡︎ File includes the FBX for the Hair૮꒰ ˶• ༝ •˶꒱ა ~♡︎ Works with WetCats Free Hair Textures - https://wetcat.gumroad.com/l/HairPackFree૮꒰ ˶• ༝ •˶꒱ა ~♡︎ Raccoon Texture by BOO - https://discord.gg/PRJ3gSjr૮꒰ ˶• ༝ •˶꒱ა ~♡︎ This Hair is rigged and weight painted૮꒰ ˶• ༝ •˶꒱ა ~♡︎ Free for reaching ...
free hair and best of all complex too
47 strands
and ~38.8k poly
I would really flip if that extension can do better than my decimation on it where I could only get it to 8k but with some quality loss.
😅
sec
Ideally I would like to fix this, Unfortunately I am not entirely sure how
( I just got back to home)
this is made out of triangles btw, gonna see if I can convert it to quads and then run optiloops
you might have to split each strand though for it.
hmm I see
there's a button in here to do it somewhere, just can't find it
wait there is a tool in blender to convert to quads without quality loss on the mesh at all?
you can do alt + J to convert tris to quads, but it may not work properly in all cases
I mean, it's getting the right idea, I think the tris to quads conversion is really messing with it more than anything
areas like this it obviously can't do nothing about
let me see if I can find some hair that's native quads, I guess I could try it on my avi's hair too
To note that this is great for static meshes, but for skinned ones, that'll fuck up the deformation quite a lot
oh my
yep
99k -> 88k tris (doesn't include just hair but only hair was optimized)
not too bad.
how much did it reduce the tris on that other hair I provided before decimating?
That's the kinda stuff that unsubdivide would work well for, given that most are are made out of curve that the creators were a bit overzealous about when it comes to loop count
true
hard to say because it was missing a good chunk of them due to the conversion, gimme a few lemme run it again
not a fan of unsubdivide much for stuff like this, doesn't take angle into account angles at all and if your iterations are odd instead of even it can result in weird stuff
yep
I tried unsubdivide on my facemask before and got poor results
sometimes it's too much, sometimes it's too little, there's just not enough control over it
@waxen estuary do you have a pic of your hair with wireframe on?
just want an idea of what I'm going for quality loss
ok you mean the one where I decimated it only?
yes
sure
stuff like this gonna mess it up I think
tri to quad conversion is not perfect
sent
yeah lol
I think I got some paid long hair that's native quads too, sec
can't get anywhere close with the tris -> quads as I can with just a collapse decimate at like 0.23 ratio with the free hair
checking
interesting.
how much tris was the result on that one though?
yup
well, even just collapsing without doing that was basically the same as your result
nice
issue on my end is fixing the painting on it so it looks the same as before though.
😅
28k -> 12k, 20 deg min angle
need to mark your seams when dissolving loops, or use planar decimate and delimit by UV
o cool
for a one click tool I'm extremely happy
makes manual cleanup so much faster, basically all I was doing is checking UV seams and angles anyways when manually loop dissolving
if your mesh is already UV'd, but there are no seams, go to the UV editor, select everything, and do UV > Seams from islands
gonna optiloop my whole avatar
should be a major speedup and get me 90% of the way there, plus no human error deleting high angle loops without looking close enough
I need to find a new shirt and pants, these are disgusting
these r gettin decimated probably
could just retopo it
or if you're really lazy, use something like quad remesher on it
but then you don't get as much control in terms of how much geometry you have and the loop direction
quad remesher as in alt J or something else?
idk, even the bumps in general are just kind've a disaster on this shirt tbh
looks like simulated cloth from some program
Triangulate and then tris to quads ?
Oh sorry Discord did not scroll down lmao, that was in response to this
ahh lol
Quad remesher is a paid tool to automatically generate a new, quad mesh following the geometry of the chosen mesh
ahh
QuadRemesher my beloved 
I just do retopology myself
if I was making a bunch of avatars I'd probably look into it lol
not interested in dumping money into this one especially since I can't even redistribute it
I don't even recommend it much for avatar work, I'd mostly recommend it for like cleaning up sculpts
but you can use it for avatar stuff
I just don't like the control I give away
just gonna stick with collapsing for now
need to find another shirt/pants model eventually
not happy with these
ah man yeah this addon is so nice
could you send me your modified version of it?
plop in C:\Program Files\Blender Foundation\Blender 3.6\3.6\scripts\addons
all I did was change blender = (2, 9, x) to (3, 6, x)
I don't even know if it needs changed tbh
didnt try putting it in addons stock
if you want to try it stock unmodified
there's still stuff like this where it's missing the human factor of "this makes it look a lot worse for not that many saved triangles" but man it does a great job, can also just deselect those parts before running it too
23k -> 16k
nice
something that does bother me slightly is the runs are not repeatable
which loops it selects do vary just a smidge between runs, just unclicking and clicking it again changes the outcome slightly & running it twice with same settings does delete more
so it could use a recursive loop?
possibly -- or just changed to help alleviate floating point errors (I assume that's what it is)
most likely yes
on that plugin where exactly did you go to use it?
mesh -> clean up -> optimize loops
ok
it's nice that you can just have it select only too instead of dissolve for you, if everything looks good but something not quite right you can just deselect and dissolve manually
well, I think at least, need to actually try it, might be broken 😆
rip it changes nothing for the base I use.
make sure dissolve is checked in the options
and you have to set a min angle > 0
min angle is controlling how much effect
also gotta be in edit mode
o
so I could get away with things like min angle of like 5?
I love this in blender now.
wait how do you get that
depends highly on the part you're running it on and your personal tolerances, some of mine are looking fine with like 30 and some are like 5
I've also been selecting certain parts with L and running it only on those with more aggressive settings
if you want it to not mess up textures make sure to go to UV editing, UV -> Seams from islands
right click the bar at the bottom of the blender window and enable everything
yeah keep bevel weight and crease weight are broken
lol 30 was the magic number for the tail
sweet 🙂
lol dissolve turns it into this
well, dissolve also has a lot less triangles there :p
need to change the ratio on dissolve
168k -> 106k
farther than I got with manual loop slicing which took like 8 hours + no UV seams messed up in the process or accidential deletions that cause issues hours later
guess its kinda hard from previews to see much diff
trying to do manual loop cleanup too but pretty much every loop that it didn't get is a UV seam or alters the geometry too much, very happy with results
I have many UV seams because I picksheeted my textures
oh god shoes are awful for polys
ye
mine are 12k even after loop cleanup 😖
darn even worse the shoes are is all triangles too.
still haven't gotten an answer if it's cheating or not but when importing your FBX you can click "keep quads" and it'll count a quad as 1 polygon instead of triangulate them
on vs off
75k vs 109k
I mean, a quad is a polygon, so I don't think it's really cheating, but also could just be an oversight since the docs use polygons and triangles interchangably
unfortunately it pushes my material slots to poor rated and I'm aiming to medium, so I've gotta fix it the normal way
you can have up to 32 material slots in a poor rated avi, 16 in a medium rated
doing so will internally split your mesh into two, one containing only quads and one containing only tris. you should only do that if you're going to be using tessellation shaders
you're basicalling doubling draw calls
lol
rip super reaction
lmao I dont even know how it gets clicked sometimes
clumsy ig
wish it was possible to mirror a polygon and only have it count as one, can't imagine it'd be any more friendly on the gpu though
it's not.
yeah 😦
argh, painting abs on this avatar would save me so many triangles over having them modeled
body + hair is 64k tris
I think getting it from 106k to 75k is going to be exponentially harder
just bake it to a normal map ez

hmph yeah I guess I have oodles of free vram at this point
9.6MB of texture use for entire avi 😆
ooh I can even use the higher poly model to bake
there you go
gonna bake it for jacket too
o my
ok well thats stpid I think it just baked everything except abs
if you're doing this in blender, you only want to do this for one mesh at a time lol.
only got body selected, rest turned off in render
aight
there be no abs, unless just cant see them 😦
welp, might just call that a stopping point, not getting anywhere
no idea why it's not baking that unless it's just not detailed enough to be a normal
decimated hair a little more just to remain out of Very Poor performance 😅.
sweet 🙂
at least it remains in good state after that 😅.
now time to save as my atlas backup blend file overwriting the old one so I can atlas this stuffs.
(again lol)
then merge the mesh's
if you have anything that doesn't deform as well you can take off the armature modifier and parent it to a bone to make it a meshrenderer instead of a skinnedmeshrenderer, learned that the other day
👌 all the UV maps have same name, now to atlas it.
the plugin only works when all of the UV maps have the same name lol otherwise it screws up one of the mesh UVs.
oh?
yeah, so like my avatar has glasses and a facemask
for me I do it differently
I just took armature modifier off both in blender, and then clicked them both and parented to head bone in the armature
now I have more skinnedmeshrenderers to play with and it's more efficient
I atlas by ensure all UV's have same name and that all mesh has 1 UV (if not I look to see if empty UV's and then delet the empty ones)
And then after it is atlas'd I join the mesh's
so then only 1 skinned mesh in the end 😅.
legs, chest, head, arms, hair and stuff are all one skinnedmeshrender
but I have outfit toggles and jacket toggle 😦
merged shirt and pants to one mesh and jacket to a seperate mesh, shoes toggle as well
delet outfit toggles and jacket
like em tho + its only polygons I have to get down at this point
but at which point are they becoming a pain in the butt though?
can you show me your baking settings, and what the two meshes look like?
also, be mindful of multiple materials
the baking targets all materials of a mesh, and it will write to whatever texture node is selected for each material
only have 3 total for the blender project, it's just that I have many skinnedmeshes
couple more in unity for neon hue shift and quest
oh yea make sure you have the correct UV selected
on the body
it is 😦
can you show me your baking settings
make sure to enable Selected to active
then select the high poly mesh first, then the low poly one
I might have to use a custom size for those 4 4k textures on the atlas?
be careful with the huge atlases if they're like 4k or bigger, I seem to crash questies with those
oh sad
or wait, was my atlas 8k, cant remember now D:
either way I think 2k is recommended max 😦
that is like an oblong 10k x 8k atlas 😅.
yknow, most of your atlas could probably be turned into a pick sheet really easy
oh?
the ones on the top is to a leather choker on model 😅.
o
this is a 1k texture and the details are crisp af because I just selected faces from the UV and mapped them to parts of texture file by hand
its not hard just tedious
also, the body should likely be the biggest image in your atlas. everything else you have on there looks to have little to no detail, and could be a lot smaller
ah true
it might be better to make the atlas manually
you can do rectangular atlases, but be sure to use power of two dimensions
for example, 4096x2048
so basically two 2k textures side by side
you could have half of that be the entire body texture at 1k, and then the other square could be everything else
that other square is basically four 1k textures
can I do this even if the high poly and low poly are in different scenes? should I move them to one scene?
I might make the other 3 4k textures 2k with the atlas plugin.
can probably just ctrl + C/V from one to the other
it does allow config custom size on them.
you can put them in different collections within the same scene
this is the one for shoes right next to body, looks ok size?
try like 512x512 see what happens
1k is definitely the highest I would go for the shoes yea
but 512 is what I'd recommend trying
getting even weirder results, have both in the same scene now and enabled with nothing else but the 2 meshes enabled for rendering
are both meshes perfectly overlapping?
can you set your max ray distance to 0.5 and extrusion to 01.?
I probably could size down these other 2 as well:
same result
the black with white and the lighter black with a goldish color.
are transforms applied for both meshes and the armatures?
you could make that image a bit wider, like I said you really want power of 2 dimensions
the right half should have the same dimensions as the body texture
with every other texture in it
I see
this looks like the normal for just the hair or something?
after applying all transforms to both armatures and meshes
lol could be
for the bake, make sure the body material is sepated to its own mesh
probably could size that down a little bit as well.
this is so stupid, should've called it a stopping point
can't figure out what's wrong
send me the blend file and I'll have a look at it
internet's 1 mbps up, might do an overnight upload lol
kinda over it for tonight
alright, no worries
so much wasted space though.
might be good to size it down to at max 4k on the atlas?
you could manually cram some of those textures in the blank spots
and then just go to uv editor in edit mode, select the maps and drag them with G
baking speedrun
dont know why I used the plugin for so long
no planning I just rushed it lol
there was a 1 minute youtube video I've watched like 6 times on how to do it 😆
it just doesn't work for me and I don't know why
can you screenshot your shader settings on your low poly mesh?
nvm you can do it tomorrow
512-normal was just screwing around
shaders are identical for the low poly and high poly mesh, they use the same material
can you disconnect every connection going into the shader, and select the Body Normal node before baking?
oh wait
remove the mat on the high poly mesh
or if the high poly mesh already had a normal map, you can plug it in to also bake that detail, but make sure it's a different material
alright, made different material on the high poly with these nodes and kept the old material as-is on the low poly -- now just have this mess
its gotta be something with my UV maps, hold on
if the meshes have multiple UVs, make sure the camera icon is set on the correct UV map
map looks like garbage but got something I guess, somehow wrong UV got selected again 😭
getting somewhere, what is that 512 normal exactly?
are you sure that should actually be added here?
when I plan it out just right only for this to happen 😅
instead of 2048 x 4096
😅
lmao
If I can make a suggestion: buy simple bake.
It's $18 and will save you a lot of headache.
I can't remember the countless issues I've had trying to bake normal maps before.
starting to think they just aren't defined enough to be baked by blender
I tried installing bakelab which got me a good normal map but again it's missing the abs
even in an AO map they don't show up
maybe I should be looking at a displacement map instead of normal?
Usually those types of issues are caused by your bake settings. Often it's related to caging, max ray length, or other settings.
If you're going for extra detail on a simple mesh, then it is normal maps, yes.
You can double check against this video:
Although if you're using the multi-res modifier, I again highly suggest simple bake since it can automatically make from multi-res.
watched that video so many times now 😦
I'm not one to shill paid assets, but it's ridiculous how good simple bake is at removing so many variables and issues from the baking process
wouldn't care buying it but I'm not convinced I'd get different results
I'm getting what appears to be a good normal out of bakelab (also recreates materials and removes variables) but abs aren't there
what shading mode are you using in Poiyomi?
Flat shading will not show any normal detail properly
not even to that part yet, still in blender
I see
yea likely baking settings not being proper
you could also add a Subdivision modifier to your high poly body to make the details even smoother and more defined lol
I would just reconfirm all of the objects that you're using and any modifiers you have
I am getting results, it's just only for higher detailed & small areas (the corrupted looking chunk is hair tex)
All I can say is that I do remember having a lot of issues similar to this one, and it's related to how long the ray length is or if you're using cages or not. Never figured it out and it was too frustrating to solve.
should I be removing the abs on my low poly mesh and then baking selected to active?
instead of leaving them there before baking
You can also double check if it's using SRGB or non-color. It should be using non-color. 32-bit float also helps with some detail
it's non-color 😦
your low poly mesh shouldn't have the detailed abs, that's the point of baking
When baking normals, you generally only want to bake from selected to active, or using multi-res
it will help the sillouette if the mesh generally has the shape of the abs
you can also use a shrinkwrap modifier on the low poly mesh to make sure it's actually conforming to the shape to the abs on the high poly mesh. you can use a vertex group to make the shrinkwrap only affect the chest
The point of baking is to calculate the difference between your higher poly model and the low poly model (afaik). So if the detailed abs are part of your low poly model and are not part of a multi-res modifier, it won't bake to anything.
what I did here #avatar-optimization message
I would suggest testing in a new file, just to get to workflow down. I generally recommend the multi-res modifier rather than selected to active or caging.
Like take any shape, and then do some sculpting on it, then test the bake
in this case, they have a lower poly model they manually did optimizations on (dissolving loops, atlasing), and are trying to bake the finer details that got dissolved away from the original model
I understand
I got to be honest though, whatever you're suggesting sounds really complicated for what they need to be solved
but yes, I agree using multires to sculpt in finer details helps
which part exactly? all I'm suggesting is:
- shrinkwrap to high poly to conform to the shape properly
- bake from selected to active
Last time I will say it, but again, this is why I use simple bake. I can literally just use a multi-res, modify the original mesh topology if needed, and then select normal and press bake and it works. No other config necessary
Yeah I've never heard of using shrink wrap and it sounds like it would cause more problems than it would solve.
Not that the method is wrong, but when debugging things like this, it can cause more problems
you can always do it after first confirming that your bake works fine
what even is a multi-res?
allows a mesh to have "virtual" higher subdivision versions of it that you can do sculpting on
Multi-rez is like subdivision, except you can specifically select a level. Allows you to sculpt finer details on higher subdivisions without affecting the original mesh
"multi-res" as in, multiple "resolutions" on the same mesh
okay, that looks like the part I was missing D:
dumb
lol
ah there you go xD
can you screenshot what your low/high poly meshes look like? the wireframe
It's unfortunate that there's a lot of nuance of how blender works. Stuff that I've learned how to solve and have burned into my workflow, but it's hard to describe it to people sometimes, lol
I just made these edits to the low poly
oh this looks cool
uhhhh, that's too many loops dissolved on the low poly
probably
that is not going to look good when you lean over lol
just clicked a bunch of shit to test lol
I also suspect I need to learn proper weight painting, already running into oddities when bending arms
I feel like this is quickly becoming not worth it territory
I can't imagine being a game designer and doing this for all the assets in a game 😆
well this isn't how you'd usually go about it
you have two main workflows:
- do the high poly mesh first, by blocking out stuff, doing sculpting, etc. then, do a retopo of the mesh (either manually or with tools), which you'd then unwrap, rig, and bake details to from the sculpt
- do the low poly mesh first, then add a Multires modifier, and sculpt in extra details on the multires. then unwrap the low poly, and bake directly from the multires
if you already have a finished model, like in your case, it's also possible to decimate it (quick and dirty) and bake the all of the existing textures to the new mesh, including the normal detail lost from the decimation
that is often done for LODs of models, although in a lot of cases artists will just use the exact same textures for the LODs, rasther than baking entirely new sets of textures. depends if you make the LODs automatically or manually
god this is so dumb
should I have set up a multires modifier and then optilooped there instead of having 2 seperate models?
I hate having multiple clones of the same thing because it means any changes I make have to be mirrored between several different scenes
I feel like I'm spending more effort trying to make this avatar easy to maintain a year from now than would be just maintaining it in a crippled state
first avi I made is semi permanently messed up and requires redone completely and I'm trying to avoid that at all costs
yknow, I could also just modifier decimate on top of my optilooping...
that might get me down to 70k
I wish the limit was more like 100k, although not like it matters much when everyone running a verypoor avatar with 300k and 120 MB download size
I was helping someone the other day that had a bunch of paid avi assets and it boggles my mind how many of them are just garbage
so many of them were unpacked prefabs with major items added on in unity, huge cluttered messes of animation files and super weird decal mapping in places that make no sense, excessively large textures for no reason at all and literally zero effort put into optimizing them at all
it wasn't just like one either, we were trying to find a good one to learn on and it was so many from so many different creators
and then like some were made with wrong armature scales and require cats to auto fix it on every export or its just fucked
we only ended up finding like 1/10 of them that was a properly packed prefab linked to an fbx that didn't immediately break when re-exporting from blender
if I could live without my sick jacket I spent hours texturing I'd be <70k right now
agh, I wish you could non destructively dissolve / decimate only certain areas of mesh
I think I've just been spoiled with regular cad programs where literally everything in the design process can be changed at any point in time
you sort of can do runtime decimation with unity tools, and Tuxedo in blender does have the Bake feature
tuxedo's bake is the closest thing I've found to perfect imo, I just don't have control over which areas need to be decimated and which don't
I don't even know how it would work in theory
I could use like say the decimate modifier with a vertex group, but it doesn't work well for reasons I haven't been able to figure out
it decimates stuff that's not in the vertex group even when factor is maxed out
there is no hard limit "don't touch this area"
like, back of my avatar is a good example, I really don't need polygons here at all, nobodys gonna be looking at it hardly ever and it's covered by jacket
so I can cut down on those a bunch
but selecting just the back by seam, creating a vertex group out of them and running decimate on the vertex group messes up shoulders and neck and other stuff around it
I also still have no real good way to smooth out this shirt/pants, they could be smoothed / decimated heavily since they're just a solid color with no real UV map
for decimating with a vertex group, make sure you have the vertex group selected in the main vertex groups list on the mesh, and then tick the Vertex group box in the context box
let me try it again, I'm convinced it was correct because I did notice a change in behavior between vertex group on and off and the factor, but it wasn't a hard limit
also, would baking a high to low normal map act as a sort've "smoothing" filter on the mesh? as in help hide sharp corners? is there anything I can do to have it be smoother with shading tricks?
not a big deal, just curious
would a tessellation shader do this? would that be a large performance hit? all I know about tesselation is nvidia did some shady stuff with it many years ago and it's a larger performance hit on amd because of that
ah fk, forgot about the whole shape keys limitation for body
might be better to split my face to a seperate skinnedmeshrenderer since I have extra slots to play with still (6/8)
tuxedo is just adding more polygons when trying to decimate
also, is adding props on shrinkable bones more efficient than just having a meshrenderer with the prop?
pretty sure it's not
pretty sure all of these avatar tools are aimed at avatars without any clothing toggles
Can you bake a material into a mesh in a way that it doesn't consume a Material Slot?
a mesh will always have a material slot
Yeah, I'm talking about reducing material slot count
you can bake stuff to vertex colors, which will mean you don't need textures
I have a mesh with rn 6 material slots, but I need to get to 5. One of my material slots is non-changing, and I want to somehow make that material be applied without needing the extra material slot
that's impossible unless you join the mesh to another mesh, and make them use the same material
you could atlas the textures and do that
idk how many textures I'd have to atlas for that....
plus I would be atlasing with the same textures all the time
which would hurt vram
since I am effectively unnessesarily duplicating information
you can have rectangular textures
you can basically glue two textures side by side into one
and end up with like a 2048x1024 texture
yeah. But all other material slots change, other than one
so I'd need to put the same texture into multiple other textures.
do those materials need to change?
can you achieve the same thing without swapping the whole material?
I want then to be able to change
No. But then again the question is, if that is relevant. (one that I need to answer for myself)
You cannot texture swap inside materials, right?
no, but you can use other means to achieve something similar. with Poiyomi, you can use decal slots to overlay a different texture over the main one, and you can have it replace
Yeah okay, that's not gonna work for me (I have way more textures than just 4). I will probably just end up dropping the static texture.
you could also atlas your textures together in a grid, and use UV offseting to move it around
ooh nice one. I'll keep that in mind.
this is why it's helpful to explain what you're actually trying to acomplish, and not focus on one specific little thing
you might be overlooking other potential solutions to your issue
I'm trying to get rid of one Material Slot to get good rated.
Simple
I know there are way more specifics to it than just that, but I think I have found my solution.
Thanks
hyped
like 10 MB texture usage, 5 MB download size
now just gotta do some weight painting to alleviate clipping on shirt and pants and hopefully I'm golden
based 😎
though I will say just incase: don't use crunch if you did
I can rest
nope 🙂
clothes are all picksheets, HQ 1k tex
ayoooo nice
I may be able to get skinned meshes down 1 more if I apply the decimation and then re-merge but I don't wanna do that
now it's just shader time to make it look great and weight painting
clipping gone 😄
probably one of the nicest looking medium rated avis you're gonna find
and can't even share it 😭
you can make it good rated by using material combiner plugin and merging the meshes to one.
Just make sure that every material UVMaps on each material on them is named exactly the same.
what is the easiest way to optimise physbones? i have 30 on pc...and need to bring it down to 8 lol
Root bones; for example instead of having a phys bone script on each strand of hair duplicate the head bone and parent it to the head, parent each strand of hair to that hair.root bone, and put the phys bone script there.
Dont use leaf bones, use phys bone setting Endpoint Position. Set Y to how long the last bone is.
won't happen because I need the toggles and don't really wanna turn them into bones because it's less optimized or whatever, plus wanted to add some more physbones
ill look into this! is there a youtube video abt it by chance? i can figure it out myself, but youtube is always a nice handycap
could you help me optimize my 71 bone long hair then I do not care if some of the hair cannot move?
I guess could go as far as on the back having one set of bones be for the entire long part on the back right and center them?
issue is, how do I change the bone that some vertex groups could be referencing?
😅
thats getting into weight painting
can make a new chain for the center and merge each side to each center, cats is useful for merging bones to other bones and automatically combining vertex groups
oh
I would use cats but cats be like: "Nope Imma destroy your mesh."
I guess another option as well is shorten the long hair and then simply just remove all of it's bones except the ones that hold the hair onto the head.
issue is though making it not distort itself and have issues though when moving in vrc.
just never press the funny auto fix button, most of the other buttons are safe
ah
I will probably do it on the blender file that is for only the hair just to be safe.
is there any way to preview what the shaders will look like ingame without loading it ingame
having some issues with poi skin shader either looking way too flat or way too dark
you can use Hai's Lightbox Viewer to preview your avatar in different lighting scenarios https://github.com/hai-vr/lightbox-viewer
might just be looking for anchor override, set them all the same object to get consistant lighting
awesome
am I bad for setting min brightness to 1
anchor override is set and added vrcfury anchor override fix just to double confirm and skin still looks darker than everything else
oops, I am in the wrong channel
yea don't do that
how would you fix the skin lighting? first pic is min brightness 0
the issue is everything else, not the skin
ah crap was just going to check for min brightness on other stuff lol
also set Grayscale lighting to 0.2 for both passes
I would like it to be visible in dark worlds at least a little bit ideally
Hey there, i have a Problem. I am trying to reduce the Polygons on my Modle to make it Quest-friendly, and after many Trials and Errors i finally got it to work but now when i try to reduce the Quality, it comes back with an Error that the Value cannot be 0 and it starts at 1 and can only be reduced, it wont even work when i leave it on 1
Can you screenshot the problem specifically ?
Remove that script 
But how am i gonna reduce the Polygons tho?
This Model is supposed to be Questviable, which means i have to reduce them to a max of 15000, you wanna know how many i have? 43-something-thousand
Ill put this on Hold for now, see if i cant crack that Nut later
o my
In Blender, not really something that is done in Unity, since it's not a modelling program
When where how and what is blender?
A modelling program
Hello, so I got an avatar and am trying to optimize it so its at least a poor rank. The main thing are the polygons and I loaded the FBX file into Blender and decimated it to <70k poligons. I don't really know how I now get my optimised FBX back to a finished avatar in Unity. I do have stock prefabs that came with the avatar and there are a LOT of components in there especially in the armature and I just don't think I am able to redo everything without messing something up + it would take a lot of time. What is my best approach here? Best case would be if I could just replace the meshes in the stock prefab with my lower poly versions but I have not found a way to do that yet and I am not sure if that is even possible because of the weights or something. Sorry if this text is convoluted I am a little confused this the first time I am working on such a complex avatar.
replacing the FBX in the project is definitely doable, but dangerous if you were not the one who exported it before. the export settings may be different
your best option would be to export as a new FBX (with correct settings, make a preset), and use Pumkin's to copy everything from the existing model to the new one
There are FBX folders in the project but I figured that the FBX files in there were not used by the stock prefabs. So do the stock prefabs use the FBX files in the FBX folder? I briefly tried replacing the FBX file in the FBX folder but it did not change anything.
What export settings do you mean exactly? The ones I get when I want to export with CATS? If so like you said how do I know what settings were used?
I gotta look into pumpkin's I don't know that yet
out of curiosity is having a physbone component for each hair strand any less efficient than a root bone with a single hair component?
it is less efficient
interesting, alright cool
was wondering if it was just cheating the ranking or not -- may have to root bone my hair then 🙂
does root boning the hair not let it wiggle anymore??
like, still goes side to side but its not wavy
well, I guess I gotta test it in VR and not really on desktop lol
Does anybody know what this means and how I can fix it?
If I auto fix the whole validations section goes blank and still does not let me upload.
@sudden jewel sorry for the ping but please check your private messages (you do not have to respond though).
Fixed this by checking "Legacy Blend Shapes Normals" box BEFORE importing the FBX into the scene
if you use curves at all, gotta factor in the extra length to the graph. Usually moving the point at 0 to about 0.5 does the trick
I feel like on my avatar I am forgetting to delete some parts of each mesh that eventually gets hidden when I combine other mesh’s into it permanently for uploading into vrchat.
So when someone walks inside of my avatar they may see the raw lewd base that I cover up with the clothing on it instead of stripping out what is being covered up.
Hello everyone! By any chance does anyone know where to find the tools to make a 2D fallback version of an avatar? I have seen some avatars that are like 2D (still 3d) waffles that look hilarious but are very useful as fallback. And I can't find it by googling so far.
Regardless of 2d or 3d, it still needs a humanoid skeleton. But you sure can stick a png on one bone and call it a day.
Afaik though, you can't animate fall backs. So it's just gonna be a png.
Good to know, thanks for the input!
Wha
It’s a scammer, just ignore these people they have the same script
i wanted a custom vrchat
Any reason my poly count would double from blender to unity?
you were likely looking at "Faces" in blender, not "Tris".
Poly count refers to the amount of (tri)angles making up a mesh. when working on models, you usually use quads, which are essentially two triangles
I am looking at tris, 49k in blender and jumps to 150k+ In unity
did you add extra assets in unity?
or do you maybe have a Subdivision modifier on your mesh in blender?
I can check that, actually. Ill look in a bit Thank you!
would that be if i decimated and left it on "collapse"? Should i set it to un-subdivide or planar?
if i want to edit a mesh in blender, to make it smaller, can i somehow bind it back with the unity prefab so i dont have to attach everything again? or is this not a option
smaller as in file size
You can try editing the fbx file in the Unity project itself in Blender
hmm let me launch it and see if i can find them. im still kicking the learning curve
Where are you looking the poly count? If you are watching it from the stats window it's likely because your shader is rendering an extra pass, it could be from a realtime light
Is it best to keep the head and body separate or should they both be one object? (the head ofc has blendshapes)
I've been seeing a lot of conflicting information on this so it'd be great if someone could clear it up for me, thanks!
Best if you have a ton of blendshapes localized on the head specifically yes 
Thank ya!
When you export from blender you need to make sure you apply scale and transform. If you don't do this, stuff will be ±100% in unity.
Here are some export settings to make sure you get the best output to unity. #avatar-help message
how does one fix this?
remove unneeded physbone colliders
that's it? thought it would've been more complicated
you can put t:vrcphysbonecollider in your hierarchy search to find them easily
how the hell does me making the images smaller cause the file size to go up
elaborate
Your Texture Compression settings plays an influence on File Size.
Cubemaps are also expensive on size too.
yes
but the more I compress and make smaller
the bigger the file size
also in other news as this is a seperate avatar from the one I am currently having troubles with and was made as more of a joke
hows my optimization
this is mostly a joke
Is there a bug with the texture memory calculation? The VRAM calculator is saying 175 MB but the SDK is saying nearly 1.2 GB
Did you accidentally make it RGB or something? Make sure you're only using DXT1 for non-alpha (RGB) and BC7 for alpha (RGBA) textures.
I also recommend using the manual override tabs for Windows and Android rather than the generic setting
Hmmm there is something to be had here... I can sense a kind of style emerging
But I can't quite place what is correct about it
The hair and the turquoise top
But it's mostly garbled decimated volume
The volume and direction of the hair almost looks decisive
Hm I guess but even more abstract
n64 perhaps
the lod model for n64 games
aka me cranking the decimate from 150k to 3k poly
I ended up just duplicating the folder with my textures and it made the size smaller
it was unity being pretty stupid
its half decisive I ended up going and taking my 150k poly avatar and cranking it to the minimum it allowed me which was 3k and then going and adjusting what ended up shooting off into the abyss and redoing the decimate till I got that
I will end up trying decimate properly at some point to have it be more intentional
rather than a funny test
What kind of textures did you have? Format/resolution
2K or lower and most were DXT1, DXT5, BC7
I got a question, I've managed to get this pc avatar optimized for quest so I can upload it, but I'm having troubles making it more optimized without making it look to bad. I managed to get the texture memory down to 0.59, but the avatar download size its self is still 9.85 and it drops quest users' frames by a fair amount. How can I fix this?
What's on the avatar? Can you show the stats panel?
ill try and take a pic, one sec sorry😅
the numbers on the polygons is a bit fuzzy but its just over 300k
would the best bet for me to lower the download size be just removing more toggles?
The biggest performance drainer here is the polygons
You need to have at least 10 times less than that to not cause performance issues on quest
what would be some good ways to lower the polygons on the avi
Removing non-important meshes and dissolving polygons in blender
ill try just removing meshes, its not my avi just a pc avatar I got and Iq'm trying to optimize it for quest
hopfully I don't need to take to much off lol
@drowsy fjord
oops, meant to type a msg first
I'm really proud of the textures on my model, spent forever changing a jacket to a picksheet to cut down on vram usage
Oh? What is the total use?
Impressive.
Didn't use to care, til I found out... About the new statistics xD
it's all UV mapped so that the lines are super sharp on the jacket
high quality compressed 1k texture for shoes, shirt, pants, hair and jacket
in fairness though the pants and shirt are solid color
Yeah it's definitely sharp, while I personally would prefer much more texture. Have you considered adding mipmap though I presume people call that depth map in Unity?
I have it normal mapped, it's kinda hard to see in that pic, one sec
I think that was also AI denoised by blender
Ahhh
much of the normal detail gets removed 😭
Honestly I didn't even know Blender had such feature, because I have not really used it that much outside just general avatar fixing.
still have space for extra stuff
all solid color UV maps get shrunken to the solid color areas and seamed so they have the super sharp lines
Yeah that's pretty good, I did zoom further, and it's just very crisp.
even my own handiwork isn't that good haha.
lotta effort right there.
there's some oddities every now and then because I ran a smooth modifier on it and it messed with UV maps slightly
Yeah that tends to mess stuff up but usually it's so minor it you can just open UV editing in blender
it took me several hours of just hand placing UV faces 😭
and essentially blend it with rest of the texture to make somewhat decent looking outcome
Damn
you actually do it by hand?
👀
had to for this
unwrapping was the easy part lol
all of like the stitching textures and stuff are repeats
Aaah
I wish there was some way for me to legally share my work
@ripe shore Btw, mind if I send you friend request?
go for it 🙂
Are the textures copyrighted/commercial?
the original is KC's Parka Coat
It had a massive 4k texture and the lines were blurrier than what I've got right now
Well, clearly it's huge improvement.
yeah, it's just a shame I can't even share it 😭
I mean, unless someone else already owns the coat
but then how do you distribute that or advertise it
Technically, you could sell it, if the license allows it.
Some may allow re-selling modified textures/parts.
the problem is it's a modified UV too, so mesh has to come with it
Oh right...
also heavily cut down on polygons from the original
so I really can't redistribute it without distributing the whole thing
Shame
if someone bought the jacket I don't see a problem sending it to them but it's such a shame just having weeks of learning experience and work be constrained to a single avatar that only I can use
Are people interested in it or are you just excited because you made something you think is cool
excited because I made something cool
made the lines sharper than they came with, halved the polygon count, vram usage is extremely minimal
Nice nice
Don't get too ahead of yourself though or else ya gonna spend too much time fantasizing about a storefront or making an avatar world etc
Make sure you spend time on making even better work and continue iterating
The recognition will come in time, definitely don't want to get distracted and waste time
I mean, already have, but my avi is a base that I can't redistribute anyways, just making it look nice for me :p
it's been a massive learning experience for me -- I've learned several new things every day going on weeks now
feels like about 3-4 different college courses crammed into weeks, but I have oodles of time at my disposal and motivation because I get to show it off ingame
that fantasy does kinda get broken though looking back at how much work I've put into just my avatar
if I didn't put this much effort into all of them I'd be releasing something low quality with my name on it
it irks the hell out of me how many avis for sale are low quality, unmaintainable and have zero optimization put into them, like literally zero
I know someone that's bought like 20-30 avatars and we were going through them trying to find one that they could change the hair in blender and add a toggle for practice
so many of them are unpacked prefabs, fbx files that don't load right in blender, 200k+ polys, just complete mess of animation folders and menus, poorly named textures, seperate materials for literally every object even if they're solid colors
goes to show optimization is not everything
Hello I have a question.
How are certain stats like polygon count actually influencing performance? I am generally trying to make my avatars perform as good as they can while still looking nice. But I always found the VRChat performance rating questionable when it comes to actual performance changes.
A classic example would be an avatar with 69.999 polygons could have a good performance rating. Adding 2 polygons would make it 70.001 polygons. This would make VRChat consider it Very Poor. Even though it would not really effect people any worse than before.
So what I am wondering is how many polygons would still be considerd good by the standard of an average PC user. How many meshes and materials are still fine. How many bones. How much texture mermory usage and so on. Can people who understand this better than me explain?
the poly count is as uncertain as guessing a shader's performance and what you are rendering at that moment
For a normal pc capable of vr (ex: 1060 6gb / i5 8400 / 16gb), 70k polygons per avatar would be enough, both for performance and detail, gpus can render a lot more very fast but keep in mind the world and other users are additional polygons
To say it briefly, poly count performance depends on your vertex shader, how many passes you have, and how many things are on the scene that will cause your polygons to be redrawn
Because in most cases you won't be rendering 70k polygons but maybe thrice than that or even more, if someone spawns a point light with shadows, all meshes on your view will have to be rendered 6 or 7 times more
well that was not brief
example: your avatar is 70k, there are 6 more users with 70k avatars -> 490k polygons
the map is 140k polygons -> 630k
now, the world has a realtime shadow sun and someone tought it would look cool to add a point light for their gun and "forgot" to turn their shadows off
now you have to render the shadow caster + 1 pass for the sun + 6 passes for the point light -> 5.040k
now your gpu is rendering 5 million polygons, at that point the framerate will be noticeably low
if you are on vr, you have to render one scene per eye
so your gpu will have to render 10 million polyons
this with no fur shaders nor outlines, and on a 6 person instance, with one sun and a single point light
Obviously the renderer has a smart way to exclude out of bounds polygons but the vertex shader will still have to be rendered for all the polygons, and there are less gpu cores dedicated to proces vertices than pixels so be careful
it mostly depends on what settings you're usually in, if you're in small friend instances with like 5 people it's honestly fine to go a little bit past the polygon ranking as stereo said the perf ranks are basically based off of mid tier hardware and an instance with like around 20 people
Hmm. Very informative but I am still not sure what I should try to achieve when it comes to stats?
Let's say an avatar with everything medium/good, but a polygon count of 90.000. Would it still be a well optimized avatar when it uses a simple shader?
oh yeah, 20k higher is honestly not too big of a deal
modern GPUs are really good at displaying these things
you'll probably not budge GPU usage by too much honestly, unless the avatar is coated in blendshapes which you should probably look into using something like VRCFury to bake unused/static value blendshapes
yet to see an av with good stats except over poly , its always a giant mess with lots of meshes/mats
Are blendshapes problematic if they are unused?
yeah they'll still take up skinning calculations iirc and sit in VRAM
actually I don't think skinning calculations if they're at 0
but they'll still take up mesh VRAM
So if I would remove the Blendshapes that I do not use in Blender, it would make the avatar peform a bit better?
it can, especially booth avatars
some booth avatars have like 500 blendshapes
that VRCFury blendshape optimizer costs nothing and really easy to put on any avatar
I do not know VRCFury, Is it a Unity add-on or Blender add-on?
It will decetct unused Blendshapes and and remove them for example?
yep and also bake blendshapes that don't move from their values
after installing it, add a VRCFury component on the root avatar object and then add a blendshape optimizer subcomponent inside of it. That's it, VRCFury only applies non destructively meaning it only applies on play mode or avatar upload so it doesn't have the ability to mess up your avatar/project
Thank you a lot. I have heard that other big performance eaters are material slots, VRAM usage, and physbone transformers. Is that true?
yeah material slots and VRAM are pretty big as well
What numbers would you go for each of them and be able to say it is decently optimized?
Assuming everything else is fine.
me currently I have like 30 material slots, and a lot of those objects are disabled unless toggled, though I'm usually just around a small group of people. for VRAM I would really be mindful of that in any cases as most cards only have 8gb of VRAM and personally follow 110mb of texture memory max
if I were to be in a lot of public spaces I usually try to get my material slot count down to like 10-18
Ah so going for 80 MB VRAM and 16 material slots max each is decent?
those fit in the medium rank already so yeah
That is great. One more question.
Does lowering the amount of physbones make the avatar perform better if the amount of transformers stay?
As an example a hair might have 8 physbones with 60 transformers. Putting them all under a rootbone would lower the number of physbones to 1, but the transfoerms would stay at 60.
then it would do calc on one core instead of 8 , 1 component - 1 core *Because of the multi-threaded nature of PhysBones, it isn't always the most efficient to put all bones into a single chain
if any of my av go over 5 mats / 2 mesh / 50 vram ive done something wrong, rare i go over that
PhysBones is a set of components that lets you add secondary motion to avatars, permitting you to add motion to things like hair, tails, ears, clothing, and more! Using these well will make your avatar seem more dynamic and real.
Does this mean better or worse then?
id just parrot what they wrote, use up to whatever amount of components rank you'd want to be, mines usually 8 max
this is irking me a lot right now 😭
I don't want to permanently cut chunks of my avatar out to hit a polygon limit but I'm probably gonna have to if I want to keep my clothing toggles and everything
like the docs explain, it's only really a good idea to break it into multiple components if you have a lot of transforms affected by a single component. multi-threading performance shouldn't really be that much of a concern, because the components of everyone else in the lobby can also be spread across multiple threads
you could always just make your main avatar VP and your fallback Good
currently just too low on geometry for my joints to look good and not clip, stuff needs to go
the only reason my main avatar is VP is because of the poly count (clothing toggles, disabled meshes) and Contacts (bHaptics support). everything else is perfectly fine
I'm so tempted to, it just feels like such a poor workaround + I'd have to maintain 2 seperate copies and 2 seperate blender scenes
well, that depends. if you can get your avatar with just the basic clothes to be Good, you can simply mark all of the other things as EditorOnly on your VP copy
I'd ideally like to cut out the skin mesh beneath the clothes
the problem is that's destructive since my body is 1 skinnedmeshrenderer
including hoodie and pants?
those are seperate because of material toggles and I'd like ability to take off the hoodie seperately and leave just t-shirt
yknow
I could join my hands to my face skinnedmesh
then just not export the body or feet
are the hands separate...?
can be
hmmm
they are joined with the main body mesh atm
I mean, that could work