#avatar-optimization
1 messages · Page 40 of 1
Yes it's often better to have two or three materals rather than one. But up to you
Learned alot here and better understand how I should approach texture in these models
There are transparent options that allow for one material such as cutout or dithered (or Alpha to coverage)
But separate materials is simplest
Oh funfact i learned of recently, apparently this version of unity supports DDS DXT1A encodings
Hmm interesting. I was interested in that at one point but couldn't figure out how to get it to import a png with one bit alpha
Or you give unity an already packaged dds file?
It actually supports DDS's now
Surprisingly with little washed out coloring on DXT1A
I see, so you use nvidia texture tools? Yeah I thought dds imports in unity had weird coloring problems (srgb issues or something)
Nah i just use paintdotnet
Got a crapload of export and import plugins
vtf, agif, apng, psd, just to name a few
apng? Makes a spritesheet?
It can't export gifs with transparency properly unfortunatelly though, which i got a zip archive export function for instead
Animated PNG, a very high quality animated image, barely spoken about
How does an apng it appear in unity? Texture2DArray?
I doubt that unity even supports apng's tbh
Yeah, thought for a bit you were talking about unity import plugins.
Nah, paintdotnet import plugins
Ezgif can make a spritesheet animation out of a gif though, so you got that atleast
I have a cats texture atlas and I want to add one more texture. Is there a way to have it add to the blank areas of the atlas that has plenty of room instead of making a tiny extra space to the side and making the atlas bigger?
@amber hemlock load your copy from before you deleted the original materials
Then add it there
Ohh wait
You mean a cats atlas
In that case same thing but add it to the backup from before you hit auto atlas
I no longer have the non-atlased model
There's almost certainly a free space in the bottom right corner
Edit the new texture into the image in the bottom right
Use the spacebar menu and possibly F6 to put the 2D cursor in the bottom right
Set the pivot point to the 2D cursor
Then scale it down until it fits the texture in the bottom right
"It" being the UV's for the new texture
My problem is blender pretends every texture is the same resolution so the small texture’s Uv’s are huge on the atlas
Yeah hence why you scale them down like I said
I used to do my faces this way
It works but may require some fiddling
Yeah I can do that but would you happen to know how I could do it without eyeballing it?
I’m trying to be exact
If you scale them down a little bit and press F6, you can get the scale menu
And hard-set values
So if the atlas is 4096x4096 and the new texture is 1024x1024 (hypothetical)
I scale the UV's to 0.25 on both the X and Y axes
With the origin point set to the bottom right, this will also align them to the bottom right correctly
Oh sweet
Yeah I can do the edit texture but blender’s I’ve editor is my issue
I think this is enough to figure it out, thank you
I have a little problem My model have 50k polygons, but Unity said, what it have 90k+ polygons. It have only 9 materials with lite shaders. Why is it can be like that?
unity polygons aren't same as blender one's
unity also count uv stuff and etc in some way due to one unity thread 🤔
if your model shows 50k polygons in blender, it can include quads if you have some polygons not triangularized
well if you convert everything to tris they should match
(also assuming you haven't added other parts to your model in unity like props, particle systems and the like)
hmm it really shouldn't count anything differently. Back when we had the 20k polygon limit, I would always be able to get the model to within 20k by getting it to 19960 in blender or whatever. I think I once had it show an extra triangle or something but it used to count 1 per particle system so may have been that
Anyone have the same problem? Looking at other things are fine but my right eye is looking my own avatra with a wrong position
If i put my right controller in front of my rights eye, my left eye will look closer to the controller and the right hand in the right display cant stick with the right controller
Just tried making my first avatar and I have an issue where it is half in the ground, I looked in unity it seems to be where a white line is on the avatar descriptor. Does anyone know how to move that without moving the white dot camera thing?
This is not the right channel for general avatar help. Check #animation for a pinned message how to fix the half in ground if it's happening in the editor / not in play mode
it was in play mod where it was half in floor but i managed to fix it now anyways
Make sure in blender you are reading “tris” not “faces”. Blender’s tris is unity’s polygons.
@velvet roost
@amber hemlock unity tris rarely exact the same as blender ones, he, depends on topology tris or quads and sometimes something more
They are always the same for me. Make sure you are comparing tris tris, faces or polygons will not match, but the VRCSDK matches to Blender Tri count, not face count.
If you have quads, it may triangulate differently so triangulate your model yourself
The only thing that sometimes differs for me is vertex count
Due to normals and tangents
might be being recalculated / welded in import settings
Not sure how far reaching “optimize mesh” and what all it modifies
optimize mesh can erase some parts 🤔
It seems lossless so I do it but I’m always suspicious
Huh interesting I never have seen it visually modify my model. But I had a feeling it reorders triangle strips which potentially could change a model visually
that actually might be not a common thing, because it happen after self scripted splitting in blender that give some NaN vertices that i delete after, so the model data is "not stable" i think :d
Can someone please help me
im using this new ikfollowing system from the new update
it makes it so you dont have to use rigid bodies and fixed joints
you are not supposed to animate the object you put the ikfollowin script on
but thats besides the point i have it working for the most part
but im creating a trail of partiles behind my sword
and for some reason even though they are set up like this
they do not show up like this in game
they do go all the way up the length of my sword
they actually show up like this
i dont understand why
but thats what it looks like in game
this is how my hiarchy is set up. the Mogtana (1) is the sword itself
i followed what i read on the vrchat update logs in the ik following section
What does it look like in-game?
i put a screen shot there idk what you ant
its half way down the sword with particles coming out the bottom of the handle
when it should but the length of the blade like the top picture
I'm confused, so is IK broken or are the particles not showing right?
the particles are not showing up right
Can I see your particle setup, and what it's supposed to look like?
like it said they are supposed to be on the length of the blade but they are half way down the blade and coming along the handle and past the handle when they are in game. even though i have it set up like the top screen shot in unity
what its supposed to look like in game
what it does in game
Yeah, can I see your particle system settings?
Have you tried letting the particles live longer so that they can travel longer?
VRChat sometimes changes the model bone scales and whatnot.
um im cofused what you mean by travel longer
This does not seem to be an optimization question
i just need them on the lengh of the blade itself and not half way down and past the handle
someone was asking questions in avatars so i didnt want to side line them and stuff
Weird, wasn't the point of Cubed's Shaders that the outlines were done in the same pass to be more performant?
I'm benchmarking it and I'm getting 70 FPS with Cubed's and 140 with Noenoe Toon Outline
170 FPS with flat lit toon lite (no outlines at all)
lol thanks guys
@vestal lark I mean try increasing lifetime or duration so that they travel longer.
wouldnt that add length to both the top and bottom? i mean it would make it go farther but the blade right? but it would also make it travel farther down the blade. which means it would go even farther past the handle then it already is right?
@surreal topaz One Pass doesn't always mean more performant. How are you testing it? Here is the code: https://github.com/cubedparadox/Cubeds-Unity-Shaders/blob/master/Assets/Cubed's Unity Shaders/Shaders/CGIncludes/FlatLitToonCore.cginc
Putting tons of models into the scene and comparing the framerates and render times (profiler)
With different shaders
70 FPS on Cubed's, 170 FPS on Cubed's Lite.
Cubed has done worse on benchmarks. Can't say I know why
140 FPS on Noenoe Toon Outline
But cpu perf is only one issue. Fill is almost as important. Also a question: what settings did you use? Opaque?
The problem with geom shader is the polygons are interleaved, so you get outline polys done then front polys, so it might be forced to draw both sets.
While if it's a separate pass, the outline will be mostly occluded by the forward pass itself
But that's the only thing I can think of.
Can you experiment with different outline sizes? (0 vs something else?) also what if you make the outline polygons tiny (like lerp points 1 and 2 into point 0) such that they generate same number of polygons but have basically no fill
Hmm, interesting. I'll give it a go
0 width outlines is the same as 0.2 width
Turning them off gets me back up to 115 FPS, which is still not quite as good as Noenoe Toon Outline at 140.
It seems like merely having the geometry step in there has a hit on performance
I did what you said (made the outlines tiny) but it performs the same
Interesting, so geometry step drops 140 to 115? Outlines on drops 115 to 70 even if they are infinitesimally small (even returning same point 3 times to generate a degenerate triangle?)
@surreal topaz
I haven't tested returning the same point three times yet
Yeah, the same thing happens then.
115 FPS with outlines off, roughly 70 with degenerate triangles and 70 with regular outlines
There's a pretty significant block of code being executed if outlines are on, so this doesn't surprise me too much
A new tri is appended to the tristream and a bunch of multiplications are being done
That's not much code compared to some geometry shaders I've seen. But that's interesting. Also what gpu hardware do you have
GTX 1080
@distant forge @surreal topaz You should keep in mind that Cubed's shader was originally written back when VRChat was on 5.3 when we didn't have single pass stereo.
Yeah, I know
It just surprised me because there was some talk about VRC recommending a shader that uses an extra pass for outlines
But as it turns out the geometry solution isn't always ideal either
I don't recommend anyone use non-lite Cubed's.
Since the fade and transparent rendering modes on the non-lite version don't work properly due to a Unity or VRC quirk, shouldn't they be removed anyway?
It's basically deprecated at this point
It's still an interesting question why using a geometry shader for this purpose is so much worse performance wise
Either Cubed's or I could remove it but we haven't.
Oh, that's a driver thing.
We found out about it way after we wrote the shader.
But on a GTX 1080, I would expect better support
I guess for XSFur the cost of the alternative (10-20 passes) is far greater than the overhead of a geometry pass. Also it makes use of instancing in that case.
So there are cases where it can gain but that definitely will make me think twice before doing too much in a geometry shader
Also I've been wondering why XSFur didn't use instancing
But just plainly converting it to use instancing (geometry instancing) rather than doing a for-loop 10 times had no effect on performance whatsoever
Oh wait it's not instanced? I could have sworn it was that way
Hmm that is weird. Maybe there is something I don't know or it helps to guarantee ordering between far and near fur polygons
Nope, no instancing as far as I could see. Adding it only seemed to worsen performance (despite knocking maxvertexcount down to 3 instead of 42), so we didn't really question why it wasn't using geometry instances
It's weird though because it seems like a prime candidate
Why does my 1 material 1 mesh avatar show up as 17 materials after I load into it? In the list it's 1 and 1 correctly.
Does it have particle systems?
I noticed that the material count can randomly increase by a ton after switching into the avatar, but only locally.
Nope
Ah, in that case it's probably fine. I'll check up with someone still to be sure, but that's encouraging to hear (and another bug to be fixed :p)
Bounds calculation may still be broken too
looks like there's less of a headache then trail renderer no matter what i did reports in game as bounds like 14x original size
I've noticed that one model can get 3 different sets of stats from myself and two others and all 3 sets of stats be inaccurate to say the least.
Hard to have faith in the system. It doesn't even show everything in my SDK. :/ (I know of the fancy checkbox. That's not what I mean.)
There is a guideline for optimized avatars which can be found here. Also when I am doing my avatars, I keep count of what I am using and trying to keep it within the guide line here. I use the automatic system as a secondary opinion. https://docs.vrchat.com/docs/avatar-performance-ranking-system#section-avatar-performance-ranks-value-maximums-per-rank
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 purely informational at this...
Also the “1 animator” can be avoided by baking those animations that should play all the time into a custom idle animation override, as this plays under all the other animations at all times (besides when prone)
This is the only way to get custom animations into an excellent rated avatar
hello
can anyone point me in the right direction of a video about making clothes move with a model?
or just tell me
I mean clothes will move with the model by default. You want them to move separately? That’s dynamic bones or cloth
i mean when i put the model into pose mode the model moves, the clothes do not
cos I added the clothes
so i need to link them somehow
I've used simulation to make the clothes fit, but they don't react to movement
It sounds like you added them in unity. You need to add them in blender,
You can fix it in unity if you want but it’s not very optimized
You’d basically need to put each bone of the clothing as a child of the same bone as your main avatar so as your avatar parts move around it puppets each part of the clothing as well but
It’s very messy
I'm in blender
I've got the dress moving with the model now, sorta, the top half moves, how do I make the dress move so the legs don't go thru it?
@zinc crown easiest way is to weight paint the lower middle part to the hips and the very bottom part to each leg using gradients. For something short that should work. If you want it to move a bit, add a child bone of each leg all the way on the outside and mix in some low intensity weight painting to those bones. Be sure to have Auto Normalize always turned on
hips go red or blue?
Red is stronger. In your screenshot it looks 100% on chest or spine so I expect hips to be 0
But you want a bit of a gradient to keep things smooth
You might actually be able to use auto weight paint and have it work
But use the dummy leg bones that are facing down And then copy the weight from the dummy leg bones to the real (facing up) leg bones
Using weight mix modifier
Anyway there are Different approaches to make this work
Dummy leg bones sound complicated 😦
You already have them (named left leg 2), just was an idea to have blender do work for you
But maybe just paint them yourself. Really isn't as hard as it sounds, just try a bit (you can save a backup or duplicate the armature if you are scared of ruining it
One trick for weight painting is add a mask modifier and include only the clothing in it.
why does the textures crack liek that?
(Edit mode, hover over it and l to select the clothes, add vertex group and assign)
@timid viper your model may be designed to use cutout or fade/transparent blend modes on the hair. Fade is hard to work with unless you split some into a separate material... so give cutout a try first and see if it looks good
Oh alright, so it's a shader problem, gotcha
Most if not all shaders support cutout . Which one are you using
cupeds
hm, i tried doing like u u said, even added an outline with 0 witch in white, but it doesnt actually seem to be a shader problem
it feels like something went wrong in the import or export
nevermind i seem to have figured it out, it was a shader problem, i was just controlling the wrong material xD thanks for you help budy @distant forge
My aha moment was realizing the weight color is not a percent. Red on one vertex group is still only 50% weight if it’s also red on a different bone
well its sorta a percent
except its averaged
typically ppl normalize weights
so that they add up 2 100 when averaging
but if for example u have 10% weight on everything and nothing else is weighted
u have full weight anyway
How do i make a model as Mesh geometry instead of a Polygon model how would that perform in vrchat?
@ancient crystal you now what that is right?
i dont get anything in that sentence
if you see theres 2 setttings in unity one says polygons and the other one says Geometry
i was looking around the settings of the unity
wat the setting called / wat it for
are you able to bake lights on avatars? or are we limited to Mixed / Realtime?
and is it better to use Skinned Mesh Renderers? or Mesh renderers for things like a sphere with a shader on it or etc, a sword
Baking lights requires that their world position be fixed, which is not the case for avatar lights
thats what i kinda thought but since avatars move would that baked data stay still on their body. i guess not then
Mesh renderers are cheaper then skinned mesh renderers, but it's probably better to merge everything to a single skinned mesh renderer rather than splitting them out if possible
@spare saffron the other problem is the avatar mesh would have to not deform relative to the light
and its not seperate polys from the avatar but i would not know how to merge since its added in unity not blender
Yeah merging meshes is ideal but requires edits in blender. Otherwise, use mesh renderers where possible (ie, where the object is influenced by only one bone and has no shape keys)
i think u can use mixed or baked llights on avatars
would work on worlds with baked lighting and light probes
ok so my next question on lights is whats better.. realtime? or mixed? and what does mixed do since it adds indirect light (i think it was)
Lets say if you use a avatar in a world full of light right and then a anime avatar is setup to the real time so both would look different in the lightings instead of looking like a shiny tree no matter what color is the light is
i think mixed uses realtime lights when baked is not available as well as wat u said
ok so for example, shadows in motion are realtime. but shadows that are static get baked
that would make sense if it is a mix of both. thus why its called Mixed
well if u have light probes i think u can already have sorta baked shadows
cuz i remember seeing me shadow in worlds with baked lighting
if the lighting is set to real time lighting and on the model the shadows and everything would be more high def colors
if the lighting was set to higher number of brightness or lower or the sun is set to a certian location the lights on your models would look way better
but not 4 moving stuff rly
also if using realtime lite on avatar
at least disable shadows
unless is short range light and only 1 of them
you can also attach lighting ot your models to
alrighty
lets say you can adjust the shading of the world to your model likings
i was trying to import my avatar into vrchat, but its telling me i have 79k polys on it. i just recently updated this current avatar im using and it is now 56k, should i just try re uploading a newer version instead or do you think the sdk is reading it incorrectly?
Check if you have triqngulated it. Blender shows any polygons, unity shows triangles (1 quad = 2 tris)
@distant forge where do i check that again?
Blender shows both faces and tris, you want to look at tris. It's on the info bar at the top of the window.
is there list somewhere with amount of stuff on avatars for each optimization rank?
latest pinned message on this channel
^ and on docs
https://cdn.discordapp.com/attachments/282642343822098442/545520040263417870/unknown.png so i tried making one of my meshes for my avatar spin very slowly, but the upload tells me its going to remove it, is there anyway i can bypass this? maybe a different method? (PS: i was using a C# for the rotating mesh)
You have 2 option ithink. Make an animation or use a shader
To make an object to spin or a texture
Fo sevuroty' vrchat dont allow script
Ok cool ty
How performance heavy is it to add a seat with an idle animation on to an Avatar?
take your avatar's performance and add the performance of the other avatar sitting on your chair * 2 @heady smelt
Chairs on player controlled characters in a multiplayer game is a bad idea performance wise (reason games with horse riding etc tend to lower the amount of objects spawn for that specific reason)
Would explain why at times Avatars can be seen lagging behind when people stack themselves with avatars that can sit on top of each other
whatbhappens is that both avatars get merged as a single avatar including all collisions,dyn bones etc
so 2 32k avatars will be a 64 k avatar as long as the chair is used
The model I may be experimenting on will be below 3k tries with 2 dynamic bones so I'd think that may help with this
Want to see if I can have a baby elk work with the Humanoid rig and if it does it would be fun to have it be ridable
best is to build a simple flat world and test it locally
Building worlds feels daunting to me perhaps because I haven't tried to yet
yea... for others to use indeed...i just made a simple one to use myself to learn stuff
Just local on my pc as i figure stuff out
enough MMD stages to use for it
Definitely sounds helpful as I'd think it would help bypassing a bunch of loading
through all the uploading trials
@timid viper I know this is late but all you need to do it go into (humanoid) that, and then hit like apply then it will go away.
I heard if you dont uncheck “import materials” on the fbx import options in unity, it will load all materials twice in VRChat. Wasting load time . Is this true?
That doesn't seem true
Checking it
It only ever uploads the FBX, but what is waste of load time is embedding the textures and then also extracting them
Yeah, even if you extract materials or use the legacy method it doesn't seem to contain references to the embedded material anymore
Even if it did upload them, materials are tiny
Hmm... It is unfortunate that public avatars with dynamic bones are limited to 2 collider components instead of judging them based on total number of collider affected transforms... A world will get rejected if it has an avatar with 3 colliders even though the total number of collider affected transforms is less than the total number of dynamic bone transforms. On the other hand, a world would get approved if it had an avatar with 50 dynamic bones and 2 colliders that affect all of them for a total of 100 affected transforms.
Really it should just count the number of collision checks and leave it at that. Unused colliders don't do anything to your cpu usage after all
You'd think so, but yknow
vrchat devs. Basically. They know things but implement them poorly, so we end up with weird situations like this. 100 transforms due to 2 colliders and 50 transforms? OK. a few for just boobs and cat ears? NOPE
stupid question is there a way to reset armature transforms done in unity.
I guess it depends what you are trying to reset, but changing the rig type from humanoid to generic and then back to humanoid will usually be enough to reset it to how it should be.
In the scene, you can simply select all transforms and do revert to prefab in the Transform component.
moved some of the armatures rotation.. and forgot to reset it before changing projects so cant undo..ended up redoing the work
In the rig, you can Pose->Reset and Pose->Enforce T-pose
tried using revert when it was selected
u can always only make changes to a duplicate
u should like never ever actually do animating or bone manip on the original version when in editor mode
duplicate it no matter what unless just adding components or smtg just in case
Can anyone help me out with some final touch ups to an avatar?
My model has 9 tails, and I want them to have dynamic bones. Each tail has two bones. Is it more effecient to create a single parent bone, which all tail bones are attached to, and apply the dynamic bone script to that, or is it more efficient to just apply the dynamic bone script to each of the nine tails individually?
1
Thanks
That's actually debatable, it has yet to be confirmed if multiple db scripts cause a substantial enough framedrop to use a single root, which in it of itself adds another transform, also depending on what it is, a single root may work well or horribly as dynamic bones work based on the main root bones' pivot, so their angle and location dictates how everything else moves
Every dynamic bone component has a little bit of an overhead by itself, I generally recommend using root bones and applying a stiffness curve so the first bones aren't moved.
Makes it easier to work with, too
To optimize an avatar with multiple materials but NO TEXTURES, it seems that CATS does not know how to deal with this.
Do I have to like... make single colour textures for each mat before I click optimize?
you'd probably need to manually atlas them
If everything is colored via albedo you could probably just add a 16x16 white texture to them all. You shouldn’t have to but maybe that will solve the problem
Well, I did that. 😛
Why do I get the avatar too short error? It's taller than the example! (the skeleton is right too...)
Even if I make the avatar HUGE it doesn't matter.
Okay... just... exported FBX, made a t-pose through mixamo, imported again... works.
Probably the rigged pose is too low
It's... identical visually.
So maybe something in the data was confusing it.
You could be right. Maybe there was a pose in there with the bones too low.
Cats make little cubes when using material with color
any idea how to fix one eye being higher then the other
@forest trellis It depends on what the issue itself is really.
The things id check for are;
- Are the bones for the eyes parallel to each other?
- Are you sure one eye isnt currently looking at something while the other eye is looking else where? That is something that can happen
- Whats the range of your eyetracking? Its possible that you need to lower the amount
- Are the meshes for the eyes parallel to each other?
Regarding the first question, LeftEye and RightEye bones are rotated to orientation 0,0,0 because of how eye tracking is designed, so make sure it looks good when you rotate to that
some of my avatars have dramatic 30-40 fps loss local to my client
this is in an empty avatar testing world with just me alone
i have avatars using essentially the same shader settings and even have like 3x the dynamic bones and they perform just fine
ESC Menu -> Avatars
Do "connected" bones in blender make a difference in unity/vrchat, if the head and tail are already at the same position anyway?
or should they still be unconnected anyway
connected does nothing outside of blender
it just means that head and tail are joined together and u cant move one without moving the other
@amber hemlock it doesn't matter
All that matters is where the bone's head is, and in some cases it matters which way the bone is rotated.
Does 65k polies vs 30k polies make a big difference in terms of optimization?
To a certain extent, yes.
You should go as low as you can
Just like how you should keep materials and dynamic bones low
It won't kill people's PC's to be at 70k though
It also matters whether the polys are on a skinned mesh or a non-skinned mesh renderer
In one case I split 40k vertices off of the main model and turned it into a static mesh parented to the head bone instead.
Slightly worse according to performance rankings but it didn't knock my rating down and was more optimized
Hey @surreal topaz could i ask something
Not sure why you're pinging me specifically but sure
This is a public discord, nobody is stopping you from asking anything
oh sorry I am used to pinging cause alot of people use to do that to me ;/
My unity keeps failing and not working I would like to know if anyone can help me upload my Overhaul Model and let me copy it?
just wondering
@steep acorn my suggestion is to start a new unity project and only import the sdk the shader you want to use (any stuff like dyn bones) and the model with its textures/materials (there may be some assets or script messing up unity for you)
It wont do anything sadly
as in crashes at launch?
yep
delete your project folder (backup important files (materials etc)) and then start it again anew with a new project
deleting all.meta files may work too
will cause unity to re hash everything (can take a few hours)
er
i have problem http://prntscr.com/mm4kiz
did you remember to give your visemes a mesh to use?
all the way under your avatar's armature is your mesh, and it most avatars it should be labeled "Body," assuming you've combined all of your meshes
also u need to set every slot
im trying to create an texture atlas but when i installed the addon i restarted blender and its still telling me to restart blender how do i fix this?
On windows?
im on windows 10
Which Blender version / did you install it from blender.org
i have blender 2.79
I have never gotten past that error on mac on the latest version. I'm still running an old version. But I'm assuming it works for most people. Anyone ever seen this?
When I change my avatar, my avatar's material doubles. Does anyone know what the problem is?
my understanding is this could indicate extra materials embedded in the fbx or animation material swaps being loaded
(if you have 7 materials in the fbx, and you later drag materials into the Body mesh by hand, the materials originally embedded in the fbx may also get uploaded... to avoid this, maybe try and edit the material reference slots in the fbx directly and see if it helps)
the stats show the current number of materials so if some things get loaded later like in animation Material Reference or disabled game objects, maybe that is also related
There is only one material that I have hidden.
@hushed gale do you use particle systems?
Material calculation seems to be bugged locally
Bounds have been bugged for a while, so have dynbone transforms
@surreal topaz No I didn't use any particle systems in that avatar
And it doesn't seem to be a locally matter
When I requested for avatar world and was rejected, the number of material in my photo was 14.
just a simple question, does an avatar need to be at the middle ( 0,0,0 ) of unity to upload correctly?
Avoid rotating it but everything else is fine
Moving it on the Y axis is also fine
na cuz it will complain that feet are under the ground
That only ever happened to me when I edited the humanoid rig
it might be when an animation puts the feet under the ground then
Your avatar is put into a prefab which is then spawned at local position and rotation, only the scale is kept
Yes
That can cause it
but u rlly shouldnt need 2 be moving ur avatars around anywhere unless u have a display version
Some people have several avatars in the same scene
cuz its much better 2 have them organized in their own scenes
I agree on that
ye cuz theres less stuff there and u can just load and unload avatars
same with changing lighting and etc for different display scenes
the more clutter in a scene, the slower the upload?
probably not but its just overall worse to have them in the same scene
bc theres first small performance hit for each character, theres also a lot of characters in the scene that u will have to collectively hide or just leave spread around the whole scene, theres too many avatars in the scene and it becomes cluttered, if you mess something up in the scene it may affect other characters, making different lighting and scenes for posing is more difficult
i only have max 2-3 characters per scene but they are the same
1 is the actual avatar, 2 is the avatar posing for thumbnail, 3 is animations testing, i animate that avatar and do other stuff to it
also i just like the workflow a lot better
bc if u want to load something u just drag it into the hierarchy and boom
if u dont need 2 edit something anymore just unload or remove it
easier 2 keep track of things and organize them, especially when u get into the like dozens of avatars
@hushed gale you can have up to 15 materials, yellow should not get denied
and that sheet counts Active by default materials
this is all in blender as well
So yeah, using the CATS/shotaryia atlasing and, it makes the model blue like the highlighted texture on the right side. I figured out it has something to do with transparency so I played around selecting different materials for an atlas, but it's always something - entire skin, or the eyes, or something else becomes blue. I'm not really sure what to do, tried deleting textures that I though could be causing issues and I'm running out of newbie ideas. Any ideas how can I get it to work, or am I off to manual atlasing?
the highlighted image is a normal map..if try changing the image type in unity before applying (select the image in the project tab and in the inspector at the top choose Normal image as image type)
move the 2nd image in ghat list to the first spot before atlassing with cats (simply use the arrow button)
Oh wow, okay, that works, thanks.
There's still some issues with the eyes, but I'll try to figure that out
Yep, just had to manually move the normal maps lower in the hierarchy.
THANK YOU.
I put stuff in the same scene because I have a lot of posrots to copy and paste every new fbx revision
Hey, anyone know what I should put on a ShyGal (red) for her gestures?
I've only got ger holding a bob-omb that I'm prob gonna replace
This does not seem to be an optimization question
guys
i made an optimized model
hair has no bones
you proud of me @surreal topaz
lol

