#avatar-optimization
1 messages · Page 22 of 1
how many animations in a blendtree node is too many?
What are you even doing with that many contacts?
can't really answer that -- but, generally, one big tree is better than several layers
Is there anyone that knows how to setup face gestures with a blend tree ?
just set GestureLeft and GestureRight to floats then you can use them for your blendtree
Yeah I got that part I just don't know the overall blend tree needs to look like. Do you by chance have an image or a term I can search, seems like it's not common to do it this way
i don't have access to my PC atm but it's just like how you'd do any other int toggle with blend trees
just set the thresholds to the coresponding values and put the animations in
ill give it a try, appreciate it
Thanks
hii can someone help me 2 set up booba physics? nel nel dumb
please do let me know if you can take a look, i got it somewhat working but the blendshapes multiply with the float parameter
How much would it typically cost to just optimize a avatar?
Depends how optimized you want it and how bad it is
Alr okay cuz sometimes I get offered people that they'll do it for me and charge like 50
Never do it that high
Yeah thanks now I'll just need to find someone:v
There's tolls that might actually do it for you in unity. Not sure what it's called tho
I've been trying for optimize it for months without any knowledge so I just gave up :v
Tbf while there's red on there it's far from unoptimized in terms of vrc
The only thing I would consider bad is your texture memory
Yeah idk how to fix that I had so many optimizer but it keeps breaking it
What ranking do you aim to be in ?
I'm trying to be quest because I play pcvr but they can't see my avatar
I'm unfortunately heading to bed right now but if I can add you I might be able to make it quest compatible tomorrow
I have someone do my own optimization for me in vrc traders
Ans he charge me 50 for it
50 is way to much imho
Omg
That means he over charge me
It's not the first time someone tried charging me that much even I think it's too much just for optimization
@quaint dagger why the friend request?
triangles only one that many people have no idea how to optimize, rest is very very easy
Just to tell you that be careful many scammers in my DM now
Oh ok
haha ten bucks
really depends on what it is we're talking about. modifying the model? wow $10 is cheap
? just make a 1D blendtree with GestureRight or Gesture left as the parameter
i'm opening unity rn i'll send a screenshot in a min
I need help with these things so I can make my avatar good rated
- Combine Skinned Meshes (Ctrl + J messes things up sometimes)
- Combine Meshes
- Atlas Textures
- Combine Material Slots
Any other tips are also great, Even if they don't show up in the VR chat ranking system.
@pearl kelp
- make sure you apply all transforms before ctrl j (a - to sleet everything, ctrl a - apply all transforms)
- I use a blender add on for textures
https://github.com/Grim-es/material-combiner-addon - material slots count every slot on every object, so even if you have one one material in assets, but 3 objects each with one slot, this will count as 3 materials (you can't combine them between objects, you can only combine the ones on one object with the add on above)
Yeah this is what I did originally, but for some reason the animation values would stack with the float value
Wait 10 is cheap?
To be clear it's just optimizing it and not actual creating anything
but what's "optimize" mean to you?
Put it in medium ranking and making it quest compatible
if avatar have alot of tri getting it to quest medium id charge way more if i ever did that , anything else is super easy (going to 15k from a 200k 'quest' avatar isnt fun)
yeah, I agree
Yes! exactly
It's more so tedious than hard imho, I usually just join some friends in a call while doing it
right but what's it at now? that could be 5 minutes or 5 days
usually a day or two
my own model i got to good rating in 2 days, and it now functions as a fallback for pc quest and ios
never done commessions before tho, only ever did help out friends
$10 for a day or two of work? Can I send you all of mine?
haha i definitely dont plan to do commissions like that
ill do it every now and then whenever im not busy with work or games
but for today ill put all my animation layers into a blendtree as my understanding is much better performance
yay, more direct blend trees
you seem like a knowledge person, in the fx wouldn't it be best to use a single blendtree for everything?
or is there some hidden benefit on having a few ?
i can't find any information about this
so far tho im putting it all into 1
You can't use them for all things, but yeah I put as much as I can into a single one
So far no issues, tomorrow I'll test if I can jam my gesture layer into one
Note that you don't have to author one enormous blendtree
VRCFury's Direct Tree Optimizer can automatically mash them all together for you
I used to try to make large trees, but this made it hard to actually find anything
i now try to stick to small DBTs that can get merged later
gestures in a blendtree does funny things (blendshape one) its instant and looks wierd
yeah, they're not appropriate if you need transitions between states
since there..aren't any
of course, you can construct your own linear blending system, but that's probably going to be slower than just using states 😉
yeah I definitely don't do gestures with them
(...i HOPE it'd be slower than just using states)
I don't mind the Instant tbh I mostly use them for pictures anyway
Only funny business I had with them was the blend shapes got multiplyed by the float value.
But I just divided it on the actual animation to compensate
i use it for 2D faces mostly
You can do gestures in blendtrees and have it smooth instead of instant.. but I don't personally know how. I just know that the Mayu does it and it looks great.
It seems very complicated.
It's possible to create a blend tree that smoothly approaches a target value
in short, you blend between the current value and the target value
it takes more work to make that framerate independent
feedback loops AKA float smoothing. The easiest way is to set a parameter to a value weighted between itself and the target value, which creates exponential smoothing. This updates once every frame. You can detect the framerate with an animation that linearly increases the value of a parameter in order to account for framerate changes. It is also possible to smooth linearly with steps by blending between the output float and the input value divide by output value multiplied by a predetermined step size
linear smoothing is a little more annoying to set up, but it's really nice
I'm working on a package that'll generate things like linear move-towards smoothing for you
been using it on my own avatars for a bit now, and it's very convenient
Let me just smooth 2 to 7 real quick and go through all 5 stages of grief tho
I've been considering setting that up, nice to hear others have
So I know you don’t want to have too many blendshapes, but if you have, say, 84 blendshapes, but they all just modify 4 vertices would that be terribly bad for performance?
it's not all that significant for performance since Unity 2022, but blendshapes still increase the size of your mesh
I wanted to do a speech to text sort of thing where it prints out whatever viseme I just did as a glyph, so I’d need 14 blendshapes x 6 meshes which would just be quads
So I can’t imagine it would be that large of a mesh size
Have you done it if so could you possibly post a screenshot of what it looks like ?
Its long deleted, basically just took an osc smoothing add on and had it smooth gesturel/r, added basically the screenshot by sunshine above that pointed to smoothed value
It never worked
I've just hopped onto the long road of optimization. Is is wise to duplicate my project for the mobile upload or is there an easy way to preserve my current avatar settings so the two versions are separate? I know I could use a different scene but then I have to remember to scale my texture resolutions back up if I wanna reupload my pc version.
PS:I know I how to link the versions, I just want each version to be in its' own little corner.
does anyone know how to fix the black eyes for quest?
That is incredibly vague
Making each their own project is a massive hassle and takes up huge amounts of space. Personally I just duplicate them in the same scene, but you can make them different scenes if you want to.
Best way to lessen bone count while still having them look good? 
I have a lot of bones due to some assets on my avi, but I don’t want a high count
If I dissolve too many they look a bit choppy
use bone merge addon to make sure weight painting remains. If it's too choppy then smooth weight painting with blur tool
You can configure texture import settings per-platform
notably, you can set the maximum resolution
ooh. I didn't know that. Thank you.
OH? Is it a github download? Where do I find it
That’s awesome
adds an additional option to merge selected bones to active selected bone - although this does only work with one mesh
you can always hide the other meshes iirc if they aren't affected, and if multiple are affected you'd have to duplicate the armature for each mesh and do it again for each unfortunately
there's a manual way to do this too but it's tedious
using mix weights to edit vertex groups with modifiers
Thank you!
Yeh idk how to dissolve sparingly while keeping the priddy integrity of the model
How vaiable are hair cards / fur cards for vrchat? Ive used them a few times before but I remember people complaining quite a bit about performance when they were very close to the cards, likely due to overdraw? (Though the card used Atest transparency so I am not sure how that works)
I am interested in using it more heavily, as before Ive only ever used them on the tail. I wonder if its a method people recommend or if its generally just way too heavy due to overdraw?
I know of a few avatars which use them well, so I'd say it's certainly possible
I know of many avatars that have over a hundreds materials and millions of polygons and take up 2gb of texture memory. So Just because people do it doesnt mean its a good idea. I am curious if others had issues with performance and what they did to solve them
yeah the ones I'm thinking of are medium though
my models were also medium, since the performance rating doesnt account for shader performance or overdraw
yeah just commenting on your "hundreds of materials and millions of polygons"
So yeah, haven't done it but I've used more than one avatar that has and haven't noticed anything particularly bad at all.
im not an expert on optimization buuuut i think it depends on what shader you use
assume standard shader
Hair cards can work well, though with how toony most avatars are a style that realistic may look slightly out of place in most settings
ooh good point
hair cards would have the caveat of being PC only because there's no transparency on Quest avatars
untrue
multiply particle shader isn't too bad ^^
otherwise additive particle shader works too (if you don't mind it glowing in the dark)
isn't that going to look kind of stupid your hair being slightly transparent to the background by being multiplied
better than looking blocky ^^
See my preferred method of doing hair cards would be modeling the hair, duplicating it and thickening it slightly, then having a loose transparent strand texture on the outer layer so you see strands of hair sticking out of the original shape at certain angles
Throw some anisotropic specular on both layers and voila
yeah but this only looks good if the hair is black tbh
i want to merge slots together so set my avatar into the way i want then convert it into an fbx file. but when i import it blender nothing shows up. no armature, no mesh, not bone, nothing. not even an error. i tried to find a solution on internet for 4 hours but couldnt find anything.
what exactly does 'convert into an fbx file' mean
most likely in a unity project the fbx file just needs to be found, the fbx exporter add on is for a specific .unityasset file
they posted in multiple channels
Do not attempt to use Unity's FBX exporter. I've seen nothing but bad results.
Modify the original model file.
Does anyone know of a custom script or something to fade mipmaps to black or something useful instead of gray?
You could use something like Nvidia Texture Tools to generate your texture. Though you need a Nvidia account to get it 🙃. I used it to make a DDS for mipmap testing by feeding it this atlas png for example. (I would link the DDS but it's uncompressed and 80MB)
You'd have to do the fading in the atlas yourself tho
looks neat in motion
You can modify a texture's mips using the texture class's SetPixels function, i believe it only needs to get the mip's colors using GetPixels, darken all the colors until pure black depending on how close to the last mip you are, set the colors using SetPixels then apply the texture
probably that will do what you want
why do you want the mips to fade to black tho?
hell yes, thank you
any texture bleed is really obvious with emission or other data masks when streaming mipmaps downres them. I would rather they just fade out instead of turning the whole avatar into the human torch
ahwell
how do I optimize avatar for all platfrom in general to the point of good or great performance ranking best I can done is Great on pc but terrible on the rest of platform
squish and reduce it even more
what is the point in using the cloth compent and also is it really expensive?
is it expensive to use cloth?
its local , not reliable loves getting stuck on colliders
yeah it's really quite awful
also another thing ive heard a lot about animator layers being bad also that having a complex blend tree is bad is this true and how bad is it?
Having too much of anything is bad. Too many layers can be a lot of CPU time.
what abput blendtrees?
blendtrees tend to be faster to setup, but doing anything advanced in them good luck
there's some performance test detail here: https://vrc.school/docs/Other/Benchmarks
(also a tutorial on doing DBTs if you want to join those of us who use them as much as possible)
perfect thanks
was looking for this
Good site, lots of detail
annother question how do i make vrcemote permitors and how do they work?
I'm not sure I know what that is?
gogo loco uses them you can have like 999 of these parameters and it works like an index them i think but i dont really know
ohhh, VRCEmote, it's just an integer parameter.
there's nothing really special about it
it's the main variable that drives Gogo Loco, but that's about it really
so what can i do with it? can i use it to create toggles and stuff or only do locomotion animatons?
... it's just an integer used by gogo loco. you can use it in the animator like any other integer parameter.
But I'd probably avoid using it on any avatar that also uses gogo loco, so you don't cause that to do unexpected things
alright maybe its not the best idea then
Hey guys question about materials!
If I have 4 meshes that all use the same material
In unity/VRC, will they count as 4 separate materials, or just 1?
They are separate materials
gotcha gotcha
ty guys!
This barely edited avatar is apparently too big to upload into vrchat?
how big is it?
yeah, show the stats
Where are the stats
also by "big", specifically what attribute is big?
height? upload size?
I was assuming upload size
Yeah, upload size
You mean this?
Maybe I should delete everything the avatar isn't using?
you should always do that
Yeah maybe that's the problem
Every time I try uploading it, it just says 'error, check the console for more details' and it won't let me click on it until it resets and acts like nothing happened
Also it makes a new prefab of itself every time
What's in the console?
82 errors - please show the first 2-3, at the top.
hmm nothing useful there
I guess look through the errors to find something interesting, most of those are just "an error occurred" or are side-effects of some other error.
yes, I know that's not very helpful 🙂
I started a new avatar project as a test and literally just put a blank avatar prefab and I already have 15 different errors
Even more than the one I have more stuff on
I can't even upload it completely unedited
🤦♂️
Maybe its the fact I'm using a prefab instead of an FBX? I can't seem to find an FBX anywhere though
Nope, found an FBX, still can't upload it
Literally arrived unusable
"Attempting to load the data for an avatar we do not own, clearing blueprint ID"
Error building player because scripts had compile errors
that is the error that needs fixing
some script somewhere has a compile error, and unity can't ensure it won't be on the avatar, so unity refuses to build the avatar's assetbundle
this is a side-effect error, again, look at the top of the errors list.
I need to drop my avi's size by 8.85 mb so i can upload to quest. Anybody know what I could do?
lowering texture resolution, getting rid of things that you don't need, etc
is there any way to easier atlas textures bc i keep having to re uv map and then reimport and do all the stuff in unity
there's a blender plugin called material combiner, though it doesn't seem to do more than just diffuse textures
if the shaders you're using support it, you can just set the scale and offset properties of the texture inputs of the materials.
then you just need to combine the textures and can leave the UVs untouched
hey is there any way that people can think of to create two synced object locations while using as little parameter spaces possible?
(i know about the vrlabs one, but i need something that'd be synced quickly, preferably under a second.)
right now i'm using three floats and three contacts with constraints to find the exact location in relation to a cube area with a consistently switching toggle to sync the secondary location, but i just feel like there's something i can use to quickly sync it while lowering the total parameter cost (which currently is 25)
as of right now, i am making animator layers by hand so having a few booleans transfer data in binary is pretty much out of the question since i don't do drugs
idk if i should worry too much about parameter costs though since there aren't going to be many avatars that ever get within like three quarters of the limit
add face tracking and you're bumping up against the limit real fast
Does the avatar need to also be optimize for Quest inorder to run on android?
i mean you can always use physbones to sync position
it won't automatically sync for late joiners but all you need to do is grab it and it will sync again
i found that to be the most convient
Ah syncing for late joiners is what i’m going for sadly
it will sync for late joiners just not automatically, you have to grab the physbone
Something that doesn’t require something like grabbing the bones
I’ve used that kind of thing before and it’s always super jank
(It was for a volleyball net that you could pull out)
Great idea, horrid in practice
It works fine if you use constraints to reduce jittering
You could use contacts to get the angle of the physbone and the stretch value and then animate the position for late joiners
That’ll still take up three floats
Im probably just gonna stick to what i have and add as few extra synced parameters as possible
are there similar canny posts to this one? I feel like there was a more recent one with avatar animation count performance when seated
https://vrchat.canny.io/avatar-30/p/bug-frames-drop-in-vrc-station
I need to get my avatar from roughly 100,000 polys to 70,000 to be Poor instead of Very Poor (to attend an event that requires a Poor or better avatar).
I have literally stripped everything I do not need, and only have the bare necessities on it, and I'm no good with manual blender work.
I've tried the CATS/Tuxedo optimisation but, quite frankly, it makes my model look like shit.
delete mesh under clothes
delete things you don't need
I decided to give in and give up trying to get a clothing toggle (which meant I could delete all the fluff on the avatar), that worked and it's 67,178 tris haha
I lost something, but eh, I'm gonna probably be fully clothed at raves anyway x3
yeah, IMO strip the thing down to only what it needs for these events
yeah
yeh, otherwise you could always upload a seperate avatar but without the clothing (sorry that im late to this discussion lol)
I have gone a bit crazy with Schulting in Blender.
Does anybody know some good retopology tools or technieks?
retopoflow? polymating? polyquilt?
I'll take a look at them.
first two are not free, last one is
Is there some kind of performance breakdown for each optimization? Like to what extent does everything influence performance.
there's a list on the vrc website showing what's for what category.
but I don't think that's what you want, is it?
The Avatar Performance Ranking System allows you to see how much a user's avatar is affecting performance via analysis of the components on that user's avatar. You can also use it on yourself to see how performant your avatar is.
here it is in case you wanna take a look
I was more curious about how certain thing impact performance. Like would an avatar with 100k tris but with 1 mat, limited animations, low physbones, etc be worse than an avatar that say has 50k tris but with 10 mats, lots of animations, etc. The performance rating for the 100k would be worse obviously, but would it actually be in practice.
Depends on how in-depth you wanna get.
A surface level depth would be this https://vrc.school/docs/Other/Benchmarks/ where you also have to take into consideration that your avatar will be one of 40 or more and the majority of the other avatars will likely be worse than yours by the fact that they just didn't care about optimization at all. Don't be one of those people that optimize assuming they'll be one of like 4 and then use the avatar anywhere else.
Actually in depth requires knowing how the hardware reacts, which is really hard to put into a readable amount of words.
Tris are generally cheap, until they aren't and in situations where they aren't (overdraw).
Each material is a draw call, we dislike drawcalls a lot, they are expensive (the trip between getting stuff from main memory to delivering it to the GPUs VRAM), some draw calls are more expensive than others, but best to always assume they are the worst.
Animations can be terrible, and VRC School does a good job explaining that part.
But of course animations are CPU side, where VRC generally struggles most, while tris, draw calls and generally just GPU side~~ (draw calls interact with the CPU in a way that takes some performance from it).~~ I am over and underexplaining, which is just confusing.
Thats more what I'm looking for.
Also I was just reading around, and was wondering if 4k textures are that unrealistic for like an atlas. I'm working on an avi right now, and I think I should only need 2 mats with 4k, all the assets have 2k textures, textures to keep everything as is no compression. or should I compress down further to 2k?
The answer is very much so it seems. 2k is about 2mb 4k is like 8mb.
difference seems minimal too.
does anyone know what i can do to get rid of that 1.02MB?
Retopology?
Is there a benefit to using Simple Bake over the built in blender method for texture baking?
I find it way less time and effort. So yes.
Texture compression?
Oh i read the error message
Well you can always scale down resolution of a texture to see if it helps.
You can delete unused shape keys, and merge shape keys together for emotes and stuff.
its a big deal if i have 5 uvset in 4K with color normal ao metallic..?
without that my character is ugly
its take 232mb :(
How can I avoid strange lighting bugs like this?
Nvm I figured it out. I need to edit the normals to achieve a better looking result
also, further messing with topology can also fix this
Hey can anyone help me with decimating a model in blender and importing it back into unity. Because when i did it, it is just invisible
It should be there but it just isnt
For context i have an avatar and im trying to make a quest version so they can see my avatar to
But because the model i use has like double the amount of tris that is allowed for quest i had to decimate it in blender and i just saved over the original model
And now it doesnt work
Generally (know of an example where it doesn't apply) that means you exported using the wrong settings.
But easier fix would just be to re-add the original fbx, import the decimated version and in the skinned mesh renderer just replace the mesh used for the decimated one.
Oh ok thanks
In which file format do export the decomated mesh?
Ok so now the export does not have any rigging even though it had that in blender
Not file format, the FBX export settings.
For example scaling is often times a easy one to mess up.
If armature (in Unity) has scaling of 1,1,1 then FBX All, otherwise All Local.
Can anyone help me?
just be patient and people will answer
How did you decimate it?
Assuming you didn't export it in the wrong format then the fbx should have bone weights, did your apply the armature modifier in blender?
I did not apply anything in blender but i will try that
Is a skeleton modifier the same thing?
Because the skeleton modifier cannot be applied
The blendshapes are also gone
I wont be able yo reply for most of this day
blendshapes gone are usually a sign that you left an un-applied modifier on when exporting to fbx
does anyone know why some of my blendshape toggles will have random verticies jutting out from where i hide them in the mesh, this has been a problem ive faced across many models over the last year or two. it only happens when in vr. never when in desktop. i assume its just like a really heavily weighted vert getting confused when shrunk to a single point but i cannot figure out a workaround
are those vertices weighted to a bone that's been moved, and when you shrunk them you didn't keep it aligned with the bone?
this is the hard part about using blendshapes to hide stuff, the vertices will still move with the bones they are weighted to
yeah usually on limbs
prob need to not just shrink down to a single point but like move them closer to their weighted bones?
🤔
yeah probably shrink to a line along the bone they are weighted to
or use UV tile discarding, if you're not going for quest
hmm, okay ill mess around, see if i can figure out a way to scale them to a line easily
uvtd is cool but i want to not have force ppl to show my shader to see my proper ava state
I'm not sure I know anyone who actually turns those off, but yeah, it's a concern. Though with the blendshape trick, that relies on your animator being active
Fair point xD, thanks for the help
yeah with shrink to hide multi vertex group mesh, an easy way to do it is make a pose that shrinks the xz to 0.01 and save that armature modifier as a blend shape. If done right the mesh blend shape at 1 should appear to be lines that follow your bones!
Do you have any broken scripts in your project? For me that caused every avatar I uploaded to fail security checks until the script was removed
Use blend trees, then there is no need for more than like 10 layers.
even just slap VRCFury's thing that turns basic toggle layers into a DBT on it
Oh yeah like everyone else said, no need for that many layers
Not sure what you're doing with them
Like why you'd need that many
Even before I knew about DBTs I only had like 20 maximum
tbf i have many layers for customization purposes and because there's no way to toggle objects, shape keys, material properties, and any other stuff without relying on animators
AV3 components that act as toggles and stuff would be very useful to reduce excessive layers and performance impact
That can be done with a blend tree too.
https://vrc.school/docs/Other/DBT-Combining/#fbb38b69c7e74a8989fa61ca4b5beba9
Manually, or some one mentioned a VRCF component that does it automatically. Although manual is usually the way to go when it come to getting the most bang for your buck out of optimization stuff.
it's a good thing to learn!
idk something about interpolating between On/Off animations doesn't convince me for performance
I'll give it a shot if i need something like treating groups of booleans like integers or smthn like that
same site has actual testing results about that performance if you want to explore that too
Oh so i need to apply the skeleton modifier aswell?
Because it doesnt let me
No, you should not apply the Armature modifier
Well then what do i do?
For context im trying to do a quest version of my avatar and it has too many tris
I'm not sure what you're trying to do, I just had that one suggestion as a possible answer to the question about missing blendshapes
Im using a decimate modifier in blender to reduce the tris on the model so it can be quest compatible
you'll need to apply that modifier before exporting.
Or just use the decimation that isn't a modifier.
Decimation isn't a great way to do this overall though.
things like targeted edge loop dissolving and remeshing
retopology
Ill try it
trying to do blendshape for clothes toggles…
when toggled off (made really tiny inside the body) issue is that the mesh now stretches out of its “hiding spot” like crazy when the armature is posed.
is there another way to do these toggles then? (can’t use separate meshes, this is optimised, can’t use alpha dissolve either because quest avatar)
You need to make the "hidden point" of those be along the bone which moves them
there are cases where you really can't make it work ideally.
so like sculpt it really skinny along the armature? (same way people eliminate clipping)
i thought so … optimisation has its drawbacks but i am determined
what I mean is move the vertex as close to the bone you can without moving it too far from it's position along the bone
so in many cases yes, that does mean skinny along the bone
yeah it can be tricky sometimes
much appreciated ❤️
ive always wondered what is the difference between a basic mesh and a skinned mesh... i tried to look it up but the deffinitions are not always precise... like i want to know what automatically makes a basic mesh into a skinned mesh
if it has a rig and deforms
what if an object has a SINGLE bone, it doesn't technically 'deform' it, does that still count?
in what way does it "have" that bone?
is it weighted into it?
sounds like a deform bone then
yeah if it’s weighted then it “deforms” according to the computer
what if its parented to the bone instead
is it weighted?
no
then… i don’t think so
sounds like not skinned
yeah
as long is it’s not joined with another mesh that DOES deform/have weights
then you should be fine…
i see..
i had these same questions, searching the internet for answers did little to help
never knew skinned meshes could be anything weighted to a bone...
i thought basic meshes could be objects that just dont have blendshapes lol, or that arent "stretchy"
if weighted, computer says “weight means it will EVENTUALLY deform!”
even if it never does…
yes
thank god
Joined meshes reduce mesh count in general
in blender terms, meshes are how many objects you have in your scene
if that helps you
3 cubes = 3 meshes
that kind of thing
ok i see now
just be careful when merging objects with textures because sometimes the uvs need to be fixed
(currently dealing with this… i hate it)
so did i
atlassjng should help it though
if you have multiple materials on one mesh, consider atlasses
it’s also easier to remap your uvs with an atlas
but only go down the remapping uvs route if you run into uv issues
if you don’t have issues, don’t mess with anything
“don’t fix if not broken” i think the saying is
right, i sometimes learned that the hard way lol...
same here 🥲
Is there any good way of handling dissolve toggle with blendtrees? VRCSchool mentions that the exponential smoothing technique can be used for it, but I don't see how without some kind of driver parameter.
I've just been doing those in traditional layers
not tried it much ive had some wierd things when i try to do motion time in them, one work other wont even tho they are same'ish
im like uh why ( 2 floats moving an animation in blendtree )
I think I under stand how it works, as I was thinking of it as more of a binary path sort of thing when its actually mixed. When smoothing value is at 0.5, the animations are played equally, so output will be set to the mid point value between the input value and the current output value. That will repeat every frame update until they are equal-ish. My only concern with this method is that you'd need two animation parameters per one toggle. I feel like three's probably some clever way to share the output value by tracking whether its in a playing state or not, but not sure how to implement it in terms of a blendtree.
Do I need to go throught ebfor einporting
just select all then import
assuming you bought this avatar
that page host leaked/stolen assets and stuff, we dont like the page and wont help people who use it
jinxxy
UV Packmaster is magic for organizing UVs
what is that?
i ended up just doing it all myself lol.
its a blender plugin that calculates the optimal placement for your UVs.
You can group and assign values to the UV islands depending on how you want them scaled. It can auto stack similar UV islands too.
enable mesh read/write on all your import settings
unless… your avatar just actually has that many polygons…
what 😭
what?
Did bro type this out with one hand 💀
there's an "auto fix" button in the sdk, click rhat
Anyone good with optimization on vroid?
i thought i replied to you the first time. but i may have forgot
a way to get around the transparency but still keep the look that you want is to cut the mesh using the knife tool in blender, cut it along the transparency.
butttttt you will need to redo your eye expressions manually after. so its up to you if you’re down for that. it’s how i convert my vroid avatars to quest
i can call with you and help if you decide to go down this route.
i don’t mind also just redoing the eye expressions for you, it’s not a big hassle for me
that's why i figured a different way
this is not true, as i explained to them **
well yeah
but i'm to lazy to redo all of them xD
that was a very big mind shortcut
good thing it’s not your avatar and i’m asking them, not you.
sorry hah
great, sorry for trying to take part in the conversation :) i won't do it again
working on uploading this avi and having some issues with the errors. I have seen some of them before in previous uploads but others i have not. Anyone got any ideas on how to fix these
get correct unity first
auto fix second
the rest is fixable using blender and some plugins/manually
tuxedo plugin for polygons
just ctrl+I for meshes
material combiner for materials
physbone components in unity, you need to remove some
bones you can merge weights in blender using the cats plugin
textures lower sizes in unity
got it to work hopefully
nevermind
still struggling
you can always read other conversations here, there's a lot of info
ok
what is tuxedo plugin for polygons
it can bake your avatar making it have less polygons. I use it because the quality is better compared to decimating with blender's decimate feature
i wish i knew that beforehand , that is very interesting
yeah, very helpful. Keeps shapekeys too
side effects though, it combines all of the materials but I don't mind that for quest
ahhh, that’s a deal breaker for me sadly
Blender decimation can keep shapekeys provided youre not using the modifier to do it
is there a different decimation in blender than the modifier? I thought it was only a modifier
in modern versions there's one in the Mesh menu, iirc under "clean up"
that thing
interesting
looks damn good
edit mode > select the part u want to decimate > mesh > clean up > decimate geometry
yeah I got that from thulen's screenshot
hey, that works well!
for the first one, simply join the mesh objects in something like blender
what about the materials
that's harder, it depends on what you want to do. could atlas with a tool like material combiner, could bake, could recreate textures...
If they share the same texture why arent they already 1 material
yep
they dont share textures
i never said that
I said if
To add on to this. If they are simple props and don't have bones, you can use a basic mesh renderer.
How can I optimize contacts and receivers?
Been running into issues where all contacts stop working.
I assume overlapping contacts is bad?
Contacts in close proximity is bad?
Big contacts are bad too?
What about receivers?
Are their impact higher or lower than contacts?
If they are overlapping, why not just merge them into one?
Well they're not in the same spot, like a cheek rub and a head pat collider
And some avatars have big ones that envelope the entire avi. Which would overlap all of them.
And they trigger different things
May be too many. Contacts stop working if you have too many around you (including your avatar and other people's)
Yeah, that's been happening a lot. So I'm cutting down on the amount and adding toggles.
But it's unclear what the limit is and what distances are involved
Idk about PC but I know there's a known limit for quest.. it's some power of 2 but i can't remember exactly.
It's 4096 per instance.
Idk if ther is a hard limit per avatar.
Also I think only synced contacts count, so you might try making them local.
Making them local means only the person using the avatar can see them
And there must be a much lower limit based on proximity.
Because hiding avatars nearby fixes it.
I thought it meant it was local to the person using the contact.
Contacts are client based and don't need to sync over the network.
But you can sync their parameters if necessary. Like if there's a risk of desynch.
If you set them to local they only work for the person using the avatar and no one else will even see them working.
Hey quick question, do blender's hair curve feature work well with vr chat or should I stick to hair cards? (I'm trying to make somewhat realistic looking fur)
just convert curves to mesh
So now this 30+ mb png is just sitting on my pc which I rendered for like an hour is just useless... :dies: (This is what I get for assuming)
Erm, if you want dense realistic fur probably do stick with hair cards or multi layered hulls to get the effect, making dense fur with curves can quickly explode in polycount
fur shaders could also work, however they only work for pc
and some may be heavy on fps
for fur shaders don't use layered ones, the biggest problem is how they look on the sides and how much they overdraw pixels, use fur shaders that use "vertical cards" like UnToon, there will be overdraw still, but way less and it will look better
Curse words
definitely curse words. I've got one I'm working on that I need to lose 400 polygons to be Medium 🙂
i know this pain 🥲
i was over by 4 polygons once
4 I could have done easily
yes but this was after i decimated and had everything 100% finished,
i had nothing to take off or remove
yeah that's about where I am too, nothing really to remove
I always feel like the poly count for models should be a lot higher. From what I understand, its material count that's way more problematic any way, in terms of performance, and polygons are fairly cheap to a reasonable extent.
Yes especially on PC. The fact that all rankings except excellent have the same cap of 72k is ridiculous
Polygon cost depends on how heavy it's the program(s) that processes them individually and the memory that needs to load on a drawcall
A material's performance also depends on the mesh that it's going to render. So the expected impact of polygons is very arbitrary since the SDK doesn't know how many instructions every vertex will need to process. Keeping aside the polygon multiplication that happens with realtime lights, geometry shaders, or extra passes like outlines (which are super common)
Vertex cost is no different from pixel cost except for your gpu having less processing power for verts because it assumes your scene won't consist of 10M triangles
So you either have vrc with a 70k poly limit, letting you use any shader you want, or have a much higher poly limit but you are only allowed to use a set of vrc provided shaders.
is there a way to get an outline that looks like a solidfy modifier type outline without actually doubling the number of polygons?
The thing is, it's not 2018 anymore where the Vive Gen 1, and 10 Series cards were the target/most popular. Modern GPUs can do a lot better than when this 70k limit was made, hell GPUs don't give a damn about raw tri count but rather topology
70k is annoying , double it already
im more scared of peoples mesh / material count and the dreaded vram
70k is nice, the tipping point from cpu to gpu bottleneck is around 20 green players with both at ~6ms render time
50+ player club all green ppl worlds gpu be like 16ms
On which GPU
7900xt
They could definitely do with more of a ramp up though with the stats, but I do fear that avi creators would just make their bases match the new limit and nothing would be gained, only performance lost.
70k x 20 is 1,400,000. The Quest (An android phone strapped to your face) targets 400k less than that in a single frame, a 3080 is fine with pushing a lot more than that
Which is doubled or tripled depending on conditions.
And your GPU is way more than fine if you're rendering that much
If you want to better help VR performance, implement SPS-I into the game
With the simplest of shaders, maybe, don't think my 3060ti could handle 2-3mil at 90fps though.
Vertex shaders are really not meant to be run much, let alone how overdraw becomes a thing to think about as density increases.
Sure would have been nice if they had just gone with that, will have to some day, but sad the large amount of content we will loose.
CVR already explores a fallback shader implementation for legacy content
Can't save content with truly custom shaders
Either way, VRChat definitely has analytics if people even visit worlds/use avatars made in Unity 2017-
I'm assuming that number is really low
It would affect content far newer than that
SPS-I support is not something being actively put into shaders
Especially not after they scrapped the notice about it
That's on them for scrapping it
Until the moment they actually do the SPS-I switch over there will be content that will break
it was originally intended for avatars to have a 2nd build with SPS-I back in 2022
Yup, they should have continued advocating for it
For anyone familiar with materials how does multiple materials in one slot affect performance?
My avatar uses 4 base materials but an idea I have takes one of those materials and swaps between 3 others. So it's one slot that I cycle materials through (Similar to how some creatures do body texture swaps, just swapping the whole mat)
Is it the same performance as having one material, just with the added download size of the other mats (tiny) and the extra associated textures?
slots count. if you do a swap, it's still one material slot (and thus one draw call)
so really only download size is affected here
I tried combining my hair material with my ear material in blender, but on the hair for some reason I get this weird white outline, does anyone know a fix?
are your UV maps properly aligned?
Yeah, they are (the white block that I’m pointing at is the hair UV)
The thing is the texture UV is properly aligned but there’s a weird outline that’s just there for no reason
It’s really weird
does it also appear in unity?
sometimes blender just does weird things
Yeah
But
I fixed it
I just combined the materials with another material, again
ah I see
Yeah, idk what it was. I heard something about margins or something..
Some weird blurring degree stuff
either vertex colours or you need to cut your mesh to fit the texture
there was an update that got rid of a bug that allowed to upload unsuported shaders.
don’t bother with it, this is the same person we argued with days ago 😭
i remember because the second image is the exact same one they posted before
yeah I thought by now they'd have solved this problem
instead of reposting the same question
i think they’re just waiting for someone to give them a different response that wasn’t what we said 😭
yep
Is there a way to fix this? I'm uploading an avatar that I've added a sweater to Windows and Android. It's not working saying it's too big
read the message history, there's a lot of things you can do
smaller texture size
less materials
less polygons
remove things you don't need
what method did you add the sweater with?
Oh right my bad, just woke up so brain not activated
I used blender to reshape it and imported as an fbx file
so you attached it in blender?
or unity?
if you're already using blender might as well attach it there
I attached it in unity. So attaching it to the avatar in blender will help with the size?
what method in unity did you use?
if you're attaching it in blender you could combine the meshes and materials as well, that could help.
you can't do that in unity.
if the sweater is permanent you can also delete the polygons under it
Oh okay I see, I'll try doing that. Would you recommend any tutorial videos or links about that? I am pretty new to both unity and blender
I just dragged the fbx into the scene
unofficial cats plugin https://catsblenderplugin.xyz, one button pressed and it's attached (you can do it manually too)
if that's the case then it wouldn't be attached at all. and wouldn't move with the avatar properly
you needed to do something. Either manually reparent the bones, use vrcfury or modular avatar
something
just dragging it wouldn't do anything, unless you do something else as well
I added armature links which did move with it. Don't have the moving problem anymore just the size problem
okay, so you did an armature link
Oh right I have cats plugin. It's that easy?
I use blender 4.2 and unofficial cats, it's one button really. If the armatures are similar enough
it'd be in the Custom Model Creation tab
i need to magically lose 30,000 polygons 😩
Oh I see I'll try that out thanks
delete polygons under clothes :(
:/ remove polygons manually or decimate
i decimated the hair, but i hope that it will not move badly in physbones
down to 92,810 💦💦
78,481 lets goooo
go bald
👍 for extra optimization
just barely did it!!!
my avatar has a piece of head missing LOL
everyone... take it from my suffering... weight paint before decimation please 😭💦
Hey so um I optimized my avatar for quest but the size will not go down at all! For some weird reasons. I have make textures smaller ect ect and now and it still won't go down for quest
Can someone help me with that Idk if I'm in the right place
is it the actual size or the latest upload size you can see in the sdk?
Um the build size here let me send you a photo
which one are you talking about?
the 3rd one from the top
"most recent"
'quest'
you need to rebuild to get a newer size , there are ways to see compressed/uncompressed
how do i re build
i just did the textures cus thats all i know how to do
😭 you're in this server, you know? there's a bunch of advice here
especially in this channel
i just joined the sever ;-; i just got back int avatar making and im still so new to it
sorry I didn't know
regardless
you can read the message history hear
search for what interests you
im an visual learner so i need a video or some one to show me
any video recommendations
I'm sure there's something if you google
that av never going to work without serious work , its very high for a quest , here is a way to see compressed/uncompressed size
I found something that auto does it for me
if i have an object with no material, will it use vertex colors?
for pc and quest!!!
You have to use a material that supports vertex colors for vertex colors to show up the VRC mobile shaders use vertex colors
And for technical reference there's no such thing as a object with no materials just objects that have the default material because you haven't told it to use anything else
The quest builds are differents sizes though
For some reason
In this video you will learn how to setup the textures for Quest so they take less space and how to analyse your avatar Quest build if you want to.
0:00 Intro
0:43 Setting the Android override for the texture settings
2:55 Opening the Asset Bundle website and finding our Quest builds of the avatar
Part 1 of this video:
https://www.youtube.com...
Does anyone know how to lower triangles?
delete them 🙂
delete what's underneath clothes, decimate, bake with tuxedo, etc, etc
I don't quite understand-
there are many video tutorials on the subject too. Check pins
delete is a button on your keyboard
decimate is a feature in blender
tuxedo is a plugin
Oh so it's a blender thing ;-; nvm then I'll already have unity fx
you won't get good performance with unity only just saying 
there's a limit as to how much of this you can do in Unity
someday you'll need to use blender
face your fears…
I have before but it's not that I don't want to just don't have room on my PC I used all 500mb storage ;-;
I need like 2 terbites ors something but idk how to install hard drives
I'm surprised you can use Unity at all with 500mb of storage
Oh you want a kicker I can play VRChat with it :3
Yo creators. I got an opti question. Would it be optimized if i used a much of materials that only use one texture and have no other values to swap through a icon or should i use une mat and swap the texture on that. Option A is so much easier and idk if ill be able to do option b. Once again these mats would literally only have 1 value and thats the main texture
you can't swap textures at runtime. You can pan them so treating them like a sprite sheet works, but really it's easy enough to just swap materials.
Exactly, I’ll be panning them in animation
I’m asking for optimization. Am I going to get bashed over creating a material for each menu icon I need to swap through or should I create a sprite sheet from each icon and swap through
oh, well assuming you don't need to make them 8k to do that, that'll work well.
I'd do a sprite sheet probably, no need to have that many textures
The textures are already there and wouldn’t be removed even with a sprite sheet technically
I’m basically asking if me using a bunch of materials that only take one instance of a texture would be considered “unoptimized”
maybe I'm not really sure what you're getting at. is that not a sprite sheet?
I’m making a physical expressions menu. Each icon from that is needed on a material
sure, each icon has a material slot. That's going to get expensive probably.
Nvm I was just given my answer on poi disc
No there is one material slot for an icon then the material would be swapped in that slot to the next icon
yes, that's exactly what I was getting at
wish I'd realized you were asking this in two places, oh well 🙂
i asked it slightly different in there but they gave the answer to that and what i asked in here mb man. Thanks for the help in both cords lol
yeah I wasn't sure what you were getting at, but now reading both, I get it 🙂
Thanks for the help again. Saved me hundreds of lines of code
How do you use RGBA masking in Poiyomi with Decals?
I'm trying to use a decal for a fishnet but mask out an area by the neck to be opaque
Currently the fishnet decal is overriding all alpha/transparency even with the mask which I'm hoping means I just have the mask setup wrong
the mask just limits where the decal could show up.
Relevant settings are in the textures inspector, make sure selected compression has an alpha channel, and in the poi decal alpha blend mode
also you usually want the decal itself to have an alpha-transparent background
what would cause 4 materials on a model to register as 30 material slots
the fact that there are 30 slots
so how would i reduce the slot count then?
In Blender, assign one material to multiple slots
and the important second step of removing the now unassigned slots
oh neat
we made it 🥲
woohoo
Hi everyone, is this okay for an avatar?
I remember somewhere there was a guide to on VRC website making your own Avi where it shows whats okay good and bad?
you probably mean this: https://creators.vrchat.com/avatars/avatar-performance-ranking-system/
The Avatar Performance Ranking System allows you to see how much a user's avatar is affecting performance via analysis of the components on that user's avatar. You can also use it on yourself to see how performant your avatar is.
Thank you so much#
So i see Tris, is the main factor, among many but i need to aim the Tris to 70 000 or less ideally
once you hit 70,000, it marks you down.
so, you want to be ABOVE 70,000
How much is too much in Tris ?#
Also, is what matter the total number of Tris when all things are visable in blender? Or is it whats just active on the avater at the time?
as far as the vrchat triangle count system is concerned toggles don't exist stuff is always on when it's Counting & 70,000 PC Limits & 20,000 Mobile Limits
Ah okay, on Blender my Tris Count is at 350k
then it's going to be a very poor Avatar
But arent alot of avatars out there very Poor?
yes and that's a problem as it makes everyone's framerate worse
still too high even for PC
okay
yes and they're bad at their job that they release those
hahaha okay fair
just because it is popular, doesn’t mean it is right
anybody else unable to generate impostors?
My avatar keeps failing to generate an impostor
same
A typical game a main character will have between 20-40k tris on pc; and 10k on desktop anything higher your looking at vfx and movie rendering levels of polygons.
150k is ridiculous, heck anything above 50k is ridiculous
at this point i feel like they have to be actively trying to make it as unoptomised as possible, why do you need 1500 material slots on a low poly looking avatar
i turn them off, because it always generates the imposter when i don't want it to
I do have a question, i cant find anything on it but is URP compatible with VRchat? does it effect performance rank, i want to impliment faux liquid visuals with a character concept i might make (https://www.youtube.com/shorts/8Rm5Sqb_w9c)
The secret to create a nice wobble liquid effect in unity explained in one video under a minute. Is that possible ? I guess so. :o
otherwise i might just make an animation alternative
No, only the Built-in render pipeline.
I could probably create a simple wave with a surface shader then right? since Surface shaders are apart of the built in render pipeline right?
????
see also there for information on shaders?
what exactly is meant by "Physbone transforms". My physbone components affect only 19 bones, but I still have 29 physbone transforms according to the builder. How can I reduce physbone transforms?
the physbone transforms are like the joints of every bone that is effected, so every bone the physbone effects will add two transforms
Ah, I see, so it's every joint between bones, not the bones themselves
yeah
so if you want a fallback with physbones for example, you can only have 8 bones in total
i still think 8 physbones is actually surprisingly versatile
my fallback avatar uses 4 for the hair, two for ears, and two for their tail
Hi everyone, does this mean i havent done Goloco properly?
you need the parameters
thats not your parameter list on the avatar
sorted thank you
Tbh don't listen to him. 270k is a lot, but 150k isnot that bad if you do not have too many skinned meshes and material slots
150k is Very Poor though.
when im in VRC and i see avatars that i have used before they peak at 200k very often
Sure but pressuring a new creator to be on a proffesional 3D modeler level is insanity
yeah thats true
oh yes, I wouldn't do that necessarily.
Do what you can and what you want to do and you will get better over time
While keeping in mind that if you aren't going to be optimizing much then don't put much stuff on.
The more optimized it is the more people will show it, not just because of rankings, some very poor just take up too many precious resources.
ill definitely do my Optimization, and decimate somethings in blender i do have slightly abover average clothing to toggle
Fuujin i get you 100% youre right
What helps is removing unused blendshapes on upload using an optimizer. I have a video about that here
https://youtu.be/bepo8DhU4Qo
In this video you will learn how to optimise VRChat avatars for PC and Quest using D4rkpl4y3r's optimiser with no effort.
Get D4rkpl4y3r's Optimiser here:
https://github.com/d4rkc0d3r/d4rkAvatarOptimizer
Check out my Gumroad : http://tinyurl.com/FuuujinGumroad
Booth : https://fuuujin.booth.pm/
vrchat optimization, how to optimize vrchat avata...
okay sweet ill do this
VRCFury also can do this I think, if you are using it
i do have it and its amazing to make toggles with, im not sure what else it does
thank you so much! you know i really apreciate it hey
No worries
Without debating I think it's important to highlight, that unfortunately alot of bases are not optimized it goes without saying if what your working with at the core is high poly sadly decimate won't help to much
Yes i here what your saying but this practice shouldn't be normalized, people should diligently work to strengthen there core foundation skills
200k is ridiculous, 50k and higher is movie rendering/baking levels of tris
Being skilled you'll get to if you work diligently at it
200k is a clear statement that you just don't care
usually comes with 250MB of texture memory too
It's alot ! And there's so many resources out there anyone can learn
Heck I'm happy to educate people about my flow to speed them through if they want to learn
the thing is, VRChat is not a normal 3D pc game.
you have to design for VR, which has much different limits and specifications.
so yes, this may be ok for your favorite desktop game,
but for VR, it’s not.
Agree to disagree, I've worked
With vr and pc games very similar
i don’t mean in mechanics
We are on the same page, I understand what your saying but specifications are identical
No I don't because you haven't explained
and to add, just because VRChat allows you to upload something that is extremely high, doesn’t mean that it is good.
this is why VRChat has its recommended things in the documentation!
please do not disagree strongly without understanding first. 💦
I'm trying to understand !! It's a guideline but again it's built upon by game industry standards
Like honestly one that helps with optimizing is not making your modeling decisions from an inch away from your avatar
As most people looking at your avatar are going to be like 5 ft away or more
Meta has a guideline as does unity as do other industries , hardware as limitations dependent on the components
this is true! i love this advice❤️
Yeah both of the optimization panels I've seen given by vrchat stuff basically that's one of the big advices
Have you ever wondered exactly what makes an avatar end up with the dreaded "very poor" rating? Feilen—VRChat's performance team lead developer—gives you a look under the hood at precisely why what's expensive is so expensive, and what that means for optimization strategies. #furalityumbra #furality
Event Stage Manager: Lorry
Producer: Sha...
Looking to learn how to design a VRChat avatar with that wonderful green "Good" tag? Wishdream combines their knowledge from both the game industry and personal experience to teach you how to create VRChat avatars with optimization in mind! #furalityumbra #furality
Event Stage Manager: Demmy
Technical Director: Nero Nocturne
Stage Camera Opera...
Panel by Gillboy and Reklaymer
A panel demonstrating the basics of optimizing assets for use on Quest 2.
https://twitter.com/gillscreations
https://twitter.com/ReklaBee
--
Full Playlist Link: https://www.youtube.com/playlist?list=PLFeIkH7rnnyBxt3B5Tb84d2x1I9brYJ6B
Furality YouTube: https://www.youtube.com/c/Furality
Furality Club FYNN Y...
Suited up in FBT, hopped into VRChat, joining up on your friends -- finally, some time off!
W-wait, what's going on? Where'd my frames go?!
Avatar Performance in VRChat isn't as simple as a 1-2-3 tutorial or guide. Tupper is here to talk you through where avatar lag comes from, why it's there in the first place, and what you can do about it.
(an...
you’re amazing 😉
It might be a little redundant watching all four of them as there's probably lots of shared info but definitely plenty of Handy info in all of the videos
Knowledge is power !!
Heck I might even watch it to reaffirm or learn how to improve my process
i will watch everything
thank you for your help! ❤️
I definitely recommend taking screenshots as you watch the presentation so you can have the sides when you need a quick refresher and not the whole panel
or for posting to this channel of the Discord to inform others
you are so sweet!!! such a nice person 🥺
Furality Umbra - Optimization: What You Can't See DOES Matter! is ran by the head of the VRchat optimization team so if you're wanting technical Nitty Gritty that might be a good one to start with
I'm watching it now, it's quite a fun watch
glad to hear you've been having a good time
I've made some myself
In this video you will learn how to optimise your avatar for Quest (but also for PC) using Unity and Blender.
0:00 Intro
0:17 Analysing the avatar using Asset Bundle Stat website
2:37 Dissolving edges loops
5:30 Decimating topology
5:58 Export settings and analysing the avatar with Asset Bundle Stat again
8:33 Analysing only the mesh with no te...
Very good explanation of how cpu and GPU pipelines work;
How lightning on avatars causes double rendering
And how they support the vrc guidelines
It was interesting knowing how shaders operate on mobile vs desktop
Now onto the next video xD
Also the mirrors issue is an interesting one!!
which video are you going to watch next and definitely cool the notes on it
watching through making better vrc avatars: optimise now
very good all-around optimization video honestly that would be the one I would recommend if someone only has time to watch one of the four
Yeah i found that it focuses more on the desktop development side
"You know the standard is 20,000 tris but everyone seems to
have more then 30 and that's a problem"
"Fen from Assassins creed is only 6000 tris"
"If your using your sculpts and did not retopo it
and send it into vrchat , im going to criticize you to hell
and back"
- Polymoi has stuff for merging materials
- Unity cloth avoid use Physbones instead
- Transparency avoid
- Don't use normal maps; texture better!
- Explain how vram worked
- Think of VRchat as a PS2
So yeah now having watched both vids, im doubling down on what i said above
Yeah as far as whether or not to use normal maps definitely a varies on the project if it makes sense or not the extra vram cost like if you're going with something PBR realistic that would probably look kind of dorky without normal maps but for something very cartoony you could probably get away with no normal maps
And yeah definitely very handy the RGB masking stuff of polymoi
oh yeah the RGB polymoi thing was insane, i didnt know that was a thing. and is that still 1 material?
Yup
Like cyberpunk 2077 basically that RGB masking workflow just with a mask that supports a lot more than 4 materials
So yeah most avatars on VRC could be a lot more optimized if they bothered RGB masking things
Oh 100% No doubt about it.
Heck i liked the topology examples on Dreams characters ,
My characters are low poly (5700) but i always make the arms and legs higher poly, having seen his character topo i feel confident i can reduce my character by 1500 tris if i wanted to.
The quest optimization one is more about like dissolving edge loops inception blender to reduce triangle count and where it's safe to reduce triangles when dealing with a model that's originally above the quest triangle limits
So sounds like you should have no problem having quest compatible geometry counts
I only make my models quest compatible xD
And I would note all of the RGB masking shader shenanigans would be PC only because no custom shaders
But you do get access to like one detail map on the VRchat mobile shaders so thinking about that still handy
Yeah it can save lots of vram I would have to go find the tweet but I saw someone doing that to their sweater and the vram was reduced to like 1/10 of the original size
Showing the use of Detail Normals with RGBA Color Masking in @poiyomi . Still on my quest to reduce the use of 4K normal maps in VRC. This entire set is a single 2K normal but still has low frequency cloth detail with the use of DNs. DNs are all 256px
@gray citrus
@poiyomi shaders have the ability to use a color mask for detail normals. I really wish more people would use this. You can use absolutely tiny maps and still have the detail you want. 10 times less VRAM usage for the normal map on this sweater INCLUDING the mask!
Found the tweet
I love detail normals
i hacked the RGBA Color Masking module so that you can use global masks to control where it changes metallic/smoothness
(and then i hacked it more so that it checks eight different global mask channels)
(you can mask the color and normal parts already)
i'd quibble about the exact numbers; e.g. according to the playstation blog, in ff7 rebirth, cloud strife sits at 220k tris (half of that being hair)
but even that's for:
- the main character (and you're usually not the main character)
- a triple-a game that only needs to target 60fps on triple-a hardware (and vrchat needs to target 2×90fps on double-a hardware)
- an engine with lod·s and adjustable quality settings (and the closest we have is fallbacks and now impostors, which if you're happy with those then fair enough but if you choose to have your fallback be cubes saying "allow my avatar" then that's kinda disrespectful)
when i refactor my main avatar i should add bumps to it with a detail map, right now it's using a color atlas which is why i've yet to try
An exception doesn't make the rule plus i havent seen any model as nearly as close to the quality of final fantasy and at 360k tris
When we are talking 20-30 people in most instances that number of tris just isn't feasible
But yeah I dare say there's alot of behind the scene magic that happens to optimise it
i couldn't find a more general overview that wasn't a decade old, hence the sample size of 1
if it helps any, doomguy from doom eternal (2020) has 86k tris
re 20-30 people: yep exactly, hence the "main character" quip
eli vance from half life alyx has 89k tris
Half-Life alyx only ever has like two characters in the same room at the same time
exactly
whereas like OverWatch the characters average closer to 32000 for each one
because you need 12 of them on screen at once
plus it's from 2016, plus it's a competitive game so people might want more fps to shave milliseconds off their reaction time, plus i've seen the argument that it's stylized so it can afford to have fewer tris
go to the VRC Traders discord, you'll get scammers around here. Link is in #1204490664637890580
yea already got 2 sadly 😦
honestly a big place it's saving triangles compared to the realistic games is the lack of alpha card hair
This is a good example and I mean we have even more people in a lobby so you would want it to be like 10- 20k
Oh no you poor thing, hopefully you get someone legit !!
fingers crossed
Did you watch the other 2 optimization videos?
I feel like you actually only need like 3 bones for hair physics to work, bit it may require some finesse with the weights
i use root bone that has the script, single bone hair gradient sharing weights with the root bone roll oriented to allow for angle limit so it doesnt go into the head, with an end length to not need end bones.
Hello, has anyone figured out for the creator economy announcement,
if the ‘poor or better’ is also required for the quest side?
The platforms have different constraints.
For instance, a poor PC is a verypoor Quest.
Thank you!! ❤️
no very poor avatars whatsoever either platforms requirements for the monetized avatars
so the quest version of the Avatar would have to be Quest poor or better
Can you show me the spot where this clarification was made if you don’t mind 🥰
Follow these rules when selling in VRChat.
Thank you, I read that but it didn’t clarify in a way I understood :0
Yees yess
Based on the video announcement: "The store will launch with an initial installment of high-quality avatars" i just presume that means good quality and above 🙂
But thats just my interpretation!
What you think of the videos
I enjoyed it im watching "Wheres my frames go now" now that i have time but thought each one had a interesting take.
I think what you cant see does matter applies to both platforms
I think VRC avatars optimise primarily applies to desktop
Still forming opinions of Where my frames go nothing bad xD
Also forgot to watch questify but il do a double take on that!
can we nuke very poor avatars being allowed set as public , private uploads fine , public super bad idea see waaaay too many into the 'what the hell they were thinking not even close to very poor
That would be functionally the same thing as ban them all together for most quest users as most of that user base are incapable of uploading avatars
No
wow no flying colliders, that's an interesting requirement
flying colliders are a bug that's intended to be patched out once there's a proper flying system for avatars
I figured, not that we've heard any actual plans for that
what cn i even do
remove some toggles/parameters
which means?
you know, the avatar parameters list? You have too many marked "Synced"
I don't know how else to explain it, sorry
look up "JeTeeS MemoryOptimizer", basically instead of sending 13 37 all the time it flips between 0 13 and 1 37 every so often and decodes it using animation sorcery
just wanted to say I adore these videos and have been replaying them a lot as I figure out vrc and get back into 3d. Genuinely helpful stuff
Thank you for sharing these! Haven't seen the questify one yet but will be sure to
glad the videos were helpful for you
Would adding Disolve effects to an Avi un-optimize it by a big margin?
assuming the effect is shader-based, it shouldn't really be noticeable beyond what any alpha clipping is
If the material that does the effect stays after dissolving then yes
animator wise, dissolve toggles are more costly than non dissolve toggles
see caution box in this section: https://vrc.school/docs/Other/Benchmarks/#direct-blend-trees
Some people use the techniques described in Advanced Blend Tree Techniques to use blend trees for dissolves. Exponential smoothing is 2x faster than a normal toggle, but is FPS dependent. Linear smoothing with frameTime detection is FPS independent, but 2x as slow as a normal toggle. So try to use Exponential smoothing for dissolve toggles, and if you can’t, use a layer.
for some reason the body has more MIB than the Uniform Dress has almost the amount of vertices, Edges, Faces & triangles and i have no idea what else to do. i wanna reduce it and hopefully use any information (If given to me) in the future AND today. pls help
It is likely because of blendshapes as they can take up a significant amount of space if there are many of them, try using VRCFury's Blendshape optimizer component, you simply add it below the avatar descriptor and you are done, it will bake the unused unanimated blendshapes on upload.
oh that helped like alot. i use vrcfury ALOT and the blendshape optimizer component to. but i went on blender and got rid of the shapekeys that are gonna be used and it went down alot! i appericate alot thankss!
Oh, huh, the blendshape optimizer should have done the exact same thing.
So you are either missing MMD blendshapes or several others that were animated in some way.
But if you don't notice any issues then great
i use the d4rk optimization tool and use that to get rid of unused blendshapes. but sometimes i also use vrcfury but idk. when manually removing it gave me more space somehow MB wise
vrcfury removes blendshapes when u build & upload, so you won't see the improvement while in unity but the uploaded model will be smaller
ahhh gotcha.
also in-game will show true stats, editor isnt always accurate
how long do you need to wait for impostors to be generated off of the most recent upload of the avi?
I uploaded a visually cleaned up avi to PC and want to generate the impostor off of that, before uploading back the actual PC variant
but when I click generate rn i get impostors of the old PC version
why dose my game statisitc say that it is 148k tris when the mesh is 28k(other game object is not more the n 19k )
got any mesh particles?
do you have quads in the model and "keep quads" in the import? vrchat afaik forces triangulation and then quads obviously blow the count tf up
sorry i am new to creating and dont know what that is
basically theres multiple types of polygons in 3D
triangles, 3 points connected to form a polygon, 4 points form a quad and anything more is usually called n-gon
often models are made using quads
1 quad equals 2 triangles
so if you have quads in the model those wont get counted as triangles until vrchat / unity forcefully converts all the quads in your model to triangles
in the sdk it says 43k so i guess i am good then?
that does sound perfectly ok, do you have any shaders with outlines?
outline shaders duplicate your geometry at runtime to create the effect, that could be part of the preview showing a different tri count. VRChat doesn't count geometry introduced by shader techniques
i have not added any shaders
then just chuck it up to Unity being a bit weird, as long as the SDK agrees the tri count is low enough there isnt really a big issue
okey that good ty
In the stats it shows it has 10 shadowcasters, which means that there's a light emitting shadows (probably the sun), this will multiplicate the amount of polygons to be rendered, things like outlines, extra lights or any special shaders will also increase that multiplier
okey ty
Hii, could someone help me optimize my avatar??
im on a dancing group that mostly have a green avatars rule, i already tried by myself using some addons and packages but the results were really bad as you can see
Maybe try using the decimate tool in blender
you'd probably have to start by showing current stats... but again, read history in here, there's a lot of good tips
That also just looks like some easy to fix weightpaint issues
i was doing that rn, the thing is my model is a lot of parts separated
like body, shirt, pants, jacket and hair
parts can be joined
it doesn't get you a ton if they all have separate materials though
Yeah optimize everything
- using the decimation tool can cause quite a bit more harm then help so be sure to backup your save before you mess with it
Thought I was onto something there
yeah i made a separated save from the og model
but again, we have no idea what to suggest you do first without seeing current stats.
my boy is pure bones 😭
i think ill finish this first and then ask again for tips
whats the reccommended maximum vertex to get a decent avatar, below 70k right?
those limits are detailed on vrchat's site, but yes, > 70k means very poor
well im on 38k rn without counting the jacket, lemme add it
45k unoptimized, time to delete some vertex
well i can't apply the decimate modifier due to blendshapes
and it also ruins the weight painting istg
yeah don't use that. you can decimate in the Mesh -> cleanup menu on newer blenders, in a targeted way.
??? how
never heard of it 😭
uh... what do you mean how?
the cleanup menu i mean
did you look?
I think it's been there since pre 4.0
it says its on the 4.4, well, an update its not gonna kill me
huh I thought it was there before
"deleting 4 vertex, 4 borders, 1 face"
39.8k now
also, i discovered a blender addon that is working really well
its called CATS
yup
i managed to merge all armatures and meshes into one...
im not running on the walls because i dont have space
mom pick me up im scared
i have no idea what im doing but i have a pc avatar with physbones that i got to work on quest, but none of the physbones move on quest, idk what to do
if there's more than 8 components they'll all be deleted
why do people add more components instead of just having one component control all the bones 
that's not possible if you want different settings for different bones, for example my tail has different physbone settings then my ears.
yeah, but you don’t need every individual hair follicle to have its own seperate settings
yeah, that's true
this is good if you use them efficiently, like one physbone component for all the bones in a specific area, you can do quite a lot with just 3 physbone components if you are creative
In this video you will learn how to optimise your avatar for Quest (but also for PC) using Unity and Blender.
0:00 Intro
0:17 Analysing the avatar using Asset Bundle Stat website
2:37 Dissolving edges loops
5:30 Decimating topology
5:58 Export settings and analysing the avatar with Asset Bundle Stat again
8:33 Analysing only the mesh with no te...
So can I just like delete the physbones in the ears or something to bring the number down?
sure
how do i take the physbones out of the ears without deleting the ears
just remove the physbone component
awesome
make sure to fix its weightpainting though so that they're painted to like the head bone or something or else stuff'll break
ok i optimized my avatar to its limits for quest but i only have 1 step before gettign a green flag
can someone help me merge all textures??
there should be a blender add-on for atlasing textures+merging materials 
i think its literally called materialcombiner
should be this: https://github.com/Grim-es/material-combiner-addon
that's the one. limited use, only really does base color
already used it
made my avatar purple
so, i should delete normals etc?
did you perhaps have any vertex colours on the meshes? 
that's not at all what I said, and I would not.
idk
how do i check that
little green tab and open the dropdown
ive had issues in the past with it making my model one solid colour
i just remove all of em for quest compatibility aswell :P
those? (the groups)
wait nvm these ones
those