#avatar-optimization

1 messages · Page 40 of 1

surreal egret
#

Ok

distant forge
#

Yes it's often better to have two or three materals rather than one. But up to you

surreal egret
#

Learned alot here and better understand how I should approach texture in these models

distant forge
#

There are transparent options that allow for one material such as cutout or dithered (or Alpha to coverage)

#

But separate materials is simplest

marsh trail
#

Oh funfact i learned of recently, apparently this version of unity supports DDS DXT1A encodings

surreal egret
#

whats that

#

is that something I should know about

distant forge
#

Oh? This different than dxt1 (rgb only)

#

And dxt5 (rgba)

marsh trail
#

DXT1A supports 1 bit alpha

#

Kinda like cutout essentially

distant forge
#

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?

marsh trail
#

It actually supports DDS's now

#

Surprisingly with little washed out coloring on DXT1A

distant forge
#

I see, so you use nvidia texture tools? Yeah I thought dds imports in unity had weird coloring problems (srgb issues or something)

marsh trail
#

Nah i just use paintdotnet

#

Got a crapload of export and import plugins

#

vtf, agif, apng, psd, just to name a few

distant forge
#

apng? Makes a spritesheet?

marsh trail
#

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

distant forge
#

How does an apng it appear in unity? Texture2DArray?

marsh trail
#

I doubt that unity even supports apng's tbh

distant forge
#

Yeah, thought for a bit you were talking about unity import plugins.

marsh trail
#

Nah, paintdotnet import plugins

#

Ezgif can make a spritesheet animation out of a gif though, so you got that atleast

amber hemlock
#

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?

surreal topaz
#

@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

amber hemlock
#

I no longer have the non-atlased model

surreal topaz
#

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

amber hemlock
#

My problem is blender pretends every texture is the same resolution so the small texture’s Uv’s are huge on the atlas

surreal topaz
#

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

amber hemlock
#

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

surreal topaz
#

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

amber hemlock
#

Oh sweet

surreal topaz
#

For the texture itself, you can paste it using GIMP

#

Then use the align tool

amber hemlock
#

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

velvet roost
#

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?

vague hearth
#

unity polygons aren't same as blender one's
unity also count uv stuff and etc in some way due to one unity thread 🤔

distant forge
#

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

ornate sun
#

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

river smelt
#

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?

distant forge
#

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

river smelt
#

it was in play mod where it was half in floor but i managed to fix it now anyways

amber hemlock
#

Make sure in blender you are reading “tris” not “faces”. Blender’s tris is unity’s polygons.

#

@velvet roost

vague hearth
#

@amber hemlock unity tris rarely exact the same as blender ones, he, depends on topology tris or quads and sometimes something more

amber hemlock
#

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

surreal topaz
#

The only thing that sometimes differs for me is vertex count

#

Due to normals and tangents

amber hemlock
#

might be being recalculated / welded in import settings

#

Not sure how far reaching “optimize mesh” and what all it modifies

vague hearth
#

optimize mesh can erase some parts 🤔

amber hemlock
#

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

vague hearth
#

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

vestal lark
#

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

gleaming notch
#

What does it look like in-game?

vestal lark
#

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

gleaming notch
#

I'm confused, so is IK broken or are the particles not showing right?

vestal lark
#

the particles are not showing up right

gleaming notch
#

Can I see your particle setup, and what it's supposed to look like?

vestal lark
#

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

gleaming notch
#

Yeah, can I see your particle system settings?

vestal lark
#

those are the settings

gleaming notch
#

Have you tried letting the particles live longer so that they can travel longer?

#

VRChat sometimes changes the model bone scales and whatnot.

vestal lark
#

um im cofused what you mean by travel longer

surreal topaz
#

This does not seem to be an optimization question

vestal lark
#

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

surreal topaz
#

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)

vestal lark
#

lol thanks guys

gleaming notch
#

@vestal lark I mean try increasing lifetime or duration so that they travel longer.

vestal lark
#

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?

distant forge
surreal topaz
#

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.

distant forge
#

Cubed has done worse on benchmarks. Can't say I know why