because i didnt go back into blender when i realized i didnt need thigns to be the same material
er
well
i cant type
but hey
i made a world that is optimized
l0l

It's all about the

Excellent needs to be an official emote here
servr need more dogo emojis
Ill also make an optimized avatar
Soon ™
when eventually i wanna make a boring generic male avatar 
Hey, I'm having some trouble with my avatar and I thought maybe someone could possibly give some advice? It tells me I should only have one skinned mesh renderer, but I have no idea how to make it into one. I searched online, but didn't find anything at all and I really don't want to be a nuisance for other players by having a laggy model. Any help would be really appreciated!
@sonic fog go back into Blender with your model and join all the meshes.
Just select them all and press CTRL+J
Alright, thank you. I'll download Blender and try that out.
How heavily consequential has Avatar Optimization gotten since the update with Avatar Stats? I've not been around for a bit, but recently got back into it, and the threads over on the Canny make it seem like people are going nuts over it, and the whole weights thing.
People are just going crazy because they don't want to learn proper optimization. 🤷
If people learnt how to do it correctly, their avatars wouldn't look much different, but perform drastically better for everyone.
But instead, people assume "Optimization!? You mean I need to remove every feature from my avatar!? No! I'm going to complain about this!" 
More than anything, everyone flipping out is just people kind of a misunderstanding of what optimization is. 😅
My opinion of the optimization ranks is that they are more than fair. It is very easy to get an avatar into medium and good. The only thing people hate is using dynamic bone colliders is heavily penalized. I’m not any sort of authority on the accuracy of that, but I never use dynamics anyway
All of my stuff is excellent or at the worst, good, due to custom animator components
I have a question about Atlasing a character. it's not mine but I been trying to google information but nothings coming up.
Upon atlasting the character to reduce material count, the face and chest receive a large seam down the center from a distance.
is there any way to fix this?
@heady smelt manually atlasing?
You have to increase your margin size while baking
A 4k atlas requires a 32px margin in my experience
This happens when the UV's are too close to the edges of the textures or their islands, more margin prevents that
You can also manually fill in the texture edges in a photo editing program
i think they did an automatic blender atlas but will attempt a manual.
What could be done for the automatic if anything?
Not much.
Manually filling in the islands a little more and setting the texture mode to clamp. @heady smelt
asked this once before but do you think animators from inventory systems will cause significant lag
i've got like an extra 14 on an avatar by arming it with chair and other toggles
Just released a new atlasing and color mask tutorial with the newest Material Combiner and Cat's Plugin. https://www.youtube.com/watch?v=snx7_2G5xx4
This tutorial will teach you how to use the Material Combiner and Cat's for Atlasing. It will also go over in Unity creating a color mask for specific areas ...
Hopefully this helps with reducing more peoples Material counts but keep the amount of customization people like.
@heady smelt The Seam was actually always there or at least, seam bleed was always there, you just didn’t notice it because the bleed was the same color as the texture. Anyway you can fix the now-visible bleed by making sure the opposite side of that texture Square has the same color as it’s opposite edge
This will happen on atlases whenever models have seam bleed that loops over the edge of a texture, changing what color is over the edge makes those seams visible
I don’t think atlased can be made to detect when this happens automatically, Cats atlas is lossless except for this situation
I think you can fix this by setting the texture mode to clamp
But yeah, margins and seams is something an auto atlaser will not be able to always fix
Even if you set the texture to clamp, a texture not at the edge can get seams too if it relies on a wrapping or clamped texture
Clamp does not fix it because it’s an atlas and it’s not actually next to the edge of the atlas
Clamp will fix non-atlased textures with this issue though
I mean if by luck he texture is on the edge of the atlas clamp will help
My friend tried one of the steps, not sure which but first was increasing the margin, 2nd was the clamping. of those whatever they did, it worked. the Seam is gone
Clamp will work if the seam just so happens to be on the edge of the atlas but if it’s in the middle clamp is ineffective so the margin saved you
One more reason why I stick to manual atlasing
I tried the material combiner once and got the same seams, I left it as-is
Yeah I mean I want to blame the original model creator for having edge bleed but you can’t be too mad about looping texture edge bleed
I do really like cats auto atlas as it really is lossless aside from that one situation. I usually keep the atlas and just manually loop the edges of the textures in the atlas itself to get rid of the seams
aka edit the atlas image itself to loop the texture square a little into the one next to it copying from the opposite side
As long as two uv’s weren’t placed next to each other it works out flawless
Hey, does anyone know the shader to make a 3rd person view without the use of the igame Camera ingame. PM me.
^ I would like this as well
Answered camera ? in #development-advanced
uhh?
@fierce copper you may have a fucked up shape key
Or just a shape key that makes something go very far off
Test all the shape keys and see if any make your model go "crazy" or make something like a pair of glasses/a hat appear from the distance.
If so, remove the shape key and/or fix the far-off geometry
how would i test
Just slide them in Unity or Blender and see if the polys get fucked up
Alternatively, manually adjust your Body's bounding box back to normal sizes, then set the "Anchor Override" property to your Hips bone.
fixed it thanks man
I was sitting here slamming my head wondering what the hell i did
Hm, apparently, I've reached a point where I have medium stat model regardless of whether I have the two colliders or not, so I'm considering putting them back in.
Yeah, if you can't get medium because of other factors you might as well be medium across the board.
Welcome to the performance rank system lol
No point in optimizing if it won't change your rank
"Your model is excellent across the board but you have a non-emitting particle system with more than 1000 polys total. Sorry bud, that's a Poor."
@warped sparrow I think 32 transforms is the upper limit for medium. Ask someone else, I am 99% sure you will appear "Poor" ranked to them.
Because dynamic bones are counted wrongly locally
You appear with like 1 or 2 transforms less locally, so you're actually in Poor category
Ah, yeah, I'll get someone to check it out
Thanks for the tip.
I admit, I kind of understand the reason behind it and what we're going for, but I do feel like it's a little overkill to be green across the board, and even be doing a lot less with dynamic bones that usual because I've been keeping these stats in mind, and yet it still ends up like this.
But hey, maybe it'll get adjusted for weights, someday.
You can see the guideline for the ranks here https://docs.vrchat.com/docs/avatar-performance-ranking-system#section-avatar-performance-ranks-value-maximums-per-rank
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 purely informational at this...
I got down from 36 to 30 dyn so am mefium .wow such optimisation
Yeah, 70k
I think I could probably remove two more components, and get rid of five more dynnerbones without compromising the original idea for the avatar, but I don't think that'd be enough to get it to the next rank of optimization. I'll probably just trim some transforms and get my colliders back in, and call it.
I wonder if it'd be a good idea to, instead of just ranking avatars by their lowest category, instead do like a weighted number ranking, kind of like an Avatar Credit Score thing
I think almost everyone agrees that would be better
If you're poor in one category there is zero incentive to optimize past that
don't try to decimate to like 69,999 tho

