#avatar-optimization
1 messages · Page 62 of 1
Make it larger, min shoulder height is 20cm iirc
How can I export a unity asset to fbx and have it load correctly in CATS/blender?
import it into a unity project? If youve already done this and its an unity serialized fbx than the window -> package manager -> fbx exporter can help
Make sure to select binary as blender doesn't read ASCII
I did and CATS still gives me an error
an error idk what its for tho
not sure what channel to put it in so guess I'll put it here
anyone know a good tutorial/program for editing normal maps?
@steep brook texturing of any kind is typically best done using programs like Substance Painter
you can sign up as a student to get it free
ill check it out, ty
what would be better: a lot of tiny images (read: 4x4 pixels) that can be swapped via animation or a single large image (i.e. 32x32, for 256 4x4 pixel images) where you adjust UVs / pixel offsets?
a larger singular picture is better than lots of little pictures
as lots of little pictures requires lots of materials
i didn't make it clear then: single material, swapping out the texture in that material
i.e. this isn't many tiny images for different parts of the avatar, this is a tiny image for the whole avatar.
that happens to be swappable with an animation.
That's still a lot of textures, which is worse
that would still make your avatar rank go up having multiple materials you swap between
i take it you can't animate textures like you can other material parameters?
and i thought all avatar rank cared about was how many materials can be active at once -- i.e. the number of material slots?
nope that would involve swapping out materials and also 256 x 256 very small by Avatar standard so I wouldn't sweat the texture size going up
like you're not meaningfully saving terribly many meaningful Resources by going 4x4
yeah i didn't actually do the math before i started asking the question, heh.
it's less resources and more ease of use. context this is coming up in is a shader i made that uses a color palette, currently 8 colors but can go up to 16 colors for opaque materials.
so it's combining all palettes (that i'm probably still tweaking) into a single image vs having seperate images for each palette.
256 kb would be the file size for your singular texture containing all the color variations
come to think of it it's probably easier to use a 16x256 texture or similar, then every palette ends up on its own line.
Avatar material limits are pain.peko.
Nuu they are essential to lowering draw calls !!
Frustratingly, I'm literally using the same material for 90% of all my stuff. It's just instanced along because I need plural meshes and the like.
Whats the reason you need multiple meshes?
Materal instances are not supported on skinned meshes
anyone know how to make a translucent material for quest? im making a mask and I need a part to be translucent
you cannot use any transparency on Quest avatars
oh
then is there any way i can render another texture over it, see i have a visor that I want my eyes to render through the mask, all i need is the eyes to be able to be seen through the material
you would probably want to cut holes out in blender
alrighty
does having a few dynamic bone colliders actually cause you to drop to medium? or whasts the deal there?
4 colliders will drop you to medium, and 8 collision checks will also drop you to medium
So you could actually be dropped to Poor for one collider if there are too many collision checks.
mhm if i have 2 colliders would that drop me to medium as well? because it does seem like Good status is also 0/0 for that. and i am just wondering if its suppose to be 2/4=
Not sure, you could check in the SDK after adding the dynamic bones and colliders to see if that's the reason it's medium (if that happens)
Sorry, meant "game objects" not meshes. I'm running into an issue where the setup of all this is making it so I may be forced to join all meshes and ignore shapekey stuff. I hope that doesn't happen, but I'm not sure what else I can do.
Well if it has a material on it its technically a mesh, but yeah what I usually do is merge all my props and then manipulate the bones (ie if you have a static prop, just give it a single bone that weights all of it)
The issue with that is appear/vanish. I have a prop I have to apparate and disappear at will, or I have to work out how to set it up so that it can be temporarily effected by dynamic bones.
Tbh, that would be the preferred solution, but I'm not sure how to make it do the thing.
I have a censor bar, it's attached to my hip on a dynamic bone, and then I can "snatch" it to whack people on the head. If I could set it up so they're the same mesh instead of hiding one and showing the other, that'd save me a lot of bother.
And at least one material slot.
Don’t disable the object, disable the mesh renderer. Scripts get wierd when they are disabled
Just have the censor bar's root bone parent constrained to your hip, then on toggle/gesture the constraint swaps to your hand.
You can animate the disabling of the dynamic bone script, but only the first script on each object/bone, you can’t animate it’s values
Hm.
I'll have to look into that more.
It'd save me a whole material slot.
Same with me replacing my outfit swap with a dissolve effect, which I'm also looking into.
And patent constraints will allow you to move the object between hips and hand
Yeah ever since constraints got added you should not do the old "to move an object from one point to another you need two objects" thing anymore
Hm. Alright, that saves a lot of bother at the outset.
And fixes an animation issue I had, to boot.
I'll experiment with that tonight.
I still have to set up the constraints for all my fixobnes...oh lord.
ok new here
is there a hard poly cap because everwhere i look says something different for different dates
are 30k tris acceptable
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. This system is provided to inform users what is likely the most perfor...
danke
Im More Concerned about the Polygon count... when you have at 70k uploading into Unity and it multiplied roughly 5-7 times... why?
same thing happened to the Particles too
I honestly believe that the System that generate Poly Count and Particle count broke due to conversing from 2018 to 2019...
you have mesh particles ?
hmm i tested without the particle stuff... which has some mesh particles which indicates rock debris... and the Poly count still at 200mil when my Whole model is at 62k
as in i moved the particle stuff outside the Hierarchy that the descriptor is assigned... and it still give me that high poly count
was it because of the Read/Write thing?
Yes
hey guys, so im trying to edit my avatar's radial menu on unity but i cant seem to find the command to change what shows up under expressions
should really go in #avatar-help , but what exactly are you trying to edit? facial animations? toggles?
i'm guessing the default one
which is there as more or less a placeholder, you can only entirely replace it
For some reason, my avatar says it’s 214,783,647 polygons, but i had the model in blender where it should only be at 15,000 polygons , what is going on?
Does anyone know a clear guide of how to optimize an avatar for quest?
If you updated to Unity 2019 ensure your SDK is up to date. You'll get an auto fix button for this.
Total noob question: All the tutorials I've found simply are "Step 1: Do the Thing" type.
How do you import the ActorDescriptior thing? I've created a new Unity Project, and imported the SDK3 package into it.
Thank you, I’ll check
Is a polycount of 100k tris okay if half of it is just my character mesh duplicated for backface culling?
No, I recommend only duplicating faces that need the backfaces.
ah, bummer. I've removed the face already and it's still a little over 100k 😦
100k tris is a lot, even for PC, I would recommend cutting down the amount somehow
Question there is a way to use a light source without being penalized by avatar performance?
no
Ok ty
because real-time light sources are expensive
because you're basically causing everything to be redrawn again
Yeah I got it
I just would add a Minecraft torch
Also a glowing shader will affect it?
you would probably be fine with a emissive material as that doesn't actually cast real-time light just makes it to where it stays right when it starts in the map
if it actually cause lighting that affects the world and that are avatars yes that would be a hit the performance
I see a avatar that have a working torch but I don't see any performance issue with it
And what about if the light is client side?
my suggestion if you must have it would be to have a second Avatar with the real-time light so you don't take the performance ranked hit when you want to be in big crowds
so im trying to optimize but some of the bones are part of model like if i delete them things change rather than disabling movment how do i go about deleting those without killing the model
Blender, and merging bone weights, straight up deleting them in Unity can cause all sorts of problems if you are
Dissolve them instead
use CATS
it will delete the bone and the weightpaint will go to the parent
(that's what dissolving is FYI)
is that a program if so whats the full name?
Blender Addon
I know but the person looking for help might not
I dont have the file rn but looking for it wont be that hard, DM once you get it so I can show you
ok so i was able to get the addon and get it running now the issue is figureing out how to export from unity
cats has an export feature as well
see my problem is my avatar is in unity i need to get it over to blender yet i dont know how to export it out of unity something about a fbx exporter and package manger but theres no info on how to download or even install this addon
You shouldn't need a plugin for Unity to get a FBX, the model should already be available in your assets as a fbx
your assets are already on Disk, find the model, then just browse to that folder in windows, or right click in the folder and click on "Show in Explorer"
you wouldn't do anything in unity to export it you would just in blender click import fbx and go to the location of the asset to important
Does anyone know how I can replace the current face on my model with the one on the left?
Hmmm maybe there's an easier way to do it but the way I know how involves deleting the original face mesh then carefully stitching together the vertices of the new face to the body mesh, like some kinda messed up digital surgery. But if the model has facial expression shape keys they'd need to be remade.
In that case you'd hope the new face has shapekeys of her own
Oh heck well thats going to be fun
You can probably preserve the expressions as long as the welded vertices aren't affected by them
Go into blender and prefix the roll bones with x, i.e. xHandRoll01RT_01
There is a small script you can add to unity that easy fixes that for you
Does not break prefabs either
My project dosen't seem to let dynamic bones function, is there a way to fix that?
Did you buy Dynamic Bones from the Unity store? Are the scripts on your avatar and the root bone set? Do you have dynamic bones limited in VRChat?
What isn't working
no, it's just all my plugins in my project aren't working
If I put it into a new project, it works
It works all good in unity, but when in vrchat, it refuses to work
you probably have the in-game dynamic bone limiter on
Safety > Performance options > Dynamic bone
disable it
nope
it's been off for awhile now
I got 2.8k hours, lmao, I've never ran into this issue making avatars
Are you on the latest SDK? Also check for build errors
Is there a really efficient way of say carving out the black a mesh designed for use with a texture on a material with cutout? So yknow I can NOT have to use cutout becuz I want to also have a quest variant and this is making it difficult >:((
I can't figure out a remotely good way to do this properly even at the cost of some of the detail where the real texture meets the black
that wasnt worded very well but I hope you can understand
Either make hair or trace with polygons and have 2D hair
So I have to do it the long way ughhhhh
I cant find any youtube videos on it either, they just show how to tell blender to render it as cutout basically
There's not many resources on it, you'll just have to trace it.
I'm surprised that no one has made something for that yet.
But why would you when you have an alpha channel
Because mobile shaders
I also forgot knife tool existed so that will make my life easier
People still probably opt for transparency on mobile, but I wouldn't trust non-full-time 3D mobile game artists (most people who make avatars) to make sure it's effectively done.
Yea this model is extremely lightweight besides that but I can't upload this as an avatar to quest and have the black fallout with any shaders they let me use
unless there is now?
I don't think there is
nope you'll have to cut out the geometry as apparently transparency shaders are expensive on mobile Hardware
I once made a testing Quest app where you could spawn a bunch of cubes with cutout with the UI Sprite default texture, gpu instancing was turned off, after at least 50 cubes, looking down the line of cubes still resulted in 90fps, but I doubt that's a proper test. But I still don't know what to believe anymore.
those aren't skinned mesh renderers
@heady smelt you're aware of the Knife Project op in Blender right?
Im aware of the knife tool, not aure what the project op is
Is that like some super duper efficient way to knife stuff
tell me how pls
I need help im trying to make a avatar for my self but i play on qeust and my computer is not vr readdy
And im not good at this stuuf
i heard taht if your avatar is small enough it just straight up returns a downlaod zize of 0
i should get there
yeah but you probably couldn't make a terribly good-looking Avatar under a megabyte
Yea, quality comes with a cost, even if the cost is just a non-excellent ingame overall performance.
has anyone made a tool that models where transparency is a texture for quest
ig knife works
i have never seen a transparent texture in quest ngl
yep, knife is friend.
I've never heard of something that does it for you in any accurate manner. If you come across one I know enough people that could fill a small city that would like access to such a tool.
If you stylize it and vertex shade it it wouldn't be too hard I think
FairPoint mostly made that simplification because that would require making a model from scratch
fake alpha ftw, though I can't say how or it'll get nerfed like my fav shader. xD
imagine xD
any unblocked shaders with twoface shading? like the polygons show on bothsides
maybe something unlit or toony
for quest or pc?
quest
Quest is stuck with the VRChat included mobile shaders, if you want a double sided mesh you will need to do it yourself in blender by duplicating the faces and flipping the normals for anything you want double sided
or something like that
oh okey
anyone know how to do a blush effect for Quest? Apparently the Multiply particle effect doesn't work, and nor does the Alpha Blended. It's a transparent material that has a gradient alpha, it's already set up for PC.
The only way to get it with the tranparency-esk look that I know of is to just make a face texture swap, one with blush and one without
ahcrap...
not the most optimized in terms of materials but yeah
wait fuck...it's using two different FX controllers then...
?
one version would be the on and off of the objects themselves to make the blush, and the other one (which would technically be in the same animation) would be the material change
yes, but the menus are shared between the Quest and PC variants
so there's a toggle button that activates it, which would go directly to the toggle animation
in this case, it would need to either be 2 different menus, or 2 fx controllers for the quest and pc respectively
I believe you can add a transition condition that can detect what vr you are on but it is an integer value unfortunately for your memory
hm, i think that would be needlessly complicated...
I forgot what integers meant what type of vr (or desktop mode) its probably in the docs somewhere oen second
I dont think it would be that much
aww the thing I was thinking of just can tell if its in vr or not meaning quest and pcvr is grouped together fuck
This is a list of Parameters (case-sensitive) that can be added to any Playable Layer (animation controller) and change across all Playable Layers that include this parameter. User created parameters that are not in this list will exist only locally within that animation controller and are not curre...
You can detect the vr type and use same FX controller, but if its a quest it does material swap instead of a blush blendshape (just a random idea never tried it)
well, its not a blush blendshape, it's literally a show-or-hide control
🤔 eh nevermind it only detect vr type, so it would go derp both are VR
yeah i swear it could detect what one specifically
we are from the same parallel universe dude
idk how we got here
nevermind, the Additive particles in movile can work
it's not as dark as i'd want, but it should be fine
additive works? you sure?
pretty sure it just does a funi haha no transparency 4 u when you go ingame
thats what it does for my quest particles anyway
yea probably. it might be the same case as multiply, where it works enough to export, but doesn't work in vrchat
honestly im just gonna make circles, and remove the middle plane
use a standard lite toon shader emission thing for the blush
Hi! I've got a bit of a question when it comes to like... joining meshes together in Blender for optimizing.
I'm trying to get my model down to as little meshes as possible but I'm not sure about the face.
When it comes to rigging the face, should I keep the eyelashes, eyes, teeth / tongue, etc. separate meshes?
These are all the meshes I have currently lol
for rigging and weight painting it makes it easy, but after its been assigned vertex groups there is not much reason to keep them separate. Fully finished model should be in as few pieces as possible
Ohhhhh
Thanks!
Now I gotta figure out what vertex groups are... I'm lowkey like learning everything about blender as I come by them haha
See that green triangle icon?
In the right hand pane, there should be an icon just like it. In the menu it opens there should be a box labeled “vertex groups”
When you go into edit mode on your model, you can assign parts of your model to vertex groups.
So for example, join all the parts of your avatar’s head into one mesh, then select them in edit mode by clicking on one of their polys and pressing “L” then find the vertex group for your head bone and press “assign”
Really your entire avatar should be one mesh save for things you want to toggle
Np!👍
Not everyone makes the connection. So if youve got a bone (or whatever) named case sensitive exactly as a vertex group and an armature modifier linked to that whatever, than the vertex will rotate and move exactly as much with that thing as much as the normalized/percentage value between all assigned groups! (vrc has a limit of 4 groups tho, keep that in mind)
That's a good warning, only 4 vertex groups.. ok ok
Question is there a way to upload an avatar with more than 20k polygons to vrchat??
are you talkin PC or Quest
PC
that hasn't been a hard cap for avatars in a long while
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. This system is provided to inform users what is likely the most perfor...
Thank you very much, for pc then there is no defined limit, that is, less is better
less people are going to see you if you're over the 70,000 number but yeah it's not going to stop you from uploading
question how i wanna use the same material but different color for this hat
how i "optimize" it?
Animate hue change (if shader you use allows that) or do material swap.
change the texture with paint/photoshop
I don't even think Quest has a cap
I've seen 198k
But going over 100k isn't recommended
Also anyone who needs to lower polycount. I highly recommended against using CATS decimation
Though that's my experience
Tbh, you shouldn't need more than 70k tris
Unless you're doing something really weird
Especially with normal maps
id say actually giving a shit about trying to optimize really fucking massive MMD avatars for vrchat is a great exercise in learning how to optimize animation-ready models for use in actual game engines, but when you start running into assets that for some strange reason look like low-poly triangle backgrounds, you also learn fairly quickly that the answer to all of your problems is either going to be "learn retopology and re-bake your texture maps," or the conclusion that literally just learning how to 3d model is less effort than trying to optimize sketchy assets
Agreed
Sketchy assets will always be more annoyance than they're worth if you have any kind of personal investment in your avatar
still
They can be useful for blocking stuff out, tho
Ye I feel that.
except now i can model, which means that they wont be kitbashes
TFW you get the topology juuust right
mine on the left, 1 mesh and 1 material
if it were me today i would have done 2 and 2 to account for blendshape lag and because i dont like having alpha textures on the same material as opaque textures
no toggles so i didnt have to worry about that noise, i used poiyomi's old RGBA shadow ramp mask feature to control things that i would have otherwise needed at least 3 different materials to do
i think i used something like 10 different assets to do this
last kitbash i ever made
I have to do a deep dive on Poi later this week, add decals and other stuff.
i use SCSS now because the inventory system is fucking cracked lol
its an inventory system thats only really good for outfit toggles because reasons
but otherwise is the most performant out of any other option
because its not a material swap or mesh toggle
what it does is, get this, "stops" rendering geometry depending on its position on your UV map
Hm. I'll look into that later.
I've been looking for an option to do that for clothing meshes, either was gonna use dissolve or just deal with a drop to medium.
(yuck, medium...)
no shame in medium
only thing that bumps my avatars up to medium is dynbones
which doesnt matter
Ah, fair
since most people just have them off
Dynbones are a killer
I only have the one dynbone, for my censor bar, lmao.
I just realized I have like...no pics of my new avatar.
Oops.
Shaders
I asked cats plugin peeps if I could get a "Separate mesh by blendshapes" button standalone/similar to the one in the bake panel and they said maybe ^^
How do you tell! some move like a mm
i just isolate the entire head
So an avatar in theory had 2 meshs, each 100k polys with their own material. If in VRChat I had a toggle that could toggle off the entire gameobject (for 1 of the meshs) with the mesh component on it, what performance impact would it still have ingame?
Poorly worded I have having a hard time with explaining a hypothetical
https://gitlab.com/s-ilent/SCSS/-/wikis/Manual/Inventory-System not that it would completely answer it but here are some notes comparing different methods of toggling objects "How does a shader-based system compare to other methods?
"Seperate meshes
It's one less draw call per toggle, and draw calls end up being more expensive than just sending more polygons through in the first place. In practise, this is the most obviously expensive way of doing it, and merging things together will save a lot of performance in tight scenarios.
However, if you have shapekeys on meshes, combining them will make a mesh with more polygons which could be worse for performance. For that reason, it's best to keep faces and bodies/clothes seperate.
Shapekeys
Each active shapekey makes a mesh a lot more expensive to render, regardless of how many verts it affects, and the more active shapekeys, the slower the skinning process gets.
Surprisingly, this gets much slower than you'd think. Tests showed framerates getting crushed with high-poly meshes using a single shapekey, and the costs increased dramatically as more keys were active. This is not ideal if all those extra polygons are just there to be hidden.
Also, even if you use a shapekey to shrink your clothes, the armature movement will still move it and cause it to spike out. Not ideal!
Bones
Even if you shrink something with bones, other bones affecting it will reduce the effect of the controller bone without some weird trickery in Unity.
One workaround people use is to set up a second armature for items and then constrain them to the main one, but they'll lag behind in your perspective and the constraints aren't free.
Another workaround is to generate a bone with un-normalised weights from within Unity that can shrink a vertex group to zero by itself."
I will read for sure thank you
and 100k polys is lot for and would pretty much automatically put you in very poor
Yeah I ask because someone in another channel was justifying using 200k polygons saying that if it was split up into different outfits and only 1 was active at a time, it would be perfectly ok
which I didn't believe was correct but I wasnt sure of it
#quest-optimization Most recent message there for context
the performance rank system operates under the assumption everything's on at the same time
so you're not going to have a terribly good performance rank having two-and-a-half medium avatars of triangles on your avatar
For sure no
then again I'm probably also not the best to ask about wearing many outfits as I just have a couple of VRoid Studio clothing that I could easily dissolve Edge loops on
instead of Marvelous Designer triangle soup
lol
yeah I've seen some of that on Twitter
and the person who uploaded it bickering to people who dare to point out normal maps exist so you should optimize your stuff
How would N maps be involved in optimization?
you don't render a several million Polly piece of clothing as you bake all of that detail into the normal map
Oh right yeah the thingy where u make a normal map of the super high poly render and do a thing to make it on the low poly one
that's pretty much how like pretty much most video game models are made that aren't like anime
so releasing a ludicrously high-poly piece of clothing is a bit inexcusable
How
can I find all the materials on an av? All I can see ~5 or so but vrc shows 17.
every separate mesh counts as a new material for vrchat because it's a new draw call
Thank you but that is a why
so you'd probably want to combine meshes together
and potentially see if you can combine materials
I have 3.
3 meshes?
Yea. For accessory toggles.
okay then something else is up as that total wouldn't add up to 17?
I found 6 in blender. And I have 1 for the eyes. Maths out i guess. The eyes also count as 2.
mm guess it dupes all materials
You should use bones for toggles, for actual optimization
it's just a bone scaled up/down
there is also a Shader that can do toggling that even performant compared to the bones https://gitlab.com/s-ilent/SCSS/-/wikis/Manual/Inventory-System
but I suppose it does have the downside of if people are blocking your shaders you'll show up with everything turned on
did someone have 200k avatar on quest ?
what a gamer

Shader method is lit, tbh.
The more I learn about shaders the more I'm like 🅱️ ruh.
that's the reason I don't do that lol
mesh toggles or bone scaling are the only two I will use
Bone scaling 4 life
I always aim to do bone scaling just to keep the materials combined
It's not that usable for things like weapon toggles or having multiple outfit versions, but for other cases I find it perfect.
Weapon toggles are actually perfect for both scaling due to them either being a non skinned mesh or easily compressed under 1 scaling bone. Outfits however are more difficult
Ill show you pain if you dont show up to HS in like 5 minutes for a bit O_O good boy
I've been using nara's avatar tool constraints for awhile now, but on the newest version of my avatar they don't work. Anyone have any ideas?
Like I have the dynamic bone script on the constraint root, and I can see it moving, but none of the bones constrained to it are moving
Hey, I'm currently making a new Avatar, just modelling it now. Question; how much can I do with the model before I need to use unity? I can think only Modelling and texturing but that's it.
unity is a game engine, where you start to actually use your assets rather than create them. if youre creating a 3d character then youre probably using blender, or a number of different 3d programs. in any case, before you move to unity you should have a fully rigged, fully textured 3d character
so modeled, textured, and rigged (including weight painting) for animation
for vrchat specifically it also helps to create blendshapes during the rigging process since you can use those for mouth movements and gestures, depending on the style of avatar (for most humanoid avatars that aren't hyper stylized youre going to want this)
Ah, that makes sense. Thanks for letting me know. I'll be looking for someone to help me get it onto the game once it's done. I can handle those parts myself. Including blendshapes.
👍
the vrchat sdk is like night and day between sdk 2 vs. sdk 3, so sdk3 alone makes it much easier to get your avatar ingame and make it more complex. plus, the avatar tools that have come from it (avatar emulator and combogestureexpressions) make it even more powerful. so it wont take you long to get a basic avatar in game
though you may spend forever on materials like i do if you want funny stuff
Materials? I'm not aware of that but I do know what I want from the character
the question is getting the right person who knows how to implement it onto the character, THEN making it quest compatible.
Are you on the latest SDK?
New unity has different update order regarding Dynamic bones and constraints. Latest SDK should fix this and it'll work in game regardless
I was on the latest one as of the 2019 update but not the newest newest
Update to the newest newest, and it should fix it :)
I'll give that a try, thanks
Yeah unity broke constraints to fix some edge case, thankfully VRC undid it once you have the newer SDK
question i downloaded a avatar and i noticed too many materials
i tried to use cat for atlasing it but it just output black and white texture
any idea why?
this is what i get
what kind of material setup you have going for the avatar
as the cats texture combiner grabs the diffuse material which it seems to be doing from the little landscape in one of the corners
currently it looks like it's grabbing ambient occlusion
there are some way to fix it?
make sure your color textures are hooked up to the color slot
that's a screenshot from Unity so that's not going to help
I need the screenshot of your blender materials
okay something's up with your materials that there's no colors in the little circles
https://i.imgur.com/rpZPrdk.png can you show me this tab
where is that
to the right
click on one of your objects so it shows the material as you currently have the Armature selected
it ok the fact that you're asking about material combining at all is a good sign
would it be okay if I Discord called you so you could share screen so I can point stuff out easier
yes
so i was making my avatar more optimized in blender and all that so i could port it to quest, but when i put it into unity this happened. How can i fix it so its not see through on the inside
if i use a solidifier mesh, it doubles the polygon count and affects the rating which im trying to avoid
ok nevermind actually. All i did was reduce the polygons down a lot and added a solidifier modifier and it worked perfectly without going over the limit
also looks like your blender camera and light imported with it, id delete those before exporting so you dont have to unpack your prefab to delete thme
yea i did delete it eventually
On the subject of dynamic bones; does distant disable function properly in vrc? I'd like to help peeps by reducing dynbone calcs if I can.
That option is forced on in-client.
This is forced on by default and uses a distance of 20 meters.
Do you know if you were to change the distance value to lets say 5 or 10, does vrc overwrite that and set it back to 20?
Pretty sure you can change it and it won't be overwritten. Some users have changed it to 0 (on accident) and wondered why their dynamic bones don't seem to work at all even with the dynamic bone limiter disabled.
Good to know. 20 is rather a bit far, especially for most stuff I use dynbones for.
I'd say that if the bone set isn't mission critical, I'd keep it at 10, imho, that's 30 feet, which is quite a distance.
because it says you can't upload until you do it in the text next to it
^^^
one click fix brotha
the polygon count fixes
Even if it didnt, you still need to solve problems one step at a time, meaning if there is a big "Auto Fix" button you try that
day 1068 of people posting screenshots with autofix buttons and the cause of problems listed right there and wondering what to do
or asking how to fix a thing that is fixed in the current release of the sdk
Using context clues, maybe if you apply cloth to something that has no vertices. So I'm gonna go with no, you can't avoid that.
sad
i don't think that cause "lag" is not much stuff
the stuff will cause lag are particles shit or special effects
Everything still has an impact but the vertex count is very low so it should be relatively alright in terms of performance. That's just my opinion though.
it froze also my high end pc
i think under 100 should be marked green
I will have to disagree there. I've seen some really nice particle effects that don't lag at all. They built with optimisation in mind
yeah i say i am ok with particle but stuff like make you feel dizzy, fast colors ecc
if you want to lag people you can turn anything up to 11 and get the result
well then yeah, if it's designed to close your game it'll be bad for you. It's not really great to compare your models to those things as even 500k poly 250 material avatars would look good in that light.
like this
yeah they makes some... interesting stuff. Though I can safely say your cloth band won't do that.
and a question about the guardian how i block special like that ?
i think also limited use of dynamic bone shoul be fine too in low quantity, there are no reason to mark the avatar as "yellow" for that
disable animations and/or particles and/or shaders. That's usually what they are.
considering I have avatars which are green and use dynamics you might have to rethink your bone structure for those things you want dynamics on
so they use special bones and use limited dynamic bones for triggering that?
Bottom line, can't have a lot of transforms being affected by dynamics, but you also don't need 10 bones per chain. 2 would do for a lot of things. My ears use 3; base, middle and end. That plus weightpainting to smooth out the bends and it looks fine.
you don't really need a lot of bones to have smooth movement.
that is cool but i still don't know how manipulate bones
i see like is used for b00bies
or butts
this isn't a excuse to not optimize
But a lot of VR chats optimization ticks are very very intense. I've had models with upwards of 200 cloth vertices and it was still fine for everyone involved.
What I mean even if it tells you that your model is very poor, it very well may not.
^
But if you see like a bunch of
in the builder tab in PC builds then ur doing something wrong
Cloth specifically has recommended limits that are very out of date. They were based upon Cloth in Unity 2017, where it had a severe performance regression: https://feedback.vrchat.com/feature-requests/p/redo-performance-rank-values-for-cloth
Here's hoping they worked on their own cloth system for avatar dynamics
Thanks for the extra details, was just going off of what they said in the dev stream 👍
Unity cloth is alright but I avoid using it since everyone calculates it locally, causing it to clip around colliders or get stuck for individual people and not others
Thanks! I know only the basis of how unity works.
I used to use cloth a lot. The secret with cloth is having just enough moving to create the illusion of cloth but not enough where it over simulates and ruins the effect.
hey
Hey, is there anything (besides VRCQuestTools from booth)
to easily convert stuff like matcaps, emission, color/alpha, etc from a shader like Poiyomi and bake them into the texture itself?
with some stuff you can put the material on a cube and take a screenshot of it and use that as the texture
but I don't think that really works for matcaps
I mean, matcaps ara screenshot of the material on a sphere
I'm very new to avi creation, so excuse me asking. In unity I've found making toggles for different clothes is easier when the model has different meshes for different clothes. Although I could make a transparent shader instead. So question is: is it better for performance to toggle off the mesh and toggle another on or making it all the same mesh and making them transparent. Or is there yet another way to do it?
Oh, and I've also been wondering, a bit related: how much of a performance hit does the amount of materials on an avi have?
depends depends depends. this article offers another inventory system, though the second half of it talks about the cons of every other common way you can do toggles https://gitlab.com/s-ilent/SCSS/-/wikis/Manual/Inventory-System
ultimately, toggles are going to incur some performance cost
acknowledging that is important. if you want optimized avatars, have multiple copies of the same avatar, at least two where one is a low-fidelity and basic avatar for events and large instances, and a high-fidelity avatar with all of the toggles and features you could have, reserved for small instances and friends
with that in mind, the best toggle is the most natural, which is to just have multiple game objects (meshes).
material swaps to transparency is sketchy because overlapping (and lots of) transparency will cause even PCs to lag
and shape key toggles, apart from being just as bad performance wise, are terrible to work with
So basically no way is really much better than any else? You just have to remove toggles if you wanna optimize? tysm anyways lol 😛
pretty much. if you want toggles its going to cause performance
the real sin isnt unoptimization, its ignorance of unoptimization
be conscious of where youre going to use a given avatar
Right, makes sense
having a stacked avatar is fine if you dont bring it out in public
worlds are designed in a similar way. worlds meant only for like a handful of people have a lot more stuff on them than worlds meant for meany, and would likely start lagging if you brought in the average number of players (20) in a world meant for four, two, or one
that being said, as i said, a lot of pretty interesting methods of changign toggles themselves have cropped up in order to try and get around vrchat's safety rankings without a deeper understanding of unmentioned factors that cant really be as easily measured
for that reason, mesh toggles have an edge over material swaps and shape keys
Now that fallback avis have come out for real, I wanna make a highly optimized ver. of my avi, but it's alot of work XD
going form my stacked avi to a bare-bones one
How do you reduce polygons in Blender 2.93?
I'm only finding tutorials that deal with 2.7, which has a different UI
blender 2.8 tutorials would also work as it's in the same UI family as 2.9
Still doesn't change the fact I can only find 2.7 tutorials
try putting 2.8 in your search terms
This is why I hate using Blender.
Tutorials are either outdated, or "just do the thing, 4head."
And in order to get a good tutorial, you need to sacrifice a goat to Todd Howard.
2.8 UI:
https://www.youtube.com/watch?v=8MkgXcidxg4 here's a short tutorial that uses a current version of blender on decimate
Making optimized Quest models is hard. But it doesn't have to be! With recently updated polygon limits and fallback avatars, it's a better time than ever to create something that represents you to Quest users! Hopefully this tutorial will help you out!
0:00 - Intro
1:27 - Blender
5:49 - Unity
7:09 - Closing
CATS Blender Plugin: https://github....
do you have any object selected
as those parts of the ui don't show up if there's no object selected
could you take a screenshot of your whole blender screen
you have the Armature selected not the actual mesh
There we go.
So now do I need to do something extra for it to actually reduce the polygons?
not that I can think of besides for putting on the decimate modifier
you would need to be in object mode not edit mode
That means nothing to me.
the top-left where it says edit mode it needs to say object mode
Blender is Free and Open Source Software
Download: https://blender.org/download
Support core Blender development - https://fund.blender.org
--
This tutorial is part of the Blender Fundamentals series, produced by Dillon Gu.
Find more free tutorials on: https://blender.org/tutorials
Follow Blender on social media:
- Twitter: https://twitter.c...
Right. Got it. Thanks.
https://www.youtube.com/watch?v=MF1qEhBSfq4&list=PLa1F2ddGya_-UvuAqHAksYnB0qL9yWDO6 might recommend giving this playlist to watch for covering basic vrchat UI later
Blender is Free and Open Source Software
Download: https://blender.org/download
Support core Blender development - https://fund.blender.org
--
This tutorial is part of the Blender Fundamentals series, produced by Dillon Gu.
Find more free tutorials on: https://blender.org/tutorials
Follow Blender on social media:
- Twitter: https://twitter.c...
I have VR Chat stuff down.
I can use Unity.
Blender just never wants to work with me, and 99% of tutorials out there just blitz through stuff, or simply are "Just do the thing."
yes because the video would be like twice as long if it's having to cover you've never touched blender before
Legit, when trying to find a tutorial on how to texture a model, it was three parts.
Import the textures.
Append the textures.
Profit.
And the accompanying screenshots were just the scene. No UI at all.
Hey does anyone know how to add a prop that’s accessible through a emote dm me if u can help
Is it possible to export textures from Unity that've been modified with shaders?
Trying to help a friend optimize their avatar and it'd be hard to do so since they have multiple textures they recolor/change up using shaders.
Well, the texture hasn't been modified so no ?
Can't they change parts specifically with a mask ?
recoloring takes 5 minutes in gimp, not sure what "change up" means tho
Maybe? I have minimal experience with recoloring/shaders in Unity, I personally try to keep such changes outside of it so I have more control over them.
The main issue here is that I'm having trouble figuring out how the shader is modifying the textures in-engine. Is it simply overlaying a layer w/ the color? Is it recoloring the texture itself? Those grant totally-different results based on execution.
Since there's several textures, I'd like to Atlas them but if multiple have different recolors, kinda hard to do.
Gotta recolor them in an image editing software
do you mean you want to bake out a texture that is currently procedural?
I suppose that'd be the technical explanation for it, yes.
so in something like Blender what you'd do is create a UV map for your object (might be different than the UV for the original shader, because the original shader might rely on mirroring, tiling, etc) and then bake the texture into the new UV map. it looks like people have tried it before in Unity: https://github.com/sneha-belkhale/shader-bake-unity
I guess that's a little ambiguous: Even if you do this in Unity, you'd still make the new UV map (if needed) in Blender.
That's the spice.
Appreciate it, my technical knowledge is admittedly pretty limited when it comes to texture-related stuff.
Speaking of UV Maps, is there a way I can justify a bunch of UV rounded points into a straight line?
the Follow active quads function can help with that
along with straightening lines using S -> (X/Y) -> 0
Active Quads doesn't work for me. Throws up an error.
No selected face found to follow..?
Thats odd usually just says "Select quad" in the lil bottom right warning bubble
Does anyone know how heavy the shader Unity Chan Toon shader 2 is? I like this way more than poiyomi and i like to use like every feature of the shader ... two colors for shading shadows, the high color, rim lightling, outline, emission and of course a mat cap ... is that a big deal in terms of optimization? Or is this just marginal? Whats the best way to test the framerate of an avatar if youre having a decent pc?
( i tought about creating a private world and placing your avatar with a dancing animation like 60 times and see whats happening?)
In the top right of the game window theres a stats button, the number of batches is the stress placed on cpu and tris drawn is gpu. For a fair measurement turn off shadows in the scenes default directional light. 1 mesh 1 single pass mat and unity ui will come up to 3 batches, the lowest you can get it
And the average limit to get to 90fps is 450ish batches for single core rendering
Very general, including world and other avatars
And this also takes heavy shaders into account? Like mesh shaders like this flame shader one? :0
Can open up the gpu debugger window to see all that fun stuff, cant remember exactly how rn discord mobile
okay i will search fpr that terms, thanki
question where texture with _S should go?
i know these are specular, where i have to put it? and which shader i have to use?
I think autodesks shader supports that its built into unity
might not its been awhole
i already fixed that i just used specular shader
now another issue, after using cat "optimization"
it messed the leg
any idea how to fix it?
fixed was some twisted shet
the origin point of the armature is at the point that meets the floor, make it at the feet
ud do this in blender
Hey all. II hope this is the right place to ask... I was wondering how I can optimize long hair properly? I merged bone weights to reduce the number of bones, but it makes the hair move like crap/look like a wig. Is there something I am doing wrong, or a better approach?
that is fucked... xD
If you don't need colissions you can use a single chain of dynamic bone on empty objects and then have rotation constraints from the hair bones to the dynamic bone chian.
https://github.com/Naraenda/NarasUnityTools#dynamic-bone-constraints
ive used this before and was definitely considering it. tried it on a skirt a while back, but I think hair would work way better 👍
I always avoid skirts. It's either gonna show the world what's under when sitting, or it has clipping problems, or it doesn't perform well.
weight painting is the only thing ive seen that works well and frankly idk if i have the patience to do that lol
I think the best i got was with 4 or 6 bones and just not letting it move a lot. Hopefully the new physic bones allows for some new tricks (or just more colliders without hurting performance that much)
coming summer 2021
I suppose if you're lazy you could the same as with the hair, just with multiple sources on the constraints
thats what i tried to do, use the side as its own constraint, then the front and back as their own as well. just alot of clipping issues
I was also thinking that it would also probably be able to have the skirt always render infront of the legs with some shader magic. No clipping issues
Just a lot of work 😅 (and an extra material slot)
not as I'm not aware of any like games that do that?
Nah, it's more an idea that has been floating my head around to get around some the clipping issues with multiple layers of toggleable clothes. Without doing a lot of weight painting
Most games either just scale parts of the limbs down or just have it done properly in the first place
See BlueProtocols beautiful scaling lmao
just wanted to say thanks for this. got it down from very poor to medium by removing colliders and using the constraints 👍
Hello I would like to know more about the dynamic bone skript and how it drawns performance.
1.) Does the size of the Radius matters even when no collider is assignet to the skript?
-> I Mostly assign a radius even when i dont have any colliders just in case someone wants to interact with my charakter using a mod
2.) Does the size of the radius matters when a collider is assignet?
someone told me that this would draw performance but i dont really believe that ... i guess its the interaction no matter how smal or big the individual spheres of collider and dynamic skripts are ...
3.) When does the performance drop? Does the performance drop if there are colliders assignet, even when an actual collission maybe never will happen because the collider is too far away and will never hit the bones
or does the performance drop when the collission is happening?
Performance is directly dependent on the amount of bone transformations and collision checks. The radius of the colliders do not matter
That means the check wether a collision is happening or not is always playing and therefore it does not matter if theres an actual collision, the performance will drop as soon as there is a collider assignet?
dynamic bone colliders are checking rapidly even though there is no collissions happening yet yes
ahhh iseeee thanki!
the only way for it to know if it's colliding or not is to check
many times a second
collider scripts could instead check less frequently until they do start colliding but if you reduce the frequency of the checks (while not colliding) too much there would be a noticable delay in the initial reaction
but i think its a good comprimise
how to add an animator?
You have to add the Avatar descriptor on the top object of your model. Yours is called "ruv" dont add the avatar descriptor on the "Body" or "Armature"
here?
Yes, make sure you delete the other one on "body" Also, is your avatar humanoid? It doesnt seems to have an animator (setting to humanoid adds one)
yeah i was gonna talk about it
it says i need to make it humanoid
how to do it
It literally says auto fix
when i press auto fix the whole builder ui disappears
screenshot of your unity window ?
nvm it worked this time
sorry for being dumb and thx for your time
careful what you actually post , cause 🤦
why?
I've been looking for someone to help me with making a avatar of my sona but im dirt broke and i dont know how to rig, use blender, or anything like that
if anyone is willing to help me (which i really really doubt) ping me or dm me about it
I can try to pay you back in art trading or scultpures
This isn't the place for that, if you want someone to make an avatar you really should be on the VRC Traders discord, and even then the chances of getting someone to do anything for free is low. The best thing would be to find an avatar that is already made and modify it to be close to what you want until you have money or enough skill to do it all. #community-servers-old scroll up until you see the VRC Traders discord
Have you tried learning Blender ?
alright thank you
A good place to look is on https://www.vrcarena.com/ for furry avatars, humans are all over the place
Download and upload various kinds of assets and tutorials for the different species found in the online multiplayer VR social game VRChat.
thank you for the help i appreciate it
hey, which is better, 4 2k textures, or one 8k texture?
i dont know if 8k is too big or something along the lines of that
4 2k textures would result in a 4K texture not a one 8k texture
But to answer your question using less materials is better so a single texture that has everything
one material with a 4k texture is best here
Why is it when I decimate an .fbx in Blender, Unity doesn't recognise the face count decrease?
when you import a file in unity, it makes a copy of the file and stores it within the project
you need to replace the file in the project to update it to the new version
That's what I've been doing
either do that through the file explorer, or by directly exporting from blender into the new spot
also, make sure your model isn't unpacked
if you unpacked it, you will need to drag the FBX into the scene again
to copy components over to the new one, you can use Pumkin's avatar tools
It's not unpacked, and I've been exporting into a folder, then dragging the edited .fbx out.
where are you dragging that fbx to?
Into where the .fbx is stored in Unity
you might need to alt tab back and forth after doing so to make Unity realise the file changed
It does.
in that case, everything's fine
I've culled useless polygons, and it updates fine.
But when I decimate what's left over, it doesn't.
it's most likely the SDK not updating properly
try saving your project and reopening it
how many texture sets can you use on a quest avatar?
That depends on if you want it listed as good or not https://docs.vrchat.com/docs/avatar-performance-ranking-system#removed-categories
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. This system is provided to inform users what is likely the most perfor...
You can use as many as you want but it's two will get you medium, and past that is poor and very poor.
I've personally not noticed much performance loss on Quest with alot of them but I merge the textures anyway.
Honestly feel bad for people on Quest 1
I'm trying to combine my materials but they either go all white. or they turn into an odd material i didn't even select.
like my model has chest hair. if i try to combine only the hairs. it turns into the pants material that i didn't even select
Are you talking about doing an atlas? Check to make sure that all of your materials actually have an image assigned, if they are just using the shader color, that can cause issues like this when doing atlas
yes. they all have an image assigned. but it gets messed up.
how many materials are there for this model
are all the ones using the same image file named the same?
actually there is no duplicated png. they all have their own.
so all materials are using a different png
yes
you might want to do some manual UV combing first depending on how the images are.
Have you run the Cats Fix Model script yet
ok. and yes
To figure out if you can easily do some manual combining is look at how images are laid out for different parts, like face, body, hair, see if they could be combined into a single image and not overlap, like they are just cut out pieces from what could be a single image. If so, you could combine them all and merge the UV's for each of them without having to move things around
27 materials is a lot for the atlas scripts to figure out
every image is like that?
I don't get why the atlas won't work either way. Like i pick say shirt pants and shoes. and it still doesn't work.
and yes. every image is like that
And this is what his shirt looks like
go through each material and disconnect anything that isn't an image attached to Base Color, then try again, or if you want, share what the shader looks like in shader editor
Here is what the shader looks like for the shirt
i'm going to try what you said
i guess the shader that it is using has no base color option. so do i need to change the shader
could be the XPS shader causing the problem, I think atlas is set up more for the Principled BSDF
if i change it to the BSDF it just goes white.
what does the shader editor look like though, Shift+F3 to open it
with the XPS Shader the active one
Looks like this. i'll put closer pictures.
Yep, that would do it, if each material is like that, that could cause it to just go wacky.
makes sense. it has a lot of things. it's really detailed texture wise
Model is pretty detailed texture wise.
If you want to keep all the extra shader stuff you will need to do extra work. You could try using the Bake option in Cats but uncheck Decimate, see what happens.
it might take a while to process if it doesn't just outright crash on you, which it shouldn't if you are using updated blender and updated cats
you would want the smoothness and metallic if you do have those textures
should of put the updated picture
Click Desktop first, then uncheck Decimate, forgot that
so it has a diffuse shader, lightmap, specular, and micro bump. should i check metallic and transparency
and here's what it looks like originally
I think you have to keep transparency on to get metallic, but set the transparency to be the metallic, it should tell you when you check Metal
I don't see any metallic Maps so I don't think you'll need that
if you want smoothness on you should probably set the Diffuse Alpha to be smoothness
Hover over Smoothness, it should say
each option should give you information on what it is if you hover the cursor over for a moment
ok i'm checking them out
you should set the texture resolution to the max, which is 4096
ok
if blender isn't responding is it doing the baking correctly. I'm doing a gpu bake. and looking in taskmanager it's using only like 6 percent
it's been like 10min
there are a lot of nodes for it to work with and 27 materials, it can take a while
i'll leave it going then
i guess it did it. but when it finished a window popped up and looked like errors but it went away.
also some stuff is missing
actually only 1 thing is missing which is the holster.
well the original isn't there
it should still be in the scene somewhere if you left Quick Compare on
if i click the shirt i can move it.
i don't see another
it's definitely the baked one though
oh yeah so it did do it's thing at least. What does the material panel thing look like on the right, the one you shared first when I asked for the Shader Editor
says cats bake at top
find this and set Blend Mode to opaque if it isn't, for the bake model
i think it just duplicated everything
the shader node thing is the same for both shirts
some things are messed up when i move it. so i'm gonna try again
before you do you might want to change one setting that isn't in that
like the shirt to the left is connected to the shirt on the right by the button
ok. which setting
Click the little TV icon and change the two sample settings to 1, that might speed up the bake, it might not
could also cause a slight loss in quality in the image it outputs, might not
ok i'll try that
I do know this has made baking textures a different way go many times faster for me. You can always change it back later if you save over, or just revert your project/scene whatever, later
ok i'm trying again
now to wait
i think the reason it was missing the holsters was because it was a seperate mesh. So i made sure to combine them this time
so it's all one mesh
here's the error. sorry it's dark. tried to take the picture with nvidia but i guess it didn't get rid of the overlay.
my drivers are correct. let me check blender and cats
you might need to restart blender
ok
so i'm assuming the baking bakes all the little effects and stuff into a simpler version.
my blender is 2.83.5 so i'm going to update it
My CATS plugin is the latest though
That could be it, 2.9.3 is latest? Something 2.9, just not the first release of 2.9, and not 3.0
you could probably uncheck the 2 shape key options
ok i took those off
I am attempting all of this as well now with what I am sure is the same model source as you
don't link it though
I get that, I'm trying to see what needs to be done manually, and if you can even get the results you want using Cats without making changes to the shader setup first
something seems to have happened with the belt. it's transparent. and the buckle. do you happen to know how to fix it?
backface culling fixes the belt.
nevermind i got it
well it isn't too hard to switch the shaders to BSDF manually, don't know if this will allow cats different things to work better though
also you lose detail
i don't mind trying the BSDF. i'm just waiting for the bake to finish
but yeah. i assume it loses all the normal maps and stuff and any extra detail. which i was expecting.
yep, if you go through and add the Principled BSDF shader and attached the "Diffuse" to the base color and the Specular to the Specular, and the Alpha to any that have alpha I guess, then attach the BSDF output to the Material Output, you can atlas without problem it seems, so manual cleanup needed before automatic things
ok. i'll try that. after this other bake. the bake i did worked. i just need to take of transparency. since it made him somewhat see through.
Is that something i just do in the material window. or in the nodes?
yeah, I had that problem when I did a couple tests, the Islands that are automatically created end up being too small or it runs out of space for them, I don't know which. You would do what I suggest doing in the Shader Editor
See how I have the nodes connected to both the XPS shader and the BSDF Shader? That was what I was talking about with connecting the Diffuse on XPS to Base on BSDF, Spec to Spec, and you would do the same if there was an alpha. I'm only leaving them connected to show as example. Then once you do all of this you should be able to atlas
You could also do the Bumpmaps to the Normals on BSDF, but I'm not even going to figure out that Mess. Once you do this then you can at least optimze the Material count, and we finally complete what the channel is for
You can do Shift+A to bring up the Add menu, then go to Shader and then Principled BSDF, when hovering over the Shader Editor window
Make sure to connect BSDF to the Material Output Node on all materials before doing the Atlas. You could also delete the XPS shader when you go through all before doing atlas, you don't need to though as long as the XPS shader isn't connected to a Material Output node
it looks correct without the Normal/bump map on it, figure out how to set that up and it should look like the xps shader does
oh wow. so it's possible to make it look like the original. guess i'll play around and see if i can figure it out. atleast for now i can have it this way.
the XPS shader is just a Principled BSDF with a lot of extra nodes in it connected to fix replicate what the game shader would be
oh ok. never knew how shaders worked
I figured out a little when I was working on getting a Destiny 2 model in to Unity, the community shader is crazy, if you want a mess, try doing that.
what shader do you use for a vrchat import. at the moment i only have poiyomi
i used to use a toons one from a while ago.
I only use poiyomi anymore, and just mess around with the different settings until I get something I like, not always what it looked like in blender, just what I like
and you'd probably also be fine with the standard Shader doing apbr realistic person
ok. yeah poiyomi looked pretty good with the model imported.
I can't help with doing PBR image for the Unity shaders, never used it, never learned it. All of this is just throw poop at a wall until it sticks and forms some basic shape of kind of what I want
Good luck with whatever you do after what I showed how to do, I'm off to sleep, which should have been like 3 hours ago at least
Just wanted to let you know i actually figured out how to add the knit fabric pattern. took me a bunch of trial and error but i got it.
What is a skinned mesh renderer, and how do you combine three into one?
Nevermind. Giving up on custom fallback crap.
A skinned mesh renderer is any mesh that can be moved with armatures. To join them, import the mesh into blender, select all the meshes, and hit ctrl + j.
What if the mesh can't be imported into Blender?
What's the file extension of it?
And I'm sure there's some importer that someone made.
.asset
Did you buy the model?
It's a free downloadable.
From where?
Oh, that's should be fine then.
there should be the original fbx somewhere in the downloads
But there's should be a model inside that file
There's the .prefab that gets dragged into the Hiearchy
The .prefab calls upon a .asset
There is no .fbx anywhere in the project.
There should be a skinned mesh renderer somewhere on the prefab.
Or three, as you've mentioned.
Find one, then find the mesh's reference.
How tall is the average avatar? because 5' 8" or 1.1179m is too tall for the hub
If you have the .mesh and the .asset you don't need an fbx. It's something some creators do to deter people from taking parts of the models and redistributing them.
I don't have either of those either.
you can't import those into blender so you can't do anything about combining meshes together into blender
There has to be a file containing the mesh somewhere, in some file format.
Check your size by creating a 3D GameObject cube. The default cube is 1m on each side.
the skinned mesh renderers has a reference to the .mesh
it quite literally has to
Where do I find it then?
Because I've been through all these shitting folders a dozen times looking for anything, and all I can find is the .asset
then you might want to get a new model as that's not really serve serviceable
Yes but how tall is the celling in a regular room because it's clearly less than 1m in the VRChat home hub
the ceiling in the vrchat home is definitely more than one metre tall
You can find it using the skinned mesh renderer but once you have it you won't be able to import it into blender whilst retaining any armature information. Either check the Booth files for a model file or you'll need a way to export a prefab as an fbx / something akin to that.
Some models' native scale is different to unity's. If in doubt, just go to GameObject > 3D Object > Cube. Scale the cube to the dimensions you want it to be, then size your avatar to the cube.
I did and my character's head is sticking out of the roof in the hub
can you share screenshots
what's the y scale of the cube you used?
My model has a Y scale of 1.83 which makes it very close to 6 foot
could you share a screenshot of your very tall model
I'm now wondering if the viewpoint is just being pushed up
as it sounds like something is messed up on the scaling Factor on something
That could do it.
Now the new cube I made is smaller than when I first did it
the model started out at 0.06 and I made a 1.7272 cube and upscaled it
Now the new cube that I just made is less than half the avatar's height and I used the same numbers
could you share some screenshots
no wonder you're hitting your head on the ceiling you're like 3 meter
I mean, we figured it out. I run my cubes with an X and Z of ~0.2-0.3 and then play with the Y scale
so how tall do you want the avatar
well, something scaled your cube up unless you managed to change the default unity scaling in the project settings
which is unlikely
normally you would have that as a cube scaled to 1.727
can you show a screenshot of your cube with like the inspector
to make sure you're starting with a proper one meter cube
When scaling the cube, keep the x and z at 1 to keep it approximately proportionate to a humanoid.
But yeah, that avatar is huge
It should be the same size as the cube
okay looks like your cube is fine now and no wonder your avatar was hitting the ceiling
The avatar got bigger when I imported it to VR chat
It's already huge, probably more than 4m.
Because that cube is the same size I used to scale it in the first place
The cube's in-game size would be 1.7m tall
1 Unity unity = 1m in-game
And that's a constant.
You should make your avatar smaller
nah, taller. Look down on the 10 foot eboys
yes now it should actually not be Giant
hopefully it behaves better now
How do I fix sinking into the floor when crawling?
and how do I fix the hands crossing over each other when clapping?
Remake those animations with your not-human model in mind.
non-human model?
you have shorter limb proportions then a adult human which is what the animations are modeled off of
I'm not sure how to eddit that stuff
someone please help me optimize my avatar
Join my Discord for help or meeting like-minded people: https://discord[dot GG]/uSEvuVw or scan my QR Code: https://media.discordapp.net/attachments/626502922120724480/626522415794618399/qr-code-Shanie-Discord.png
I honestly had enough of hearing that basic optimization of your avatar takes too long.
So I did it in five minutes. Let's work to ...
I don't recommend decimating unless it's a prop
Almost everytime I've decimated a rigged model I've regretted it
yeah Edge Loop dissolving tends to be a lot cleaner
I feel as long as you pay close attention to stuff like the face and fingers it's fine
I haven't been having issues with my unity crashing when transferring to android but all of a sudden even if theres almost nothing in the world when I transfer it, it still crashes, what should I do?
CATS does have a decimate tool that preserves shape keys as well. Kinda useful depending on what is being done and how much decimation is needed.
Its also good for just having a throwaway Quest version. Ive been trying to make automatic edge loop dissolving work without much luck
What I came up with likes to just eat arms
I manually do it
help. there is this model that only has colors as textures meaning it had like 5 material slots, but i wanna put it into one. i tried combining the materials in cats blender plugin but i'm left with these weird spots, idk what to do
you would probably want to scale the UVS smaller in blender so you're not getting texture bleed ?
i have no idea how to do that.
glad to be of help
:D
if you're curious why that's happening as you get farther away from the model it uses smaller versions of the textures and if your uvs are too close to the edge they might start sampling from pixels you don't want it to do
cool
disable mipmapping
and make it into a 4x4 texture :)
though at that point it might be more efficient to just use vertex colors instead of UV-coordinates
So I have joined all the meshes of a model and in Unity it says there are 7 submeshes
Are the submeshes related to the material slots? I noticed the amount is the same as the number of material slots I'm using
Yes
I see, I'm going to atlas the textures then thanks
I'm kind of clueless on where to even start on how to optimize this avatar I was provided. I'm new to unity but picked the bare bones basics up pretty fast but not exactly where to start with optimizing it. I doubt for stuff like this there is a 1 for all tool that I can use to solve all my issues. btw this is a 3.0 avatar
What's your goal ? Medium or below ?
With the avatars contents yeah. Basically enough for quest users to see it
I doubt I will get it too good, but want to if possible
Take it into blender and turn the tris into quads, that should help a ton, also make an atlas of the textures, that would be great
should really only take 5 mins max to do
Luckily the avatar creator provided a blender file. I launched it, and immediately got lost. I have used Maya for school but haven't touched Blender. I'll look into it
I'll be happy to help you, if you need it 🙂
That doesn’t help with the end tri count
It helps with topology and working with the model
But yes, make a texture atlas
That does absolutely nothing lol
The atlas part is great, but triangles is not something that you can do manually, unity does it automatically
Look into the material combiner addon for blender, for polygon reducing i'd have to see what your model looks like
Does the size has any effects on how the game runs? When i duplicate a chair and scale this up to ... 500meters high but it has the exact same poly count / texture size. Does this affect anything?
I feel like it probably shouldn't? Aside maybe from it having a larger bounding box, meaning it's just more likely to be on screen and rendered. At least, that's the case with avatars, IDK if bounding boxes are a thing for world objects.
I may be completely wrong though.
Bounding boxes exist for every mesh, a chair really should not have a mesh on an avatar so it wont effect the bounding box
Does anyone know what would be best? Separate skinned meshes that will be hidden, or 1 big skinned mesh and then assign different material parts that will have an invisible material/shader
Separate the meshes but try not to use the same material across different meshes.
Each material is drawn individually. Using the same material on multiple meshes will cause unity to draw the same material multiple times, you can see how this is a waste of resources.
read "How does a shader-based system compare to other methods?" in this article, explains it well https://gitlab.com/s-ilent/SCSS/-/wikis/Manual/Inventory-System
also each material is goign to be redrawn per unique mesh anyway, you really dont need to worry about that (not to mention that if theyre small meshes im pretty sure they can be batched)
The idea is starting from a mesh with, lets say, 8 materials. I say ‘don’t use the same material on multiple meshes’ so you don’t end up with 14 material slots after separating for toggles. You can see why this’d be bad for the performance. Having 8 meshes with 1 unique material each means that if you were to join your meshes you’d still have 8 materials.
Then in both cases you’d be looking for changing the toggle method by merging materials and using the mentioned shader or something similar.
If you’re starting from 1 mesh 1 material then using separate meshes or separate materials is not great. In that situation I’d 110% look into that shader rather than adding 3, 4, 5 draws.
Also, can skinned meshes be batched in unity? I was under the impression that you could only do this for non skinned meshes.
(I may need to read up on it a bit more. Still have a lot to learn about for unity)
skinned meshes do not batch, but mesh renderers can be batched sharing the same material if they are <300 triangles, im assuming this will work for objects that are children of avatars
I see, okay. I’m not sure if I can apply it to any previous project immediately but I’ll definitely keep it in mind. Who know when it could come in handy.
and yes, having more than one material per mesh would be an issue for toggles, but for game objects with only one material slot per the performance cost would scale 1:1 as expected. in cases where your base mesh has a number of materials but you only need one slot per toggle then i would make a separate texture atlas and material for those. but most of the time i plan around that anyway, and most of the time your base avatar should approach or reach 1 material, and if it doesnt, it should at least have only 1 texture atlas so setting up outfit toggles is easy enough. i say this because although in theory adding drawcalls is going to always incur more performance load, in practice you cant really get around it, its the most sane option compared to shape key or material swap toggles which can easily result in worse performance if you are not careful. game objects are just easier to manage and measure; the only other things as optimized would be bone shrinking and SCSS (linked above), though they have specific use cases
So, I'm trying to cut down on the mesh renders of my avatar. I use the atlas material combiner thing that comes with CATS for blender and that works fine. The issue is when I put my avatar in unity I need to add accessories. adding these extra accessories adds on more mesh renders bringing my performance down fast. Does anyone know how I might go about combining all the mesh renders into one preventing this issue?
Go back to blender and do atlas with the accessories too?
I did
I have two accesories added to the model
That's why there's three
One for the main model, and two for both accesories
Why do these accessories need to be their own skinned mesh ?
Because they have multiple color schemes on them
Is there some other way to apply colors to individual parts of models?
write your own shaders
I don't even know where to begin with something like that
Or just have them be one mesh and multiple materials
Unless you mean have a toggle to switch materials, you are suggesting the thing that gives them the 3 Skinned Mesh Renderers
Nope, not at all
meshes and materials aren't the same thing
You can have a single skinned mesh and have multiple material slots
Yeah I reckon you can have multiple materials in one mesh
It's all about UVs 
I dont see the problem with switching individual ones in the mesh render componenet where it has "size"
and lists the various materials
I did not say what I meant, I was going for the multiple draw calls angle and not whatever it is I said
Well that's an idea, but do you have any resources that might help me figure out how to do that?
Just add more materials in blender and then assign the faces.
I can film a demo in like 15-30 minutes ig
This is perhaps one of the most basic things when it comes to modelling/texturing
That's what I did though
The thing I worry about is if those materials you plan to switch with animations get into the vrchat build