surreal topaz
#

140 FPS on Noenoe Toon Outline

distant forge
#

But cpu perf is only one issue. Fill is almost as important. Also a question: what settings did you use? Opaque?

surreal topaz
#

Yes

#

Cutout vs. opaque did not seem to matter

distant forge
#

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

surreal topaz
#

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

distant forge
#

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

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

distant forge
#

That's not much code compared to some geometry shaders I've seen. But that's interesting. Also what gpu hardware do you have

surreal topaz
#

GTX 1080

empty pier
#

@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.

surreal topaz
#

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

empty pier
#

I don't recommend anyone use non-lite Cubed's.

surreal topaz
#

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?

empty pier
#

It's basically deprecated at this point

distant forge
#

It's still an interesting question why using a geometry shader for this purpose is so much worse performance wise

surreal topaz
#

Yeah I don't fully understand either

#

Compared to two passes

empty pier
#

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.

distant forge
#

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

surreal topaz
#

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

distant forge
#

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

surreal topaz
#

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

glass axle
#

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.

surreal topaz
#

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.

glass axle
#

It does have

#

but only up to 8

#

So other people do not see this miscount?

surreal topaz
#

Nope

glass axle
#

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)

surreal topaz
#

Bounds calculation may still be broken too

glass axle
#

Interesting.

#

Thanks for the help.

gaunt lynx
#

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

smoky lantern
#

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.)

patent leaf
#

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

amber hemlock
#

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

zinc crown
#

hello

#

can anyone point me in the right direction of a video about making clothes move with a model?

#

or just tell me

amber hemlock
#

I mean clothes will move with the model by default. You want them to move separately? That’s dynamic bones or cloth

zinc crown
#

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

amber hemlock
#

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

zinc crown
#

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?

distant forge
#

@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

zinc crown
#

hips go red or blue?

distant forge
#

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

zinc crown
#

Dummy leg bones sound complicated 😦

distant forge
#

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.

timid viper
distant forge
#

(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

timid viper
#

Oh alright, so it's a shader problem, gotcha

distant forge
#

Most if not all shaders support cutout . Which one are you using

timid viper
#

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

amber hemlock
#

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

ancient crystal
#

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

heady smelt
#

How do i make a model as Mesh geometry instead of a Polygon model how would that perform in vrchat?

ancient crystal
#

?

#

wat is a 'polygon model'

#

and y is it not 'mesh geometry'

heady smelt
#

@ancient crystal you now what that is right?

ancient crystal
#

i dont get anything in that sentence

heady smelt
#

if you see theres 2 setttings in unity one says polygons and the other one says Geometry

ancient crystal
#

idk wym by 'perform in vrchat' either

#

wat settings

heady smelt
#

i was looking around the settings of the unity

ancient crystal
#

wat the setting called / wat it for

heady smelt
ancient crystal
#

?

#

dont see anything about wat u said

spare saffron
#

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

opal pecan
#

Baking lights requires that their world position be fixed, which is not the case for avatar lights

spare saffron
#

thats what i kinda thought but since avatars move would that baked data stay still on their body. i guess not then

opal pecan
#

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

spare saffron
#

and its not seperate polys from the avatar but i would not know how to merge since its added in unity not blender

opal pecan
#

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)

ancient crystal
#

i think u can use mixed or baked llights on avatars

#

would work on worlds with baked lighting and light probes

spare saffron
#

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)

heady smelt
#

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

ancient crystal
#

i think mixed uses realtime lights when baked is not available as well as wat u said

spare saffron
#

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

ancient crystal
#

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

heady smelt
#

if the lighting is set to real time lighting and on the model the shadows and everything would be more high def colors

ancient crystal
#

but fps fal

#

baked shadows 4 static props also much more accurate

heady smelt
#

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

ancient crystal
#

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

heady smelt
#

you can also attach lighting ot your models to

spare saffron
#

alrighty

heady smelt
#

lets say you can adjust the shading of the world to your model likings

timid viper
#

holy shit i'm tired of vrcsdk

river vector
#

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?

distant forge
#