question question, how badly do rigid bodies have a toll on people's PCs?
currently my avatar is rated as very poor due to its count of 9 rigid bodies
4 of whhich are fixed joints
y do u need em
i used some on the two gun turrets on the sides of her torso to make them move in sync with her head, as well as two more on eachc of her wrists to move hidden particles bound to a gesture
i think i can remove the ones on my wrists
if it for particles just use IK_Follower
also for guns u can use final IK but expensive
yeah
i cant afford final IK yet
i can use IK follower for my wrists tho!
so thats 5 gone from my model
also people have like
multiple arms with like 72 rigidbodies
idk how bad they hurt performance (but ik colliders make it worse)
72 rigidbodies ...?
be crazy why not 
@pure bridge rigidbodies with frozen constraints or ones that are kinematic will barely incur any performance cost

um....
hm
@dim shard basically go around joining other worlds and gaining hours, you cant sit and AFK around
you have to actually play the game, once youve done enough hours you'll get a notification or email
its really dumb
you're telling me that I have to play the game for a few hours are ordered to do this
" Becoming verified by the trust system is based on reaching a not time based trust score, which's exact algorithm is unknown to prevent exploitation.
You presumably need to play the game in a normal manner with your VRChat account, walking around, meeting people and also making some friends. Idling won't help.
According to many responses in this discord, a rough estimate would be ** 20-40 hours**, but big exceptions are possible.
Make sure you are not using a steam or oculus account because those can not be verified and continue playing the game until you get a notification or e-mail.
http://help.vrchat.com/knowledge_base/topics/why-cant-i-upload-avatars-or-worlds-yet "
okay thx a lot
lol literally what I said
Can anyone explain what I need to do to this avatar to allow my world to be public
Apparently it's performance isn't good although it says it is
Bruh your avatar is fine, why aren't they allowing the world to be public
Now I shall wait even longer -_-
Email hello@vrchat.com
:,)
Gosh
is there someone we can contact without emailing?
Is there not a fix to the issue
i have a feeling that it's an error by whoever checked the world
the issue in a way should already be fixed
we just need someone to double check the avatar
because there are definitely not 17 materials on it
There isn't 17 materials on it, so this was wrongly checked. Is there not an admin I can speak to that could recheck it
And if there is an issue with the avatars, I'd like to know what it is. Because right now, it says nothing is wrong.
@heady smelt how many material slots do you have? Any particle systems anywhere even disabled
World reviewers care about number of slots not unique materials
that's a question directed towards me
it's my avatar
ill double check but im pretty certain the answer is no
Oh sorry missed that bit of context, thought they were two different discussions. The check is done by a script not by hand so it's not a random error. It will happen every time they review that avatar
6 materials only
You sure you are checking the right avatar? Maybe you never uploaded it after optimizing so the stats don't match your unity project
It says two skinned mesh renderers. You added both of them up and only see 6 total?
yes
They will recheck it if you email them
I heard from one person that replacing material slots from the original can also count towards the limit but it would be double in the worst case
Any particle systems on it?
Ohh, there is one more thing
They made an incredibly weird decision
That's probably why this is happening
The ingame performance meter only counts unique materials
But weird if you didn't change anything. Also remember disabled stuff can count toward the limit in some cases while unity might only count enabled
The bot counts material slots
hmm
You probably have the same material in several slots, which is wasted optimization. Combine same materials in Blender.
Even empty slots count. In some cases stuff like an empty trail slot in particle systems might too
I dunno why the ingame rank only takes unique materials into account
I got a pretty laggy avatar by spamming the same material 200 times
If he does end up fixing that, would I just have to reupload the world?
Just the avatar and a resubmit is fine
yeah i thought so
But you'll have to wait at least 24 hours since the last submission
Not since it was judged but the previous submission
Okay thank you so much
ok good
i learned how to do emote toggles so i can just have one animator for my chairs instead of like 12 different ones spawned by the inventory script
Cool. It's fairly straightforward once you get in the habit of it. I would make sure you have a reset gesture to make sure you get things back to default state as a single animator can get desynced really easily when people aren't looking at you or they join late
actually, anyone know much about how splinks chair works? not sure if deleting the animator out of it will nerf its ability to seat different sized people
Do you have a link to that prefab? Is it for avatars or worlds
oh yeah im just using it to enable chairs really, so its not a big deal if people can't see them
its for worlds but ive had success using it on my avatar https://github.com/splinks/VRChat-Customizable-Fixed-Chair
True: I've been playing with particle based toggles to have locally enabled chair toggles on UIMenu so others can turn on my chair themselves
o wow that sounds pretty rad
So completely desynced. It's still really glitchy so I have a lot to debug.
yeah i can only imagine something that complicated runs into that way more
I'm worried splinks' prefab was designed for worlds and uses triggers instead of just plain animators and gesture based controls
hm
yeah now that i look into it
i think the main function is you can like, move it up and down locally
in a world
maybe the fact its worked well on my avatars has been a placebo or something
I'm sure it works well in worlds but the challenge is on avatars. I think the hips can be locked in the right spot regardless of avatar size so for sitting in your hand it should work for any size avatar
I'm not sure which part of that locks the hips in place though
allright i think its just the animator that's on the chair itself
down to only 3 animators now whew
yea the animator is wat does it
moves hip down to the feet
so that the center of the chair is hip instead of feet
Does anyone know how to deal with that issue with tall avatars where they'll sometimes just start doing squats when you look up/down?
Hmmmm
well the other issue is that the avatar is supposed to be sort of hunched, but in-game the head is pulled further back and up, so the viewpoint is more around the neck area
Would that have something to do with it
Yeah the offset of view position to head pivot point needs to match your real body to not induce translation as you tilt your head.
Okay so is there any easy way to fix that
The way VRChat uses the humanoid format doesn’t really expect a hunched over avatar. You’d need to make a rig that looks hunched over but has an armature is standing perfectly straight
Messy but possible
Hmmm I think I've tried that before, but it's just been really scuffed
Any good tutorials for the process out there that you know of? Or am I just gonna be limited to trial and error?
I don’t know of any and yeah I’d guess it would be pretty scuffed but sadly the humanoid avatars are just assumed to be standing up straight they don’t really get their custom poses, except on desktop if you override idle, but vr mocap overrides everything
I'm on Desktop, but that's somewhat upsetting. Oh well
Would it work to just move my view position to where it would appear in game instead of what it appears to be in Unity?
If it’s personal and you don’t care about it working in vr, yes.
But a vr person would actually need to hunch over lol
Fair enough
would moving the view position like that fix it being offset when in game?
Yeah you’d need to rise the view position; that will put the camera in the head. It won’t make the avatar hunch down though you’d need an idle animation for that
The default humanoid idle animation stands you up straight
And once the view position height is fixed as Rokk said adjust the forward-back axis of view position as well to remove the shuffle when you look up and down
You may have to eyeball it because it sounds like armature isn’t t-posed. Which it doesn’t need to be, it just makes setup a bit more annoying.
More of #avatars-2-general territory now
Gotcha, thanks for your help!
Does anybody speak python?
I was just able to create my atlases 10 minutes ago but now it's like "nope".
its a bug with the addon
if it happens every time 4 that specific model nobody here would know how 2 fix it probably w/o looking at most of the code themselves
so best chances r 2 put that model off and sent report 2 devs
I guess I'll just upload with 11 materials. OH NOOO
i mean u could always not b lazy and atlas urself if it not work...
You wanna atlas all my spec maps, height maps, and normal maps for me?
lol
i mean like
the process itself u can do different ways
usually ppl will do more pretty way of like
moving the UV maps around then baking everything
or moving the UV maps and then the images also
I really could spend hours atlasing, but I'd rather go play VRC.
So spending 5 minutes is preferred.
ok then send a report 2 the devs of the combiner tool
which isnt rlly CATS devs
but they might fix it who knows
i mean yea u could just upload it with 11 materials but good luck with a very poor rating
Was just seeing if it's something that's got a fix real quick before I decide to not stress about it.
only avatar i got that very poor is a 4 armed one bc extra limbs ++++++ rigibodies
The rating system is still broken anyway.
ye
11 materials is not very poor
It's medium
10 is just the suggested limit for public worlds
o
all mine have 5 at most
at least active at the same time
bc some of mine have around 20 or so materials
but different clothing meshes that are toggled
Well, I've been trying to atlas a bit more, but most of my models are the type that come with all those nice maps. And manually atlasing those is quite painful. The multicombiner was actually pretty handy until I borked it.
@smoky lantern it's because you are in edit mode. Make sure you are in object mode
I was in object mode.
Would a unity editor script to combine textures be useful or detrimental to optimization?
I noticed the word "OBJECT" in the error so I tried it.
doesn’t the optimize game objects option do this in unity @distant forge (whenever i hit that it completely borks all textures of said avatar)
@distant forge an editor script to atlas textures and join meshes automagically would do wonders for optimization, I know a lot of people just aren't comfortable touching blender at all
Is that even possible?
Optimize Game Objects just turns the whole thing into one game object essentially, not much more
@kind hinge I don't think LOD's are used in VRChat on avatars
@surreal topaz possible? Sure, it could generate a new fbx asset and materials, weight the vertices merged from normal mesh renderers to the appropriate bones, and construct a new avatar based on the merged mesh. It'd need to be a fairly complex script of course
Ok thanks I thought all games used them as even turbosquid models are sold with lods
@opal pecan I have mesh merging implemented here: https://raw.githubusercontent.com/lyuma/LyumaShader/master/LyumaShader/Editor/LyumaMeshTools.cs?01
It doesn't create the fbx, it's in unity asset format which means you can't easily fix up stuff if it is messed up.
Though only works for skinned meshes which share a common root bone atm
yea u can use a shader to render less verts or swap models
basically tesselation but no increase in quality
but thats not rlly what lags in vrchat
@distant forge handy, but I suspect most people working with skinned meshes probably are in blender anyway to merge armatures/etc. Covering the case of regular mesh renderers parented to a bone would help with folks who just want to attach an accessory (or two, or twenty...)
Still, nice work :)
I might plan to fix non skinned for exactly that case. Only thing necessary is to translate the vertices to the relative transformations and apply 100% weight painting to the bones they were attached to
Probably need to make some UIs for the more complicated cases instead of automagic just do everything. I'm trying to gauge if this is something worth working on. I'm worried these types of tools could incentivize people to download pirated models from garbage websites and kludge things together in unity instead of learning to do things the right way.
i would just recommend making
a tesselation shader like i mentioned thats a bit smarter
so that it lowers quality without making it look 2 bad
but hard task
I don't think you're talking about the same thing I'm talking about (?)
well sorta
automatic LOD
like how tessellation can improve quality when u get closer
same concept except backward
i mean also wouldnt it just end up saying the model has 2 many polys anyways
I kind of jutted in my comment into an ongoing discussion but I have been working on some scripts that allow you to do limited set of mesh operations directly in unity
also i wished they would patch the infinite polygon bug
bc active meshes are the only ones where polygon counts matter
LODs is an interesting discussion but I don't think the overhead of extra shader stages is worth what you gain with slightly fewer polys
some trolls been making an animator that enables the mesh after 1 second
which loads in several models with like tens of millions of polygons each
or do it on gesture
Trolls will be trolls. report them and move on
I mean yes you can break the optimization system in a hundred ways. That's not the point of the stats
Gpu particles have one polygon per particle and work fine at a few million if you are far away
Well "fine" depends on a lot of factors
its scuffed oops
do u have 2 use some sort of buffer or whatever 2 store data about the shader for reuse like the gpu particle
Anyone know how to properly combine skinned meshes? It seems every time I attempt this, it just undoes all my applied textures.
It's the one thing that I'm struggling with when it comes to optimizing my avatar.
In blender? Ctrl J will do it. Shouldn't affect any materials
Should not affect materials. Or are you talking about atlasing Using the material combiner plugin should do the right thing
if for some reason the materials aren't mapped properly, you can manually drag the correct materials onto the slots on the inspector for the skinned mesh renderer
I drag the textures into the inspector in Unity and the textures appear properly. But as far as I can tell I can't combine the meshes in Unity. And attempting to pull the model into Blender seems to make it lose the textures I applied.
Just going back to the basic materials
Blender shows materials differently from unity but if you merge a mesh in blender it just adds them to the loat of materials, doesn't change anything ao it should actually continue to use the same material names in unity. But if you want to atlas you need to make sure to import all the textures into blender too
(Unless you are atlasing or doing texture edits in blender it doesn't really matter what blender shows)
CATS has a fix model button that can help fix up material mappings semi-automagically, but it makes a lot of changes that will probably break FBX overwriting. You can manually map the materials in blender though; I think all you need to do is select the mesh, selecting the sphere thing in the data window, then for each material in the list setting shadeless, Z transparency, alpha 1, and setting the texture under MMD texture to get a basic texture map going. It's not going to look exactly the same because it won't have the right shader, but that should get you to the point that you can see what you're doing
I thought cats had a link to the atlas addon which it has a button to do automatically once you have it
In my experience though it dropped the texture resolution a lot, so manual atlasing is better
Although I couldnt get manual atlasing to work on my model, likely an issue with the way it was uv mapped. But it wouldnt draw the textures the way its supposed to, resulting in random textures in the wrong spots
You should use the shotariya tab directly: that one lets you retain the original resolution (at least the older version used to)
Cats atlas does not change resolution. At all. It’s a lossless atlas. However the huge texture can end up downscaled in unity unless you disable downscaling/max res on the texture properties in unity
Ohhh right that's true. Don't know it might even be 2048 by default. I try to keep my textures close to 4096 anyway so I wouldn't be sad if it scales to 4096
so uh i try exporting a face tga that is a texture file from unity to edit some stuff in blender but the face file only shows up white once out of unity
Export from unity?
u dont need 2 export anything from unity
if its a packaged asset just load it directly from unities files
is it able to take it OUT of unity?
yea
also blender can read tga files literally just set them there
also if u dont have an application that can open them (which photo viewer might do) u can try paint.net
or converting it
yeah but when i take it out of unity
its either black or white
tga, if i convert it jpeg or png it makes no difference
No progress yet made
thanks pops
Sorry to ask again, but I need a little more help if anyone knows how to fix this. I figured out the texturing issues. Now when I combine the meshes in Blender and attempt build and publish the avatar in Unity the animations seems to break. I added an image for visual reference. Anyone know how to prevent this?
@still perch Was it the alpha channel again LUL
Ofc
@still perch Why didn't you say what you did to fix it? 🤔
@uncut path this does not seem to be an optimization question. Go to the humanoid rig configuration, go to Pose->Reset and Pose->Enforce T-pose at the bottom. Then apply.
can I optimize my avatar without a drive?
a drive?
hello someone knows how to solve this problem is a model already echoed has an error in a bone
someone to explain to me
@dense shore you can ignore that error
In blender. When you chose full body fix a text appear and say to ignore this error
@scarlet urchin but it does not let me do animation with https://www.mixamo.com/#/?page=7
and I wanted to know how I solve it
I also downloaded this but I really do not know how to do
look
here there is no mistake then I wanted to transplant that part of bone that is correct in the other is possible?
I think I saw how the link you sent me (practically tells me to go to blender and modify it and it happens again) but at that time I died because blender was not used
jejeje
the solution
😮
😅
yep
@scarlet urchin Thank you
👌
I thought it was important for animations
Where did you tell me to pass the subject? is that I'm blender with that plugin at the time (I'm nob but self-taught)
autodidact
I finished
woojuu
Is there a maximum amount of bones you’re allowed to have for a public avatar? Or is the limitation only on mainly dynamic bones, colliders etc? Just wanna know cause the hair mesh I’m using looks like it has a lot of bones. I’m new to this stuff.
there's, sadly, no limit at all. you should be merging the bone weights though
If you update cats, it will no longer have that zero spine length error in unity.
It’s disconcerting because I’ve grown use to expecting the error to know if fbt fix was applied or not lol
I think it depends on the model
Some models still give that warning, and the warning is supposed to happen because you're actually giving zero transform length to the spine.
It's weird since the new unity version, sometimes you get that warning, other times not
Does CATS overlay any bones over it?
The error in it of itself isn't caused by a literal lenght of 0 but instead due to unity not understanding where a bone is due to another overlapping it
Otherwise the error should be non-existant
Well, the warning is caused by having the hips and the spine be in the same place
Unity has no concept of a bone's "tail"
Yeah, although it sort of understands them to an extent (different orientations get some different results and even rolls influence that) although in terms of the bone's pivot, that always comes from the head, that concept is true even in blender
Pivot being the "Root" location of the bones main rotation point
Unsure of the exact reasons regarding FBT for that to be a requirement, but couldn't the bone head be slightly displaced (enough to maintain the same or even better functionality achieved by trial and error) as to not overlay it completely?
Aside an error message, it functions (as far as i've understood) the same way, so there's no imminent reason to change how it works, but i'm curious nonetheless
Bone tails are converted to gameobject rotations. This conserves direction and spin but not length. Length is only known on terms of having at least one child bone
This’s also why if you load the fbx back into blender it has no idea how long the last bone in any chain is supposed to be and just puts the tail wherever
To my knowledge fbx does not
Oh, I guess you're right. That's why "end bones/leaf bones" exist
I recommend never exporting with those though
Some people use "end bones" for dynamic bone reasons, such as giving ears and breasts a little more sway. That's a bad idea, you should use End Length or End Offset instead.
End length is wonderful on shorter bone chains, it makes the last bone in the chain actually rotate rather than only be moved around. It can also be used to make dynamic bone chains that are only 1 bone long
To give a bit of rotation on something that hangs from your hip for example
pivot bone + actual bone + end length = nice wavy boobies ☺
The setup I've currently been preferring is one bone per breast, parented to a Root_Breasts bone
And then also end length
i use pivot for each breast bone + end length
That also works, it's basically the same setup as the one I described but I think the movement will look a little better if you use one pivot bone per breast
I should try that out next
Sounds like a good setup actually, just adds one component and one transform
yeh, it looks amazing with good dyn. bone settings
Yeah I told someone about end length and they treated it like the second coming of Christ. The cried about reuploading everything
I wasn’t even aware pivot works on avatars
Not sure what you mean
What Yuumi means is that there's a separate bone between the Chest and a breast bone that controls where the breast bone pivots around
And if you then give it end length, the breast can also properly rotate up/down a little rather than just move up/down
Yeah I still don’t have the logic down about end length. I know it makes the last bone in a chain animate if it’s non-zero, but I don’t understand what the length actually changes
It took me a while to grasp how dynamic bone actually works
It helps if you turn on the radius just a little bit
Basically, every affected transform (including the root bone) is a white sphere. The white spheres are connected by white lines.
These lines are essentially affected by physics.
A line can never become longer or shorter
If you have a lot of downward force on skirt bones for example, the skirt will stretch out a lot
Every frame, dynamic bone is simulated using the spheres and lines. After that, the positions and rotations are actually "applied" to the game objects.
The last bone in the chain has no children. Therefore, it will only be moved around by its parent, it won't actually rotate on its own.
End Length/End Offset give it a "fake" child that is also simulated
This (unoptimized) skirt for example
If I give it a very high downwards force:
The first skirt bone stretches out a ton
That's because the first row of bones is being pulled down
It's actually easier to grasp if you turn off your mesh and play around with the dynamic bones in play mode
Just only look at the lines and the spheres
Now if I add more end length, you'll see that the transform chain becomes longer
While the "bones" at the bottom are fake, they still influence their parent. If I were to move one of those around with colliders, its parent would rotate.
This is one more reason why you should use root bones and not just put the dynamic bone script straight on the hips/head. The root bone is also affected by the script.
The most "correct" way of doing skirts is actually to put a dynamic bone component on each skirt bone chain. But this is laggy, so you use a root bone with a stiffness curve instead. That way, the first row of skirt bones doesn't move up/down or get displaced
I feel like I dodged a bullet with male avatars. The primary use for dynbone is long hair, breasts, and skirts :p haven’t had to mess with this much haha
Thank you very much for the explaination, I didn’t know it was simulating the connections between game objects
But I get what you mean lol, I've been favoring models with actual pants because they're easier to optimize
The latest few I've been working on were only 24 dynbone transforms without me deleting or merging anything so that felt good
Skirts are hard to optimize
Bald, with pants 👌
anyone no how to fix ti ears from going into the head
set your avatar from humanoid to none, confirm the change, then set it back to humanoid again, and check all your bone configs to make sure they're mapped correctly
My guess is at some point the model was taken from unity back to blender, modified, then back to unity again, which can cause your model import settings to be using old data. happens to me a lot
ye only when changing bones usually
u can also try checking how its posed in the config for it and also dynamic bones may reset orientations of chains 4 rotated or modified rigs
they would need 2 be removed (copy first), revert the bones to prefab (select then do it on the transforms by right clicking) then paste the component back in
can anyone tell me a good dynamic bone setup for the scarf on my avatar if so then please @ me or message me
cloth might work pretty well
be aware that it will add 2 collider count
also make sure it not have a lot of vertices and is single faced but shaded with double sided shader for best results
would also need 2 separate it from the original mesh
Select all your meshes in Blender and join meshes with CTRL+J or the "join meshes" button in CATS @uncut slate
You'll have to put it back into Blender then. This is a step that will be necessary for most models
If you have the .blend file use that, otherwise import the FBX into Blender.
https://twitter.com/Alease_VR/status/1101593932700377088 thought I'd pop this in here for people who are new to the modeling/texturing side. Basically instead of adding those extra polys use height mapping instead.
@fleet summit you could force the poly's downwards or rig both of those piece
how can i do this?
This does not appear to be an optimization question.
Depends on texture itself, look at model from a distance and different resolutions. Mipmaps reduce aliasing at distance and high view to surface angles
@amber hemlock mipmaps make your textures look better and more performant
I recommend leaving it on if you can't see a difference anyway. You probably will see a difference from a distance.
Especially in VR where you have very small head movements that can already affect how the texture will look
In a nutshell, if it's 3d and you see it in varying camera distances, use mips
I sometimes turn it off on 2D imagery although I always check first
I heard you should definitely turn it off on skybox textures or cubemaps
Among other things, to prevent seams
If it's 2d or you only see it in 1 camera distance, disable mips as it literally just adds weight with no benefit
Yep for skyboxes should be turned off
- setting wrap mode to clamp - very annoying to see seams on skyboxes >.>
Do you still need clamp without mipmapping?
It's probably a safer option anyway but just wondering
I think you might, not entirely sure if seams are caused due to mipmaps, but they do blur out along the edges, causing the issues i mentioned prior that happen rarely
Such as white pixels on an image with a transparent background
Not sure why but even with mips disabled i still get minor seams with repeat mode
Even with point filtering >.> (could be graphics driver settings influence)
Hm. Honestly my clothing looks better without mipmaps, you can see the tiny grain detail. Hair looks better with mipmaps as it aliases less
Mipmaps seem to blur small details
@marsh trail if you have seam bleed at all, mipmaps will exacerbate it and make it obvious at a distance as it’ll get worse with every smaller mipmap. But they don’t cause the issue, they just magnify it
The smaller the mipmap you use the more margins and bleed zones you need on your uv’s
Oh nono, i recall distinctively helping someone that had issues related to such, the mipmaps were generating white pixels around a completely transparent 2d image that someone was setting up on a tree mesh, this happened both upclose and far away, disabling mipmaps fixed it entirely
Oh ok that is difference
Even transparent pixels have color, his transparent pixels were white instead of bleed color
So the mipmap faded outline to white
More and more
I think they tried setting the alpha layer's color to black iirc
Unless you're talking about something completely different
Alpha channel*
Yeah ideally the full texture should be green or whatever if it’s a plant and use an alpha mask layer to make the alpha so it does not drop the color of transparent pixels to “losslessly optimize” your image. Most image programs assume the color of fully transparent pixels are irrelevant, but even bilinear filtering will make them apparent as you’ll see a white halo at the edge
That would be true for an image that uses alpha as a color, such as a greenscreen would do, black and white are normally used for such, black being fully transparent and white visible, however programs (as far as the ones i know) will not use such unless explicitly told to do such
There is a nice Photoshop/gimp plug-in called flaming pear that’s smears edge color into the transparent parts of your image removing all halos
I'm fairly familiar with rendering images (slang for removing background from an image making the character or object be the focal point), i did check the image myself (if i recall correctly) and saw no white pixelation
What i assume was happening, which is quite possible is that unity was generating the mipmaps improperly, causing said pixelation issue, since mipmaps are generated on demand by the application
(That's one of the reasons i like DDS files, as they can actually pre-generate and compile mipmaps into itself)
Actually, I should point out that by default Unity's editor uses low graphics settings.
In other words, before making judgements on the quality of mipmapping and texture filtering, I would recommend you make sure you're using the highest quality settings in the Editor, as only those will match how you see things in game.