Check if you have triqngulated it. Blender shows any polygons, unity shows triangles (1 quad = 2 tris)

river vector
#

@distant forge where do i check that again?

coarse summit
#

Blender shows both faces and tris, you want to look at tris. It's on the info bar at the top of the window.

visual scroll
#

is there list somewhere with amount of stuff on avatars for each optimization rank?

safe swift
#

latest pinned message on this channel

ancient crystal
#

^ and on docs

river vector
sweet mason
#

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

river vector
#

Ok cool ty

heady smelt
#

How performance heavy is it to add a seat with an idle animation on to an Avatar?

storm ingot
#

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)

heady smelt
#

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

storm ingot
#

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

heady smelt
#

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

storm ingot
#

best is to build a simple flat world and test it locally

heady smelt
#

Building worlds feels daunting to me perhaps because I haven't tried to yet

storm ingot
#

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

heady smelt
#

Definitely sounds helpful as I'd think it would help bypassing a bunch of loading

#

through all the uploading trials

grizzled patrol
#

@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.

amber hemlock
#

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?

surreal topaz
#

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

eager totem
#

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.

opal pecan
#

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

shut sequoia
#

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

ashen flower
#

stupid question is there a way to reset armature transforms done in unity.

eager totem
#

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.

surreal topaz
#

In the scene, you can simply select all transforms and do revert to prefab in the Transform component.

ashen flower
#

moved some of the armatures rotation.. and forgot to reset it before changing projects so cant undo..ended up redoing the work

surreal topaz
#

In the rig, you can Pose->Reset and Pose->Enforce T-pose

ashen flower
#

tried using revert when it was selected

ancient crystal
#

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

heady smelt
#

Can anyone help me out with some final touch ups to an avatar?

wise kraken
#

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?

patent leaf
#

1

wise kraken
#

Thanks

marsh trail
#

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

surreal topaz
#

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

woven merlin
#

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?

lean kindle
#

you'd probably need to manually atlas them

woven merlin
#

I mean, yeah I could do that too.

#

I was just hoping to use the automagical atlas.

karmic condor
#

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

woven merlin
#

Well, I did that. 😛

woven merlin
#

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.

woven merlin
#

Okay... just... exported FBX, made a t-pose through mixamo, imported again... works.

surreal topaz
#

Probably the rigged pose is too low

woven merlin
#

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.

sweet mason
#

Cats make little cubes when using material with color

forest trellis
heady smelt
#

@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?
distant forge
#

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

placid ravine
#

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

heady smelt
#

how do i find my avatar

#

like how do i choose

marsh trail
#

ESC Menu -> Avatars

heady smelt
#

yeah but it only shows some stuff i dont want

#

i want like baldi basics

#

and stuff

amber hemlock
#

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

ancient crystal
#

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

surreal topaz
#

@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.

wise kraken
#

Does 65k polies vs 30k polies make a big difference in terms of optimization?

surreal topaz
#

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

steep acorn
#

Hey @surreal topaz could i ask something

surreal topaz
#

Not sure why you're pinging me specifically but sure

#

This is a public discord, nobody is stopping you from asking anything

steep acorn
#

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

storm ingot
#

@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)

steep acorn
#

It wont do anything sadly

storm ingot
#

as in crashes at launch?

steep acorn
#

yep

storm ingot
#

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)

heady smelt
#

er

lean relic
pure bridge
#

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

ancient crystal
#

also u need to set every slot

hushed bone
#

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?

distant forge
#

On windows?

hushed bone
#

im on windows 10

distant forge
#

Which Blender version / did you install it from blender.org

hushed bone
#

i have blender 2.79

distant forge
#

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?

hushed gale
#

When I change my avatar, my avatar's material doubles. Does anyone know what the problem is?

distant forge
#

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

hushed gale
#

There is only one material that I have hidden.

surreal topaz
#

@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

hushed gale
#

@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.

rotund flume
#

just a simple question, does an avatar need to be at the middle ( 0,0,0 ) of unity to upload correctly?

ancient crystal
#

no'

#

just the Y

surreal topaz
#

Avoid rotating it but everything else is fine

#

Moving it on the Y axis is also fine

ancient crystal
#

na cuz it will complain that feet are under the ground

surreal topaz
#

That only ever happened to me when I edited the humanoid rig

ancient crystal
#

it might be when an animation puts the feet under the ground then

surreal topaz
#

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

ancient crystal
#

but u rlly shouldnt need 2 be moving ur avatars around anywhere unless u have a display version

surreal topaz
#

Some people have several avatars in the same scene

ancient crystal
#

cuz its much better 2 have them organized in their own scenes

surreal topaz
#

I agree on that

ancient crystal
#

ye cuz theres less stuff there and u can just load and unload avatars

#

same with changing lighting and etc for different display scenes

rotund flume
#

the more clutter in a scene, the slower the upload?

ancient crystal
#

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

safe swift
#

@hushed gale you can have up to 15 materials, yellow should not get denied

#

and that sheet counts Active by default materials

tiny zodiac
#

this is all in blender as well

heady smelt
#

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?

storm ingot
#

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)

heady smelt
#

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.

amber hemlock
#

I put stuff in the same scene because I have a lot of posrots to copy and paste every new fbx revision

hexed oriole
#

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

surreal topaz
#

This does not seem to be an optimization question

heady smelt
#

guys

#

i made an optimized model

#

hair has no bones

#

you proud of me @surreal topaz

surreal topaz
#

Why 14 materials

#

🤔

heady smelt
#

lol

steady abyss
heady smelt
#

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

rocky ginkgo
steady abyss
#

It's all about the Literallyonlyacceptablething vrpill

amber hemlock
#

Excellent needs to be an official emote here

ancient crystal
#

servr need more dogo emojis

dark lake
tawdry garden
#

Ill also make an optimized avatar

#

Soon ™

#

when eventually i wanna make a boring generic male avatar LUL

sonic fog
#

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!

surreal topaz
#

@sonic fog go back into Blender with your model and join all the meshes.

#

Just select them all and press CTRL+J

sonic fog
#

Alright, thank you. I'll download Blender and try that out.

warped sparrow
#

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.

last light
#

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!" thonking

#

More than anything, everyone flipping out is just people kind of a misunderstanding of what optimization is. 😅

amber hemlock
#

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

heady smelt
#

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?

surreal topaz
#

@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

heady smelt
#

i think they did an automatic blender atlas but will attempt a manual.
What could be done for the automatic if anything?

surreal topaz
#

Not much.

#

Manually filling in the islands a little more and setting the texture mode to clamp. @heady smelt

potent mirage
#

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

tired badger
#

Hopefully this helps with reducing more peoples Material counts but keep the amount of customization people like.

amber hemlock
#

@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

surreal topaz
#

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

amber hemlock
#

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

heady smelt
#

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

amber hemlock
#

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

surreal topaz
#

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

amber hemlock
#

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

normal current
#

Hey, does anyone know the shader to make a 3rd person view without the use of the igame Camera ingame. PM me.

amber hemlock
#

^ I would like this as well

distant forge
fierce copper
surreal topaz
#

@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

fierce copper
#

how would i test

surreal topaz
#

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.

fierce copper
#

ok its apparently the body

#

like not the armature but the body

surreal topaz
#

Yeah

#

That can happen, just change the bounds

fierce copper
#

fixed it thanks man

#

I was sitting here slamming my head wondering what the hell i did

warped sparrow
#

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.

shut sequoia
#

Yeah, if you can't get medium because of other factors you might as well be medium across the board.

surreal topaz
#

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

warped sparrow
#

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.

patent leaf
sweet mason
#

I got down from 36 to 30 dyn so am mefium .wow such optimisation

hexed oriole
#

what is max tries now?

#

i forgot

#

is it 70k?

surreal topaz
#

Yeah, 70k

warped sparrow
#

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

surreal topaz
#

I think almost everyone agrees that would be better

#

If you're poor in one category there is zero incentive to optimize past that

ancient crystal
#

don't try to decimate to like 69,999 tho

sweet mason
pure bridge
#

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

ancient crystal
#

y do u need em

pure bridge
#

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

ancient crystal
#

if it for particles just use IK_Follower

#

also for guns u can use final IK but expensive

pure bridge
#

yeah

#

i cant afford final IK yet

#

i can use IK follower for my wrists tho!

#

so thats 5 gone from my model

ancient crystal
#

also people have like

#

multiple arms with like 72 rigidbodies

#

idk how bad they hurt performance (but ik colliders make it worse)

lament pond
#

vrpill 72 rigidbodies ...?

sweet mason
#

be crazy why not vrpill

surreal topaz
#

@pure bridge rigidbodies with frozen constraints or ones that are kinematic will barely incur any performance cost

heady smelt
dim shard
sweet mason
#

hm

umbral remnant
#

@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

dim shard
#

you're telling me that I have to play the game for a few hours are ordered to do this

distant forge
#

" 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 "

dim shard
#

okay thx a lot

umbral remnant
#

lol literally what I said

heady smelt
#

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

hexed roost
#

Bruh your avatar is fine, why aren't they allowing the world to be public

heady smelt
#

Now I shall wait even longer -_-

surreal topaz
vapid birch
#

:,)

heady smelt
#

Gosh

vapid birch
#

is there someone we can contact without emailing?

hexed roost
#

Is there not a fix to the issue

vapid birch
#

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

heady smelt
#

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.

distant forge
#

@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

vapid birch
#

that's a question directed towards me

#

it's my avatar

#

ill double check but im pretty certain the answer is no

distant forge
#

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

vapid birch
#

6 materials only

distant forge
#

You sure you are checking the right avatar? Maybe you never uploaded it after optimizing so the stats don't match your unity project

vapid birch
#

no particles or anything

#

it the same exact model

distant forge
#

It says two skinned mesh renderers. You added both of them up and only see 6 total?

vapid birch
#

yes

surreal topaz
#

They will recheck it if you email them

distant forge
#

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

surreal topaz
#

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

distant forge
#

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

surreal topaz
#

The bot counts material slots

vapid birch
#

hmm

surreal topaz
#

You probably have the same material in several slots, which is wasted optimization. Combine same materials in Blender.

distant forge
#

Even empty slots count. In some cases stuff like an empty trail slot in particle systems might too

surreal topaz
#

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

heady smelt
#

If he does end up fixing that, would I just have to reupload the world?

vapid birch
#

no

#

well

#

actually i dont know

surreal topaz
#

Just the avatar and a resubmit is fine

vapid birch
#

yeah i thought so

surreal topaz
#

But you'll have to wait at least 24 hours since the last submission

#

Not since it was judged but the previous submission

vapid birch
#

he did it last night

#

so he can do it soon

#

im pretty sure i found the issue

heady smelt
#

Okay thank you so much

potent mirage
#

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

distant forge
#

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

potent mirage
#

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

distant forge
#

Do you have a link to that prefab? Is it for avatars or worlds

potent mirage
#

oh yeah im just using it to enable chairs really, so its not a big deal if people can't see them

distant forge
#

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

potent mirage
#

o wow that sounds pretty rad

distant forge
#

So completely desynced. It's still really glitchy so I have a lot to debug.

potent mirage
#

yeah i can only imagine something that complicated runs into that way more

distant forge
#

I'm worried splinks' prefab was designed for worlds and uses triggers instead of just plain animators and gesture based controls

potent mirage
#

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

distant forge
#

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

potent mirage
#

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

ancient crystal
#

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

deep snow
#

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?

surreal topaz
#

Usually the viewpoint is too far forward

#

Or perhaps too far back

deep snow
#

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

amber hemlock
#

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.

deep snow
#

Okay so is there any easy way to fix that

amber hemlock
#

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

deep snow
#

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?

amber hemlock
#

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

deep snow
#

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?

amber hemlock
#

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

deep snow
#

Fair enough

#

would moving the view position like that fix it being offset when in game?

amber hemlock
#

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.

deep snow
#

Gotcha, thanks for your help!

smoky lantern
#

I was just able to create my atlases 10 minutes ago but now it's like "nope".

ancient crystal
#

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

smoky lantern
#

I guess I'll just upload with 11 materials. OH NOOO

ancient crystal
#

i mean u could always not b lazy and atlas urself if it not work...

smoky lantern
#

You wanna atlas all my spec maps, height maps, and normal maps for me?

ancient crystal
#

lol

smoky lantern
#

I'm only using it for the multicombiner.

#

xD

ancient crystal
#

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

smoky lantern
#

I really could spend hours atlasing, but I'd rather go play VRC.

#

So spending 5 minutes is preferred.

ancient crystal
#

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

smoky lantern
#

Was just seeing if it's something that's got a fix real quick before I decide to not stress about it.

ancient crystal
#

only avatar i got that very poor is a 4 armed one bc extra limbs ++++++ rigibodies

smoky lantern
#

The rating system is still broken anyway.

ancient crystal
#

ye

surreal topaz
#

11 materials is not very poor

#

It's medium

#

10 is just the suggested limit for public worlds

ancient crystal
#

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

smoky lantern
#

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.

distant forge
#

@smoky lantern it's because you are in edit mode. Make sure you are in object mode

surreal topaz
#

Oh, that makes sense.

#

I wish the errors were clearer

smoky lantern
#

I was in object mode.

distant forge
#

Would a unity editor script to combine textures be useful or detrimental to optimization?

smoky lantern
#

I noticed the word "OBJECT" in the error so I tried it.

storm ingot
#

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)

kind hinge
#

Do we need 3 kids for vr chat avatars?

#

3 lods

opal pecan
#

@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

surreal topaz
#

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

opal pecan
#

@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

kind hinge
#

Ok thanks I thought all games used them as even turbosquid models are sold with lods

distant forge
#

Though only works for skinned meshes which share a common root bone atm

ancient crystal
#

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

opal pecan
#

@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 :)

distant forge
#

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.

ancient crystal
#

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

distant forge
#

I don't think you're talking about the same thing I'm talking about (?)

ancient crystal
#

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

distant forge
#

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

ancient crystal
#

also i wished they would patch the infinite polygon bug

#

bc active meshes are the only ones where polygon counts matter

distant forge
#

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

ancient crystal
#

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

distant forge
#

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

ancient crystal
#

no but like

#

way way over the poly limit

distant forge
#

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

heady smelt
#

its scuffed oops

ancient crystal
#

do u have 2 use some sort of buffer or whatever 2 store data about the shader for reuse like the gpu particle

uncut path
#

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.

distant forge
#

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

opal pecan
#

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

uncut path
#

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

distant forge
#

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)

opal pecan
#

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

spice roost
#

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

distant forge
#

You should use the shotariya tab directly: that one lets you retain the original resolution (at least the older version used to)

amber hemlock
#

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

distant forge
#

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

warm ginkgo
#

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

distant forge
#

Export from unity?

warm ginkgo
#

i just want the face tga

#

but how

ancient crystal
#

u dont need 2 export anything from unity

#

if its a packaged asset just load it directly from unities files

warm ginkgo
#

is it able to take it OUT of unity?

ancient crystal
#

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

warm ginkgo
#

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

warm ginkgo
#

No progress yet made

warm ginkgo
#

like dunno so here

still perch
warm ginkgo
#

ayy thx

#

What did you do @still perch If I may ask?

still perch
#

magic

#

and a bit of image manipulation.

#

But mostly magic

warm ginkgo
#

vrclike thanks pops

uncut path
#

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?

velvet spoke
#

@still perch Was it the alpha channel again LUL

still perch
#

Ofc

visual tinsel
#

@still perch Why didn't you say what you did to fix it? 🤔

surreal topaz
#

@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.

heady smelt
#

can I optimize my avatar without a drive?

shut sequoia
#

a drive?

dense shore
#

hello someone knows how to solve this problem is a model already echoed has an error in a bone

#

someone to explain to me

vague hearth
#

@dense shore you can ignore that error

sweet mason
#

In blender. When you chose full body fix a text appear and say to ignore this error

dense shore
#

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

eager cedar
#

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.

shut sequoia
#

there's, sadly, no limit at all. you should be merging the bone weights though

amber hemlock
#

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

surreal topaz
#

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.

sudden zodiac
#

It's weird since the new unity version, sometimes you get that warning, other times not

marsh trail
#

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

surreal topaz
#

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"

marsh trail
#

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

amber hemlock
#

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

surreal topaz
#

Not sure, I thought FBX had knowledge of bone tails

#

DAE definitely doesn't

amber hemlock
#

To my knowledge fbx does not

surreal topaz
#

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

safe swift
#

pivot bone + actual bone + end length = nice wavy boobies ☺

surreal topaz
#

The setup I've currently been preferring is one bone per breast, parented to a Root_Breasts bone

#

And then also end length

safe swift
#

i use pivot for each breast bone + end length

surreal topaz
#

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

safe swift
#

yeh, it looks amazing with good dyn. bone settings

amber hemlock
#

Yeah I told someone about end length and they treated it like the second coming of Christ. The cried about reuploading everything

surreal topaz
#

Lol

#

I use end length on animal ears a lot

#

1 bone per ear

#

On cat ears that is

amber hemlock
#

I wasn’t even aware pivot works on avatars

surreal topaz
#

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

amber hemlock
#

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

surreal topaz
#

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

#

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

amber hemlock
#

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

surreal topaz
#

Uhh

#

The avatar in the examples I just showed is actually male lol

amber hemlock
#

Thank you very much for the explaination, I didn’t know it was simulating the connections between game objects

surreal topaz
#

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

heady smelt
#

Bald, with pants 👌

amber hemlock
#

Short hair also works lol

#

Or in my case, just a hat with a little hair poking out

tidal crescent
amber hemlock
#

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

ancient crystal
#

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

tranquil horizon
#

can anyone tell me a good dynamic bone setup for the scarf on my avatar if so then please @ me or message me

ancient crystal
#

cloth might work pretty well

amber hemlock
#

Yeah I'd recommend cloth instead.

#

it works very good for flat planes

ancient crystal
#

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

uncut slate
#

hey guys

#

how do I combine skinned meshes ?

surreal topaz
#

Select all your meshes in Blender and join meshes with CTRL+J or the "join meshes" button in CATS @uncut slate

uncut slate
#

ohh ok

#

I'm in unity

surreal topaz
#

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.

hollow fog
#

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.

Want to drop polys but want to have it look the same? Add transparency to your textures. Here all of the work is texture work to produce the cut out lattice result. You can then use height mapping to create the bumps in the clothes afterwards!! #VRChat #vrchatavatar

fleet summit
#

hey

#

does somebody know how i get those thingis not to be stiff

heady smelt
#

@fleet summit you could force the poly's downwards or rig both of those piece

fleet summit
#

how can i do this?

surreal topaz
#

This does not appear to be an optimization question.

amber hemlock
#

Should mipmaps be used?

#

they make my textures bigger with no visual difference

polar bolt
#

Depends on texture itself, look at model from a distance and different resolutions. Mipmaps reduce aliasing at distance and high view to surface angles

surreal topaz
#

@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

marsh trail
#

In a nutshell, if it's 3d and you see it in varying camera distances, use mips

surreal topaz
#

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

marsh trail
#

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

polar bolt
#
  • setting wrap mode to clamp - very annoying to see seams on skyboxes >.>
marsh trail
#

Seams on anything is annoying tbh

#

Unless it's explicitly used to emphasize a gap

surreal topaz
#

Do you still need clamp without mipmapping?

#

It's probably a safer option anyway but just wondering

marsh trail
#

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

polar bolt
#

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)

amber hemlock
#

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

marsh trail
#

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

amber hemlock
#

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

marsh trail
#

I think they tried setting the alpha layer's color to black iirc

#

Unless you're talking about something completely different

#

Alpha channel*

amber hemlock
#

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

marsh trail
#

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

amber hemlock
#

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

marsh trail
#

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)

hoary juniper
#

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.