#avatar-optimization

1 messages · Page 42 of 1

pine flame
#

Re auto atlassing it should only be checked by default if the material count is above medium performance rating, idk how many people do this but I painstakingly spend hours manually atlassing and creating control textures that get everything just the way I want it. And I usually use 4 materials to do that that absolutely need to be separate

surreal topaz
#

I manually atlas everything and then make the emission maps and other maps manually

#

I've been experimenting with getting multiple toon ramps on the same material using an RGB mask texture

#

I usually end up with 2-3 materials. One opaque, one transparent, and one misc material

#

Usually the "misc" material is for metallic objects or glasses

pine flame
#

My shader just supports unlimited toon ramps

#

It’s based on a mask texture but instead of different color channels as different ramps mine just uses a channel as a sort of “selector”

crystal sonnet
#

Knew dynamic bones toggle was being added but didnt expect a dynamic bone hard limit :o

#

Soo many avatars will need to be redone now :3

#

I'm interested to see how people react with the 32 dyn bone limit

safe swift
#

another kick in the nuts for avatar creators that have public worlds, what else can you say 😛

shut sequoia
#

hard limit? 🤔

crystal sonnet
#

@shut sequoia new dyn bone limited 32 for all players by default else disabled

shut sequoia
#

Oh, that's only locally.

#

Unless there's another article somewhere, I'm assuming you mean the DB Limiter.

crystal sonnet
#

Only locally :3, yeah it can be changed but it'll be a mess imo

shut sequoia
#

A mess? why? Just change it to the number you like.

crystal sonnet
#

I doubt many people will bother changing their limit

steel osprey
#

hopefully certain aspects of it will be changable if they do a settings ui overhaul

shut sequoia
#

Ah, well that's kind of on users. We'll probably see a flood of people here who, despite getting the @ everyone announcement, didn't read the blog post at all that'll be added with the patch notes. Then it'll normalize once people realize they can set it however they like or flat out turn it off.

crystal sonnet
#

The performance menu is getting kinda complicated now for an average user imo

shut sequoia
#

I'm guessing most people will turn it off and continue to complain about lag lol

steel osprey
#

i'll probably increase the limit enough that most things look good but the over done stuff gets the cut. No need for them 500 dress bones 😛

crystal sonnet
#

Heheh I'm just going to be laughing people being mad at the new 32 dyn bones limit

#

I'm glad I bothered to optimise my dyn bones before

shut sequoia
#

It's not a limit though 🤔

#

Simply a way to not show them locally. YOu'll see them on your end, if you like, I just won't see them

crystal sonnet
#

Well by default 32 is the limit

#

you can change it though yes

shut sequoia
#

But it's not a limit in the sense that you're limited to that amount on your avatar. That would suck

crystal sonnet
#

Im not going to argue on the definition of a limit silly

#

Pretty sure you understand what I mean

shut sequoia
#

I think so, just making sure we're on the same page 👌

crystal sonnet
#

Okii all goods

shut sequoia
#

Someone did mention in the beta channel that it'll definitely make some people want to optimize. People want to be seen, that's just the nature of a lot of avatars.

#

That was the whole thing with the trust system. People wanted a rank so they could be seen (by default)

crystal sonnet
#

I just want to have it only enabled at like 5meter rather than 15meter

#

15 meter enable by default is silly

shut sequoia
#

Yeah, a modified culling distance would be nice. I always wondered why we can't adjust that.

crystal sonnet
#

Sucks not being able to change the distance

shut sequoia
#

Though I'm not sure if it's as bad as it seems since I'm fairly sure they cull when you're not looking at them anyway

crystal sonnet
#

The culling is broken

shut sequoia
#

So even if you're right behind me, assuming your bounding back is correct-ish, they'll still be culled

crystal sonnet
#

You only get a tiny perf improvement even if theyre hundred meter away

shut sequoia
#

Really? I figured people's hair adjust when i look at them was the DB un-culling

crystal sonnet
#

Speaking of avatar culling btw

#

Dyn bone culling seems to work fines

shut sequoia
#

Oh that's that's what I mean,t DB culling specifically

crystal sonnet
#

Yup my bads

shut sequoia
#

I feel like he distance isn't too bad unless it's mirror related because if they're behind you they won't cull the same obviously

#

but it does still suck we can't adjust it on our own for larger rooms

#

that and the refresh rate, that'd be nice too I think

crystal sonnet
#

Well at least it has a toggle now

#

Will be nice once we can customise each user group

#

Should have a seporate option for public/cloned avatars in the perf menu though

shut sequoia
#

Yeah that's true, there seems to be a lot in store for the performance system in general. Once we're able to adjust the number ingame and let friends have more permissions for things like that, it'll be pretty good

crystal sonnet
#

Pretty happy they added it overall

#

I'm sure we'll get way more optimised dyn bones now ^^

shut sequoia
#

and if not, it won't matter since i cant see them lol

karmic condor
#

Thinking about it, it’s a limiter that works like a compressor. Lol

spring field
#

so just simple question so all my avatars say there in the green with the new sdk on upload but in game there medium or poor so how come the old sdk shows that there red and orange and the new one ignors dynamic bones and cloth?

distant forge
#

The sdk has a error in AvatarPerformance.cs with some versions of DynamicBone... you can fix by searching for DynamicBoneCollider and changing to DynamicBoneColliderBase -- you can also download Pumkin's tools linked from the docs

tired badger
#

Rendering out a video on the dynamic bone limit and customizing it shortly.

kindred yew
#

do the safety settings disable cloth too? I feel like if they don't that's a way for people to get around it that's even more expensive than db

tired badger
#

No they don't touch cloth most liking down the road

sturdy socket
#

Cloth hair oh no

marble rain
#

Dynamic bones are not even that heavy.. mostly Shaders,particles etc is gonna cause problems. and the badly coded way to handle it

tender sundial
#

real physics is much heavier than dynamic bone and theoretically still usable to achieve the same visual result

#

I'm having an awfully hard time getting below 8. getting below 13 seems easy though

#

maybe someone will figure out a shader-based dynamic bone replacement soon :V

marble rain
#

real physics is not gonna happen lol. its predictive.. but that said the game should easily be able to handle 128 + dynamic bones. and far more then that. and as long as they dont bind Shaders and particles to gpu we wont see much of a performence increase

tired badger
tender sundial
#

they don't block physics yet

marble rain
#

if they block physics your going to get a mindless game. platform with nothing special. all avatars are build around having physics interaction

#

also their networking is not exactly great. they are using Photon API which is horrible

tired badger
#

VRChat released a video showing the impact on the CPU that dynamic bone scripts have. It's always running checking for collission even if not touching.

tender sundial
#

they could block it on avatars if they cared about the performance enough. my point was that it isn't blocked for now so we can still use it

marble rain
#

the collision checks wont run unless it gets hit. but in their case it might always hit something

tender sundial
#

the cost is about half when it's not touching from what I found

#

but I also found that most of the cost was just unnecessary object construction which could be replaced by reuse

tired badger
#

How does the collission check know it's being hit

#

if it's not running

tender sundial
#

it's always running, but when it's not touching it costs about half

#

once it hits it does a bunch of additional computation

tired badger
#

So many avatars have so many unneeded bones, collissions, everything. Why have 30+ bones on the back of your head linked to hand colliders? Who the heck is reaching back there for example

marble rain
#

lol? i wasnt spamming

tender sundial
#

there is that. at the moment I'm just trying to get the twintails not to intersect the arms

#

so far I'm down to 4 per side

marble rain
#

the fact is that the networking Api slows the game down alot as well.

tender sundial
#

many things slow down the game

#

so many CPUs sitting around doing nothing still though 😦

marble rain
#

to many things are bound to the cpu rather then gpu.

#

also i heard the UI causes alot of performence problems.

tired badger
#

The only big fix they have left is the IK fix then it's up to the players/community for better performance

tender sundial
#

I dunno, the biggest performance issue I have here is the distance from the server

tired badger
#

the IK fix will send your IK data to everyone instead of calculating everyones IK on your end

tender sundial
#

fixing that is too hard to do myself

marble rain
#

dont really need closer servers. the game isn't that needy in sense of low latency. but it would be nice

tender sundial
#

for some use cases it would be very nice

marble rain
#

that said i heard alot of good things is gonna happen this year to VrChat.

tender sundial
#

I thought dividing the bone chain up and having only some bits of it collide would pay off, but actually, it doesn't work correctly once you do it :/

#

it's like an exclusion from one script is somehow causing it not to work in another script

#

on top of that the count being computed by VRC doesn't seem correct either, it's about double what I expect

#

the bug in how it's being counted was filed by someone else 3 days ago so I guess I'll just suspend optimisation effort until it's fixed

visual scroll
#

i have ~4 similar tda face textures for different parts like eyes, eyebrows, etc.
is there not manual way to combine them into single texture of same size?
i tried atlas generator in cat's plugin it just puts textures next to each other, that makes output texture size twice larger

surreal topaz
#

Manually atlasing @visual scroll

#

That will get rid of all unused parts of the textures

surreal topaz
#

This isn't an optimization question so you're just spamming chat for no reason lmao

#

Oh he already yeeted

zealous spire
#

@elder mulch thats a lovely way to get banned. I for once Applaud @sudden jewel for this change. All you kids need to learn a little respect about hardware limitations.

And this change forced me to take a second look at my shiba avatars.... which im in the process of fixing and re-uploading them.... all 70 of them... it's gonna take me a while. It's my personal goal that my stuff looks good on default settings. So I gotta step up to the plate and set an example for y'all

#

you have to understand, this is not g-mod where a bad asset makes people lag and thats it. This is VR lag can cause serious physical discomfort, even VOMITING in vr users. there is a lot at stake forcing players to optimize their content.

lean kindle
#

Collision checks do run even if they don't get hit, otherwise they would have no way of finding out if there's even anything being collided

#

Shaders and Particles are already on the GPU the CPU cost for particles is just from them being initialized and other things calculations

marsh trail
#

Just to confirm, do i add the code snippet inside the block for particles or under it?

#
{
    "betas": [
        "particle_system_limiter"
    ],
ParticleSection
}
{
DBSection
}

or

{
    "betas": [
        "particle_system_limiter"
    ],
ParticleSection
DBSection
}
rapid spindle
#

Second one

marsh trail
#

Alrighty, thanks

tired badger
#

@zealous spire It took me a whole month to optimize everything and learn things several months ago but I strive to have the "best" run avatars so it's great to see others do it too. Honestly there is only so much VRC can do. The game everything around us is made by players. What is VRC without the content players make? A few basic maps with base avatars. It's a sandbox game and everything is making castles outta gold instead of sand. The world only has so much gold....

pine flame
#

here's why we have to optimize:
The avatars we're using are originally models designed to be pre-rendered, with no regard for performance, like a pixar movie. We're taking those and trying to run them real-time in virtual reality no less. You're going to run into issues if you don't optimize them.

And for real physics:
Nothing's actually stopping you from setting up real physics, the models actually come from their origins with joints and rigid bodies already set up, however they're incompatible with unity's physics, and the cats tool removes them automatically. If you want you can try to mimick the settings you see in pmxeditor for the rigid bodies and joints. Keep in mind though your avatar will be marked as a poorly performing avatar

marsh trail
#

I assume this is related to MMD models

tired badger
#

Yes MMD is short for MikuMikuDance which is a rendering software for creating music videos of models dancing in high quality. I work on a ton of game models and MMDs have tons of materials, way to many tris, and way to many bones.

buoyant holly
#

yeah they're not being ready models in the slightest MMD

marsh trail
#

Had to confirm, since not every model is a MMD

tired badger
#

One of my favorite models to work on are Dead or Alive models. the hair/chest/butt have tons of bones but when you play that game at most you'll have 2 fights on screen at once. If the game was a 2 vs 2 game every model would have less bones and detail to maintain the same performance because the engine and system can only do so much. When a game is created and developed there is a goal and level of detail you aim for with game assets and can't pass the limit. VRC has no limit and everyone is basically a guest developer with no standards to go by so they can do and upload whatever they want.

#

And keep in mind VRC running in VR has to render everything twice for both lens and that doesn't help things. I'm sure you've all notice the FPS difference between VR and Desktop mode

buoyant holly
#

yep definitely a difference between VR and desktop mode the frame rate

marsh trail
#

Of course, just stating that not every model is a MMD, and not every model is held to the same standard due to such, if we were to talk about source games per example in which the models are rendered in a large amount, use quite a few materials, i'm not comparing engines here, but nothing is setup the exact same way

#

Not every model will have bones for dynamic effects, whereas many will, not every model will have a unholy amount of tris, whereas many will, and not every model out there uses HD textures for their materials, whereas many do, and not every model out there has preset dynamic setups, whereas many others might

#

Optimization is important, don't get me wrong, but not every model has the exact same standards

buoyant holly
#

yep definitely a difference between VR and desktop mode the frame rate vrchat we do have to be a bit more concerned about that

marsh trail
#

I wish there were some tutorials in terms of unity based physics related to VRchat, it could be a relatively good thing to go for, since dynamic bones are akin to the devil in terms of performance hits from what i keep hearing

buoyant holly
#

oh dear that's terrible

marsh trail
#

Worry not, it's just me that'll suffer from those absolutely horrible dynamic bones

still perch
#

Putting these numbers in doesnt make a single point of sense.
Set your self a higher limit to use for when it gets awfull and turn it off for normal playing.

marsh trail
#

Oh i don't really care about the general lag that DB's could cause my way, so i put it to a ridiculously high value, so weither it's disabled or not, won't matter, unless somebody of course has such a ridiculous amount

#

If somebody were to actually use something that'd cause me lag due to an obscene amount of DB's, i'll just block their avatar altogether, so it's all good

still perch
#

Why take away the option to have it available in case you might need it for what ever reason and insted set it up like that doesnt make any sense to me.
But your choice ¯_(ツ)_/¯

marsh trail
#

I just don't really care about the system is all, so i just removed the option from my client essentially

#

Das all

grim kiln
#

Ignorant i would say :p

marsh trail
#

Well that's quite rude, i simply chose to do something that solely affects me

sweet mason
#

Use mobile phone lvl of details like me. :p

zealous spire
#

@marsh trail if you were a model maker I'd ask you to think of OTHER PLAYERS and not just yourself.

surreal topaz
#

I don't get what you're on about

#

He doesn't care for the system and just input some random values into his own limiter, who cares?

zealous spire
#

@surreal topaz if they continue to make avatars with more than default setting number of dynamic bones and coliders. Every other player is going to see that avatar as stiffy-McGee.

surreal topaz
#

That's not what they were saying though

zealous spire
#

Most players aren't aware of the change.

marsh trail
surreal topaz
#

I don't get why you wouldn't just turn the limiter off entirely though, if the values are that high anyway

#

The limiter is a bit of a hasty implementation

marsh trail
#

Just doin' it for shit's n' giggles my dood

#

Since it doesn't really impact me in anyway shape or form, i simply altered it, i planned on making the text bleed out of box but just kept it at that

surreal topaz
#

I set my limiter to 256/128

#

On a related note, I sent a moderation report about that world that keeps using portals to try and get their 2000 collision checks models public but they haven't done anything :/

marsh trail
#

Ouch

zealous spire
#

We need a newgrounds type button of "BLAM THIS PIECE OF CRAP!!"

surreal topaz
#

Actually I wouldn't mind a system like that for labs worlds

tall plover
#

Ew

forest fable
#

according to avatar stats i have 29 transforms and 7 col checks

#

with default limits of 32/8 my bones are disabled

#

hmmm

distant forge
#

I've seen some other people saying there are issues

#

My avatar with 30 transforms/8 collision checks is working for people and myself

#

If you reuploaded it today somebody told me they ended up on the old version of their avatar so be on the lookout for that too

zealous spire
#

@vrpill snaps fingers.
"Mr onichan... I don't feel so good...""
The weeboo dissolves into 200 disabled dynamic bone transforms with no 5000 collider checks...

tired badger
#

Does that mean Antman is gonna crawl up.... nevermind

pine flame
#

Don’t do it kareeda!!!

zealous spire
#

@tired badger that would only happen if the team decides they want everyone to optimize for occlus go and Google cardboard

pine flame
#

Though by setting the values that high and enabling the system he will see a slight bit of performance degradation as the system is scanning for bones constantly

tired badger
#

I am gonna purchase an Oculus Quest. 1 reason so I can use it at office and bedroom but main reason being in case the Quest version is separate servers. If they are separate then I'd imagine PSVR will eventually happen and it'll be crossplay with Quest. I just wanna make sure everything I make and do runs great on both PC and quest.

#

@zealous spire I'd take optimizing for those as a challenge.

pine flame
#

hey kareeda you want me to test anything on my toaster?

boreal escarp
#

how the hell do i fix this
i have no experience in modeling before except for making a boat in blender

limber vale
#

u need to decimate the model

#

@boreal escarp

#

u must also rearrange the bone structure

boreal escarp
#

can i please get a quick run through on what that means

#

and how to do that

limber vale
#

decimation tutorials on YouTube

boreal escarp
#

k

boreal escarp
#

by following the story of titanfall 2
i managed to chop shop BT to fit the requirements

#

thanks, Respawn writers

opal pecan
#

@boreal escarp please merge your meshes while you're in blender, there's no need to have 40 meshes and it'll just kill performance

boreal escarp
amber hemlock
#

We need a tier above excellent for Quest, “It just works”

pine flame
#

Lol

marsh trail
#
surreal topaz
#

Looks like it's straight out of Superhot

marsh trail
#

I wonder if anybody made a superhot themed map yet...

#

Destructible entities, slow-mo animated effects, and lowpoly looking models, actually curious if such is plausible

surreal topaz
#

Not worth making a playable version until Udon

pine flame
#

We need gibs support lol

amber hemlock
#

I would love an udon event/function list

pine flame
#

That’ll be available when udon is ready most likely

#

Though don’t get your hopes up just yet as it’s not likely to be released anytime in the near future

verbal orchid
#

You're likely right, but why do you think so? Heard any news? I'm excited for making a world which isn't purely VLC triggers

past canopy
#

Hello. Sometimes when i make a gesture, the gesture takes a few seconds before switching to another and slowly turns off as the other slowly turns on in those few seconds. Is there a way to fix this?

sweet mason
#

Gesture need to be on frame 0 and 1

#

When you activate something

#

Drag the last frame to 1

past canopy
sweet mason
#

Should work

past canopy
#

❤ thanks

zealous spire
#

the original avatars had 38 transforms and 20 collision checks. so it's not to much of a fix. i can get it just below the threshhold im proud of that.

surreal topaz
#

How did you get your SDK to show the dynamic bone count?

frosty shale
#

vrcsdk shows dbone count right?

surreal topaz
#

Not for me. It only seems to show if you have an older version, generally that only happens if you pirated it

#

Or if you haven't updated your project in more than a year

frosty shale
#

idk, I came back to VRC scene just this past week and my last open of unity is last December.. but I deleted VRCSDK folder before opening and installed the latest SDK

sweet mason
frosty shale
#

oh! I had that installed 🤣

sweet mason
#

drag your model from the scene in the pumking tab and you have a bunch of option and you can have the stats like dyna and transform

sweet mason
#

in cats you have the option to parent a bone to the parent or child

#

so try and error some merging to see

amber hemlock
#

Nice that your SDK picks up the dyn bone counts properly. Mine always reports 0 and I don't know the real numbers until I upload and inspect it in-game

#

I think something's bugged with my scene

karmic condor
#

It has never worked for me. I just use pumpkins avatar tool

distant forge
#

@karmic condor @amber hemlock edit AvatarPerformance.cs and change DynamicBoneCollider to DynamicBoneColliderBase . I don't know why it's broken with some versions of dynamic bone but this fixes it

#

I need to see if there is a canny for this. Would be nice if they fixed it

amber hemlock
#

I use the official version freshly downloaded from the asset store

#

Ironically, it might be the one that gets passed around that works properly ._.

knotty trail
#

Quick question about Skinned Mesh Renderers. Since the limit for avatars in an avatar world is 3, would that mean that theoretically they have to be limited to two gesture overrides that reveal objects?

#

Also forgive my ignorance, but on the wiki it mentions that each SMR requires its own draw call. If they're both using two separate materials, wouldn't that be roughly the same thing as if they were on one SMR?

distant forge
#

No, most objects are not skinned

#

Also there are ways to merge objects together and hide and show individual ones out of a single skinned mesh renderer

#

By scaling bones to 0

knotty trail
#

I see. I'll keep that in mind

#

What about the material/SMR draw call thing though? That's something I don't quite understand

distant forge
#

Why do you need skinning on your props?

knotty trail
#

I have a modular setup for some avatars so they can be personalized easier. A lot of pieces have custom vertex normals as well and merging their objects together with those that don't have any will break it. The main chunks like the skin/head that use one material are together, but the variety of clothes I use all pull from their own respective set of textures. I also use unique shaders for the clothes and skin, so I can't really merge the textures together

#

For clarification on the shaders, there's one for hair to mimic how it appears from the game its from, one for the skin to set the skin tone and highlights, then the clothes have one to apply "team coloring" since their clothes change color depending on their team.

visual tinsel
#

@distant forge You'll want to scale to 0.0001 actually otherwise you'll cause NaNs and probably other issues.

tender sundial
#

what if you like NaNs

visual tinsel
#

👺

oblique forge
#

how to get past poly limit??

shut sequoia
#

Why would you ask how to break the tos in the official discord

heady smelt
#

Another question is, why do you want to break the poly limit? its 70k thats legit plenty my dude. Way better than 20k, THAT was horrible back in the old days :' )

#

Gotta Decimate hte model my man

verbal orchid
#

You won't need more than 70K polygons. Unless you want something to look absolutely perfect, and plan to use it in private worlds only. But I really doubt that this is the case. You will likely know how to do it once you get in a situation where it would actually be acceptable. The entire point of this channel is optimization by the way, not stealing frames from others

full tree
#

Hi babes

surreal topaz
#

@amber hemlock yeah, only the pirated one works lol

#

@knotty trail the material limit for public worlds is 10

#

Or 15 I dunno

#

Anyway, even if it's 10, that's plenty

#

You can have a material for the skin and one for the clothing if you want separate shader configurations

#

One skinned mesh can have as many materials as you like

#

"Modular" setups and optimization don't go well together. Merge everything together before exporting to Unity, you can leave it separated in Blender as much as you like.

pine flame
#

You can fix it yourself @surreal topaz, it was posted above on how to fix it, open the file Assets/VRCSDK/Dependencies/Scripts/AvatarPerformance.cs and change DynamicBoneCollider to DynamicBoneColliderBase. I got fed up with doing this so many times I wrote a script to do it. Devs really should fix it. @distant forge did you find a canny for this?

knotty trail
#

Thanks for responding, but that's not exactly I was curious about. I've read the documentation and was moreso confused as to why the skinned mesh renderer limit was so low since it seemed like the reasoning was because of duplicate draw calls

pine flame
#

If you don’t know what you’re doing you can have two meshes with the same material(s) on them, duplicating their draw calls. If you do it correctly you have unique materials for both

visual tinsel
#

They won't fix it unless themselves update the dynamic bones in the client

distant forge
#

They could because they already lookup the type dynamically using reflection so they should just check the different type also. (also, is there a way to obtain older versions from the asset store?)

surreal topaz
#

You can't obtain older versions

#

It's weird that a collider component name would also cause this to happen for the regular counting

knotty trail
#

@pine flame That's what I was saying before though, what's the different between having one SMR with two materials, and two separate SMRs with their own unique materials?

pine flame
#

Well it’s a whole nother set of vertices to grab the bone weights on really. There’s an option for how many bones can affect any set of vertices in unity so I’m guessing having twice the number of weight groups connected to any one bone could halve the performance of the avatar.

#

This isn’t really backed by any hard evidence but skinned meshes are I would assume much more of a performance hit than a regular mesh

empty pier
#

@knotty trail VRChat is using GPU skinning so there is a skinning draw call for each skinned mesh renderer.

heady smelt
#

hey is anyone else having audio issues when uploading an avatar?

#

Whenever i try to upload my model, it keeps automatically setting it to this very quiet custom rolloff. Nobody can hear my avatar unless they are inside it.

calm spade
#

Disable onsp but keep the component

heady smelt
#

@calm spade it didnt do anything

#

it just reenables onsp

calm spade
#

what does ?

heady smelt
#

when i press build and publish

#

it changed my settings to that custom rolloff posted above and it reenabled onsp

calm spade
#

did you try in client ?

heady smelt
#

you mean the state its in after i press build and publish?

#

like the buttons above turn blue?

calm spade
#

I mean in VRChat

heady smelt
#

i can hear my sounds just fine, but my friends couldnt

surreal topaz
#

@heady smelt set the max distance to 30

heady smelt
#

Thanks 👍

heady smelt
#

it helped only a tiny bit oof

#

should i just go back to an old version of the sdk?

#

one without the volume restriction?

surreal topaz
#

It won't help much, it's enforced ingame

#

Set min distance to 2, max to 30, volume to 0.9

#

Remove ONSP component

#

If that's still too quiet boost the audio file itself

icy jungle
still perch
#

make sure you use the right unity (2017.4.15f1)

icy jungle
#

o sorry

#

and yes im using 2017.4.15f1

gleaming notch
#

Does anyone know if there is a way to optimize into one mesh a swappable hands (where both hands are swappable separately and all hand meshes use the same set of bones)?

#

I know you can't just pop it onto its own bone like props otherwise scales and bone weights become a problem (have it weighted normally to hand bones in addition to a scale bone).

smoky lantern
#

What is the limit on rigidbodies to remain Good?

gleaming notch
#

You shouldn't be really be needing to use rigidbodies; a singular Rigidbody at the root and a capsule collider (which VRChat automatically adds) is more than good enough.

#

If you mean for Dynamic bones, then "as little as possible". The "Good" threshold AFAIK is 2, but for the most part, you probably don't need them at all.

knotty trail
#

@empty pier Thank you for the explanation!

heady smelt
#

Applying dynamic bone into vrc avatar are challenging

tribal ruin
#

So the default dynamic bone limit is 32 right?

#

Why, then, do people who have the limiter enabled not see my dynamic bones at all, when I have only 30. These people haven't edited their limit either

#

is this a bug?

still perch
#

how's your collision check count?

tribal ruin
#

0

#

I have no colliders

still perch
#

hmm

tribal ruin
#

I had a model with about 200 dynamic bones and I optimized the hell out of it, to get it down to 30

#

only to have it not work

#

kind of disappointing to say the least

still perch
#

does it also show 30 dBones for the other users?

#

(when they check your stats)

tribal ruin
#

Hmmm

#

You know, I haven't actually checked that

#

but it says 30 for me

#

when I check

#

and also when using the sdk to check

#

as well as pumpkintools

#

but even still, if I did have slightly more than 32, is the behavior of the limiter SUPPOSED to disable ALL dynamic bones??

still perch
#

yes

tribal ruin
#

I kind of understand that it'd be impossible-ish to distinguish which dynamic bones to disable but damn, that sucks

#

And I was wrong, I do have one collider

#

in my offhand. It's an inverse collider to two-hand grip my sword

#

but it's only the one

#

and it only affects that one bone

still perch
#

i really recommend going in game and have someone (with disabled filter) check the counts other clients get to rule out wether or not the error is with the limiter or the count reading.

tribal ruin
#

Yeah I'll try that

#

kind of silly that the count can be different though tbh

still perch
#

yes

tribal ruin
#

ok so it registers as 31 dynamic bones on their side

#

is there a limit on different dynamic bone components

still perch
#

only transforms / collision checks should be limited (and counted)

tribal ruin
#

on their end they get a dynamic bone component count as well (I have 10)

still perch
#

yes there is a count but i mean for the limiter

tribal ruin
#

ah ok

#

so I guess the only thing I can do is somehow get rid of a few more bones? Even though I'm below 32 (by one but still)

#

I'll submit a bug report too

#

thanks for your help

still perch
#

might wanna try to excluse one single bone (to get to 30 count) on their side

#

and see if its off by 1

tribal ruin
#

yeah I'll try that first

tribal ruin
#

Excluding a bone didn't help

#

Rip

surreal topaz
#

@tribal ruin do you use End Length or End Offset at all?

tribal ruin
#

Yeah I'm using end offset

#

do they not register?

#

@surreal topaz

surreal topaz
#

End Offset is unfortunately still affected by the limiter

marsh trail
#

I think they're not accounted for in the avatar stats but are accounted for as actual transforms

surreal topaz
#

End offset and end length generate additional "virtual" transforms, which can make you go over the limit

#

But they won't show up in perf ranks

tribal ruin
#

That's silly that they don't show up

#

but it would explain it

#

for some reason, even though I have bones some of them don't work unless I add an offset

#

like I have a ring that dangles but the bone in it doesn't work unless I add an offset

#

any idea why?

marsh trail
#

If it has a single bone it won't move, dynamic bones work on the basis of a root pivot and then an added bone for movement

tribal ruin
#

so for every single pivot it requires two bones

marsh trail
#

Eyup

tribal ruin
#

that's incredibly frustrating

surreal topaz
#

Yes unfortunately, that's why end length was so useful

marsh trail
#

Which end offset is mostly used for, i still don't entirely get why though, it is still a transform

#

Virtual or not, it is essentially a bone, are there any differences between it and a unskinned bone even?

tribal ruin
#

It should atleast show up in the performance checker

marsh trail
#

Indeed it should

#

Alot of people keep getting issues like these

surreal topaz
#

The virtual transform made by end length isn't "applied" in the end.

#

On top of that, this game counts transforms incorrectly. The root bone doesn't get calculations upon it, so it shouldn't count.

#

If that were fixed, one bone with end length would add one transform

#

Hakanai pointed this out to me.

marsh trail
#

If the virtual transform does not get applied, how would db even function?
Pardon my lack of knowledge in regards to the topic, but they had to have applied the end length specifically, for some reason, and if again, it does not enact as an actual transform (assuming that's what you mean by applying, or existing after build per example) why does DB not function with a single root in said context?

#

Applied to the limiter system*

#

I know dynamic bones are inconsistent but jesus christ

tribal ruin
#

anyway thanks guys for all the help

#

I'll just have to make due with like 4 less dynamic bones

surreal topaz
#

The virtual transform added by end length is simulated just like the other transforms

#

But it doesn't belong to any game object

#

After the dynamic bone is simulated, the particles are applied to their respective game objects which does not apply to the "virtual" transform.

#

Dynamic bone is just spheres connected by rigid lines. Without end length, the last transform in the chain has no reference of "rotation".

marsh trail
#

Why would they have added it to the limiter?... some clarification from the mods would be neat

surreal topaz
#

Because they're just counting a variable in the dynamic bone component

#

That shows the total number of particles, including the virtual ones

heady smelt
#

@tribal ruin dynamic bone are complex isn't it?

tribal ruin
#

If you're asking me if the plugin is complex yes. If you're talking about my avatar, not really

marsh trail
#

Why are they not counting such on the avatar stats?
Completely different reading method?

tribal ruin
#

I have a skirt with 12 bones, hair with 4, a ring with 1, a sleeve with 4 and a belt with 4

#

but because of the end offsets on the hair and ring, it went over the limit

heady smelt
#

yeah the avatar aren't that difficult

surreal topaz
#

Yes, they're manually counting each transform in the stats menu

#

For one, that's probably so they can give a stats reading without instantiating the actual avatar

#

Because the dynamic bone particle count can only be obtained on a game object actually existing in the world

marsh trail
#

And that's why values differ between client and external client

surreal topaz
#

That too I guess

#

It's just a clusterfuck all around, but it's technically implemented and therefore unlikely to change

#

Same with the limiter in general

tribal ruin
#

you guys notice how standard shader loses its cutout value when blocked?

#

it's been driving me crazy

surreal topaz
#

Yes

zealous spire
#

@tribal ruin yes it's annoying. It blocks Transparent and emission. I take pride that I only use unity standard shaders. Cause I value my stuff looking good on default.

surreal topaz
#

In that case it probably isn't copying the keywords correctly

#

I also encourage people who use Standard to give something like Rero Standard a try. As good as Standard is, it isn't really made with VRChat in mind

#

It's literally an edit (or as he calls it, a "hack") for Standard, it works the exact same way and uses the same properties and math.

#

Only patching up some things here and there, such as the lack of specular in baked worlds, or the ability to use a "fallback" reflection if the world has no probes

zealous spire
#

@surreal topaz oooohhh???

#

@surreal topaz im googleing this rero standard right now

amber hemlock
#

Unity doesn’t know how long a bone is supposed to be if it has no children, it’s just a point.

#

@marsh trail

#

Transforms have no lengths of their own, only a distance to their children, which is different for each child.

marsh trail
#

Oh right, unity doesn't read tail positions

#

I keep forgetting that, since i position my bones in specific orientations for movement

amber hemlock
#

Yeah tail is converted to the transform’s rotation, which loses a concept of length

#

So unity does use tail, just only for direction

marsh trail
#

So dynamic bone end lengths simulate a bone's root to allow it to pivot based on that location, however it does not actually simulate the bone existing in it of itself, hence not applying it, if such is indeed the case then the dynamic bone limiter system is completely backwards on what it should and shouldn't account for

#

If i am understanding how it functions correctly that is

amber hemlock
#

I believe the limits were set assuming every component had an end length already

#

So, use them to your advantage they are already assuming you will

marsh trail
#

But, from what was mentioned, end lengths aren't actually applied, hence don't actually use transforms

#

And that sounds like a really horrible way of going by it, if we think about it then we literally have even less dynamic bones available than the limiter entails

#

Especially if you have multiple components instead of the absolutely horrid single roots

surreal topaz
#

Not to mention that end length varies a lot

#

It's not designed with end length in mind clearly, that's just a side effect of their implementation.

#

If it were, that would mean someone with 33 or 64 transforms would be treated the same way

serene flower
#

Hi, I'm having trouble installing the blender tool for shotariyah. I'm on mac laptop, and when I enable it, it says to restart blender. Even when restarting, It says the same message. To run as admin, I even opened blender on terminal and when I click enable, I'm stuck in a spinning wheel infinitely. Does anyone know what I can do to enable this tool at all?

sudden zodiac
#

@serene flower You have to somehow run Blenders integrated python, install PIP with it and then Pillow with PIP.

analog idol
#

can someone give me a hint?
I counted the child elements of each dynamic bone on my avatar manually for optimization purposes and get exactly 32. however ingame it shows 57 for some reason. even if I'd count the root element it would only be 44. what is going on here?

surreal topaz
#

@analog idol you don't have a dynamic bone component for every bone, right?

#

You only need one for the "root"

analog idol
#

no just the root components of the dynamic parts. lets say root of hair, root of ears, root of breast, etc

#

then i would not have different values

surreal topaz
#

Alright

#

So in that hypothetical scenario, you have three dynamic bone components total

#

For affected transforms, the root bone and every bone/game object below it is counted

analog idol
#

that would be 44 then

#

not 57

surreal topaz
#

Maybe you accidentally have another dynamic bone component somewhere

analog idol
#

hm already double checked that but can do it again

surreal topaz
#

Try disabling the ones you currently have and move the avatar around in play mode, see if you still see white lines or moving bones

rain frigate
#

For what it's worth, many people have said that the game counts end length as another dynbone

surreal topaz
#

The limiter does but the stats don't.

#

Not as far as I know, at least.

analog idol
#

end length? ok went over it and found another component 46 then. I already counted the last element if that is the "end length"

surreal topaz
#

It's the end length/end offset option that some people overlook

#

Many people don't even know it exists

#

Duplicate your avatar and upload a copy with all the dynamic bone components removed (all the ones you could find). See how many it reports then.

green apex
#

i apologize.

analog idol
#

uhh ok. disabled every component and uploaded it. from the looks they are definitely disabled but the stats system still shows 57 transforms

#

could it be that it counts disabled ones as well and this isn't really the case for the limiter?

surreal topaz
#

It counts disabled dynbone components, which is why I suggested making a duplicate and removing all the components on it entirely.

barren jungle
#

transforms refer to ordinary bones as well, not just dynamic ones, right?

surreal topaz
#

No, dynamic bone affected transforms refers to, well

#

Dynamic bone transforms

barren jungle
#

ah, missed that part of the description 😛

surreal topaz
#

The stats system selects every dynamic bone component on an enabled object, goes to the root bone, then counts it and every bone below it. Exclusions are skipped and children of exclusions too

analog idol
#

ok nice to know. i might be totally able to get it down to 32 if it counts disabled ones as well. it just sucks that it counts the root of the bones as well. I don't want to use the same values for all the dyn bones

surreal topaz
#

The limiter selects every dynamic bone component on your avatar, enabled or not. For every enabled component, it asks the component how many transforms are currently active. If over the limit, it sets the update rate to 0. It does this every frame, so animating your dynamic bone or changing the root bone won't work

#

The root bone is counted even though it shouldn't

#

There's already a canny on it

#

It's counted for collision checks too even though those don't matter on the root either.

analog idol
#

if they fix that Id be totally fine *sigh

visual tinsel
#

I'm sure you could drop the end off of something.

analog idol
#

likely i got a chain that has 13 child bones. that one i could definitely reduce ^^^

surreal topaz
#

How would dropping the ends help?

analog idol
#

you mean exclude right?

surreal topaz
#

I prefer leaving the ends alone if anything

#

Nah, he means merging bones in Blender probably

#

Manually reducing bone counts

analog idol
#

doesnt that have pretty much the same effect as exclude

surreal topaz
#

Well you could add exclusions too, yes

#

But if one chain is 13 bones, exclusions won't help too much and you should merge every other bone in the chain instead

#

So instead of 1,2,3,4,5,6,7,8 you are left with 1,3,5,7

analog idol
#

not too familiar with blender. either i might just cut it or try to exclude for now. but even with the chain i should be able to make it work

#

ty for the hint that the disabled components are counted in the stats system

analog idol
#

hm @surreal topaz So I removed the chain for testing and all disabled dynamic bone components. this yielded 38. when counting manually it was 29 including the roots. Later I removed all left over components and got all values to 0. so i have not overlooked one.

#

you mentioned an end offset?

#

need some details on that eventually

rain frigate
#

I'm not well versed on it, but any bones with an end offset parameter essentially count as two

surreal topaz
#

Not really

rain frigate
#

Someone who knows more can probably correct my naive take but that's the gist of it

surreal topaz
#

End length or end offset (they both do the same thing but offset takes precedence if you specify both)

#

Adds an extra "virtual" transform to the end of the bone chain

#

If you don't use it, this isn't the issue you are suffering from

west maple
#

Avatar optimization hmm

#

🤔

#

Creates stick but intends for the stick to become 100k polys

analog idol
#

well I bought the model it might be the case

#

does it do anything special?

#

I dont really see any use for that

surreal topaz
#

By default, the last bone in the chain of dynamic bones doesn't rotate or move at all, only its parent does

#

End length fixes that

#

You don't have to worry about that at all if you don't use it or don't know what it is

west maple
#

Bought models.... >~> from where

analog idol
#

yuumi directly

#

well still have to find the cullprit then. I checked that there's no end length used

west maple
#

ooo

analog idol
#

@west maple why do you ask?

west maple
#

Im bored so i feel like asking ouo

analog idol
#

@surreal topaz I'm trying to reduce the amount of roots now. So I have 2 chest roots that are a child of the chest. So I set the chest as the root and excluded everything else. But now the 2 previous chest roots are counted as well so it gave me +1 overall instead of -1

#

could I exclude them without the actual children

sweet mason
#

As using one root bone for multiple bones chains what the curve of the stifness would need to look like for only the chains to move and not the root ?so the top wont balance offset

surreal topaz
#

@sweet mason that depends on the bone amount

#

The easiest way to get the curve is to set a negative Y force that's very high so the skirt stretches out and drops down completely

#

Then in play mode, set stiffness to 1, then adjust the stiffness curve until the skirt no longer stretches at all.

#

Then copy the component, exit play mode, paste component values, and set the force back to 0.

sweet mason
#

not really working. maybe i dont have enough bone

#

not helping that they are one bone. I would like to only have rotation not translation

sweet mason
#

am not going to put rigid body that would be stupid

surreal topaz
#

@sweet mason you need end length

#

Or end offset

#

Then stiffness curve will work

#

With only one bone in the chain, the bone can only ever move and not rotate

amber hemlock
#

We really need unity 2018 so we can use rotation target component, no more rigid bodies

royal crater
#

so Im trying to use the material combiner, but it keeps messing up the atlas when I use it. some parts of the model combine fine, but other parts have their atlas screwed up when i hit combine.

#

and the only time it does work, it creates a miniscule color image

#

instead of a full sized atlas

karmic condor
#

I think those buckles may have their face normals facing the wrong direction

royal crater
#

its not that. I double checked that and they are fine

#

its not just the buckles either it's all the clothing items

#

except the laces, which instead create a tiny image

#

mind you when I check the folder it asked me to save in, I find nothing in it

storm ingot
#

drag down the top of the blender screen to see the console ... there might have been some errors that have not been visible

#

in blender 2.79 it is the top at least

random sparrow
#

is it possible to make cloth phsics not laggy with the new unity?

#

the 2017 one

storm ingot
#

reduce vertex number on the cloth mesh

random sparrow
#

ty

neon coral
#

Why do cloth physics just break bound boxes? The bounding box was fine before adding the cloth component.

surreal topaz
#

Cloth is very buggy. It won't be a problem ingame and in play mode

amber hemlock
#

If you want it to look correct in the editor you can check “update while offscreen” and the bounding box will stay to the correct position. But that has a performance impact.

#

It is using the model’s bounding box as if it were not skinned

#

(Usually horizontal face on floor if made in blender)

surreal topaz
#

Probably related to Blender FBX exports being rotated

west maple
#

Cloth >~>

amber hemlock
#

Do cloth even use rig/skinned/weight data?

west maple
#

~>maybe

surreal topaz
#

Yes

#

Constrained cloth on your arm for sleeves for example

#

Cloth runs after the bones do their thing, I think

#

The "max distance" will take into account the position of your arm on a sleeve

random sparrow
#

idk what settings on my cloth physics so it i won't leave default

random sparrow
#

why does my cloth physicss have mesh colliders?

crystal sonnet
#

Huh

#

You have to manually add them to make the cloth collide

random sparrow
#

i have cloth physics but when i try to upload the model the vrcaht says it has mesh colliders and wont' let me upload

crystal sonnet
#

oh

#

You can't use mesh colliders

#

Only capsule colliders

#

Yeah stupid I know

#

Wish we could use mesh colliders, but basically why is because performance reasons

random sparrow
#

i didn't add any colliders yet

crystal sonnet
#

If they're on the model you can't upload

random sparrow
#

my model right now has 328 vert count is that fine so far because i am gonna be addiing more

crystal sonnet
#

For vrc verts aren't counted

#

You use Tris

#

Tris limit is 70,000

random sparrow
#

well it's fine with tris it's just with the cloth physics

crystal sonnet
#

owo links not allows

#

These are my settings @random sparrow

#

You really need to test them depending on the model

random sparrow
#

when i test them in play mode

crystal sonnet
#

Cloth constrains are really important

random sparrow
#

they go all over the place spazing out

crystal sonnet
#

Make sure you set the end of the skirt constraint to around 0.2

#

Is your skirt colliding with something?

random sparrow
#

no

#

rather not

safe swift
#

i'd also suggest removing tethers and gravity, then use external y at -2 to -7

#

and paint verts at 0.09-0.2

crystal sonnet
#

Oh I haven't tried just using external force to emulate gravity seems interesting

#

Tethers I think generally are essential, since they keep the verts from stretching too far

#

Though would be interested to see how those settings would perform

safe swift
#

in my world there's plenty of avatars with cloth

#

but yeah, most important part is actually painting everything, or else it'll get stuck/spazz /look weird

#

from my experience i always keep stiffness at 1.0, or else it would do weird stuff like stretching when you're idle and then resetting to original position

quiet widget
visual tinsel
#

@quiet widget Do you have multiple scripts acting on the same bones?

quiet widget
#

Can you give me an example?@visual tinsel

visual tinsel
#

Say you have a script acting on your hips, then you have another one (or few) on your hair, the hair bones is counted twice because there's 2 scripts touching the hair bones

quiet widget
#

I only use root bones to parent each bones that I want to use for dynamic bones

#

@visual tinsel

#

soo the hair will take twice of dynamic bones

surreal topaz
#

Could you show screenshots of your setup in Unity?

heady smelt
#

@safe swift I have the same ears on my model. But I cant get the ears at all close to them movements. I was wondering if you could share the values you have on the ears.

storm ingot
#

this is going to be “fun” to optimize ( body materials combined: 267 421 tris )

surreal topaz
#

Damn, retopo time

ripe egret
#

can somebody explain to me why my model dynamic bones are being disabled with the default limiter when it has 6 collision checks and 28 transforms.

shut sequoia
#

does it actually have 6 collision checks and 28 transforms when you check the stats ingame? the unity ones can be pretty bad

ripe egret
#

yeah

storm ingot
#

28 seems to be the point it actually disables (must be some weird value bug)

#

same as being able to shoot a gun in some games with 0 bullets left

ripe egret
#

i have a model with exactly 32 it it works also so

#

not sure

#

seems scuff

#

32 with no collisions btw.

#

i think the collision value is broke.

surreal topaz
#

@ripe egret do you use end length or end offset by any chance?

ripe egret
#

yes i do.

surreal topaz
#

The virtual transforms added there count too unfortunately

ripe egret
#

i suspected that.

#

kind of wish that was more apparent but ill keep in mind. thanks

ripe egret
#

actually they still are blocked with my offsets removed lol.

storm ingot
#

@surreal topaz with retopo do you mean decimate or snapping etc

clear bison
#

So um

#

When I imported my model into vrchat, the face is all messed up and the wrist joins too

#

It isn't as smooth as I'd like

sweet mason
#

that happen

clear bison
#

How fix?

sweet mason
#

idk

#

we need image

clear bison
#

Sadface.jpg

sweet mason
#

you probably have the chin bone assign

#

in the rig

clear bison
#

Um. I specifically removed that

#

As I do with all my models

#

It looks fine in blender and in unity

#

Don't know why it looks like loli thanos in vrchat

sweet mason
#

redrag the fbx in the scene

clear bison
#

You mean, the mmd file I downloaded?
Or the fixed blender file.

sweet mason
#

fixed

clear bison
#

It'll just import the same model

#

I'm not on my computer right now, but I'm looking to fix it

quiet widget
#

Hmm u forgot I was asking a question @surreal topaz

#

About the dynamic bones transformation

clear bison
sweet mason
#

Cant wait to see loli thanos

clear bison
#

You're gonna be fukin terrified

#

It looks worse under better lighting

#

Your soul.
Give it...

vivid crest
#

Looks like something with normals

#

One of my test models i uploaded wihtout normals because i knew they were broke and she goes completely black in some lighting and then in others or bad lighting is perfect

clear bison
#

Normals?

clear bison
#

Nvm. Fixed it. Just need to edit the shadows.

storm ingot
#

What is a better option to reduce lots of tris decimate modifier (planar) or limited dissolve

need to reduce about 200K of tris

vivid crest
#

Normals to my knowledge is basically shadows. And To reduce something cats is suposidly good

#

But i dont know much about blender

storm ingot
#

guess i have to seperate by parts and start deleting stuff covered by the skin mesh first (> 20 minutes to seperate ~_~’

sweet mason
#

@clear bison some mmd have a shape key key that have a transparent mesh. It can make issue in vrchat nor set corectly. Idk if it was the problem. Like blush or discuss

grim kiln
#

if its Xiexe's shader you have to edit the shadow ramp color too so it doesn't go pure black, if i remember correct the default ones are set as black

#

if you go into an world with ambient shadow as black it will have that effect on the shadows

#

the default ramps that follow the Xiexe's Shader is black if i remember on the darkest part.

#

there may be other shaders that follow the same principle, so just be warry about it in the future if you see strange shadows on avatars.

sweet mason
#

Nice description

#

Dpnt use to much fancy shader

spice dagger
#

Question: Since one face on a mesh = one polygon, why does VRChat take every quad and turn it into a triangle for an even higher polygon count?

distant forge
#

Because the graphics card actually renders in tris. (Technically unity supports having meshes in quads format, and you can unpack extra polygons in geometry shaders, but even then your graphics card will ultimately end up with a list of triangles and draw Each one)

#

Performance metrics are tricky and some of the expensive stuff is done per vertex rather than per face. Also number of pixels drawn might matter more than number of polygons, overdraw etc. for this reason, having your avatar opaque or at least cutout can help performance compared to transparent.

#

So ultimately it's just a proxy or approximation for a performance metric. There are actually fundamental upper limits of the number of polygons a given graphics card can draw in the 5.5 milliseconds you are allotted per eye to achieve 90fps VR.

spice dagger
#

So is there anything VRChat can do to make it render quads instead of tris?

#

Thank you for answering in depth too

visual tinsel
#

@grim kiln Default ramp for XSToon is a soft gray thing.

grim kiln
#

there is a few defaults that is attached if i recal

#

i had problems with that the first time using it

visual tinsel
#

It's better now

raw sapphire
#

So since someone elsewhere has a stick up their ass does anyone here have the time to explain to me how the hell I'm supposed to combine materials and actually get Unity to properly read them and not give me Pink Blob Man?

coarse summit
#

I just create a new material using the shader I like best and drag it to the bits of my model the corresponding texture is for.

raw sapphire
#

Why the hell did it just completely break when I tried to combine all the materials

#

I give up, this tool is useless

coarse summit
#

Dunno, I model my stuff by hand so I can plan out the materials myself. If you know how to bake textures you could just make copies and combine the meshes you want to share a texture, adjust the UV map and do it that way.

raw sapphire
#

It's literally all one piece, like it SHOULD be since that's what they tell you to do when optimizing

#

I am so done with this that I honestly just want to upload it as is and damn the consequences

coarse summit
#

Just because it's one piece doesn't mean it's all on one texture. A single mesh can have any number of textures.

raw sapphire
#

Oh, yeah it's got tons of textures

#

And there's this pin in the main channel for avatar creation that says "hey here's this tool to make atlases for you"

#

with no instruction on how to use it, troubleshooting, etc

#

So I really appreciate being told to do something that I can't do using a tool that doesn't work (or at least has no proper instructions written to make it work)

coarse summit
#

A lot of tools are community created so that's not too surprising. Honestly everything about VRChat lacks good documentation, I've found. You definitely want to have experience with 3D art and the unity pipeline in general when creating stuff

raw sapphire
#

Like, honestly

#

I'm just going to upload it and not care

#

Unless someone can explain to me how the hell I'm supposed to combine these things

coarse summit
#

there are lots of ways honestly

raw sapphire
#

A way that won't make me consider brain surgery with a soup spoon?

#

Because I've stayed up till almost 5:30 am and I started working on this YESTERDAY

coarse summit
#

baking textures to a model with UVs is one. You could also, with a little precision tweaking, just lay the textures next to each other in an image editor, then just scale down each UV map and position it in a sort of grid pattern

#

wouldn't surprise me if that's what the automatic tool is doing really

raw sapphire
coarse summit
#

hah yep

raw sapphire
#

And then I tried putting that on my model in unity and it refuses to actually wrap correctly

visual tinsel
#

define wrap

coarse summit
#

It seems to have doubled textures which is strange in general

raw sapphire
#

Well uh

#

Don't wanna discuss where it's from but it has two sets of textures yeah

#

for the face

#

I dunno why actually

coarse summit
#

well, from what I'm looking at, you could probably combine it down into like two or 3 materials if you know how to manually scale and reposition UVs. I'd do one with the face, and all the denim stuff, and another with the purple shirt, hair, and any other non-alpha materials. Then have the stuff that requires alpha on its own material as you're probably gonna need a separate shader for that anyway. You can get rid of doubled up textures too that way.

raw sapphire
#

I'm gonna just get some sleep and leave this up

#

I'll come back to it after that

surreal topaz
#

You could also manually atlas

raw sapphire
#

The fear is the time that will take to not work

#

Heck, they don't even appear in unity as extra materials

lucid bay
#

anyone know how to make bones collide with the world trying to get a tail not to clip with floor

surreal topaz
#

Make a huge dynamic bone collider on an object, and put it very far down into the floor.

#

Then add that to the tail's collider list

#

It should be so large that it's essentially flat

grim kiln
#

Oof

glass latch
#

I have a particle system that i am putting at the end of one of my hair bones. in unity it looks fine, but for some reason the particle system is getting duplicated in my head in vrchat

#

how tf does that even happen

somber flame
#

This is a very newbie request. May I have someone guide me through discord's screen share on how to add sounds to my gestures. I've watched tutorials on YouTube and followed like every step and after uploading it, there is no sound to my gesture. The items (like VR Headset for example) in my gestures are working perfectly fine. I just can't seem to do it when adding audio. (My audio is in .ogg format). Thank you in advance! 😁

sweet mason
#

idk for ogg but you only really have to drag the sound to the scene and move it where you want. Put it on the bone you want it to follow or object in the hierarchy . Turn it off and in the gesture turn it on frame 0 and 1. that pretty much it. You can play with the volume and so on .I put mine in general around 0.3 max

somber flame
#

Okii I shall try it thanks @sweet mason 😁

distant forge
#

X-posting from #avatars-2-general because this is more optimization related. I'm a bit concerned that people no longer put snail markers on avatars because they think that having an always-on trail affects performance. To those who are concerned about performance, there is a fairly simple fix to make sure it takes no resources until you start drawing:

Basically you put the snail pen in a VRCInventorySystem. To avoid wasting emotes, copy the keyframes for enable into hand gesture that writes, and copy the keyframes for disable into the hand gesture that clears it.
that will make it work like before, but it will only start rendering the trail when you activate the hand gesture and it will stop rendering it after you clear the trail
the downside is it adds 2 animators (always disabled, but vrchat still counts those in the stats, so it might bring you to medium if you have two inventory objects
https://github.com/Xiexe/VRCInventorySystem

If this doesn't work for you, I'd like to know why.

coarse summit
#

I'll give it a go. I'm not so much worried about what VRChat's performance ranking SAYS my avatar is so much as how performant it ACTUALLY is, but from what it sounded like people were saying that it lagged their animations and such which I'd like to avoid if possible. Hence why I was wondering if anyone had found a better way etc.

distant forge
#

well it's not entirely wrong actually. if your snail pen is active, it does have certain effects on performance: it does affect the bounding box and it is always rendering a trail extremely far away

#

the thing I posted allows you to not incur the performance hit unless you are writing something and using your pen (in which case it's worth a minor performance hit because it allows you to communicate)

coarse summit
#

Cool cool. I will give this a try. Thanks for the tip!

distant forge
#

as far as pens go, it's the best solution, IMHO. any pen is going to have the same fundamental issue of bounding box. the only thing you could maybe improve is the bit about always drawing

safe swift
#

bounding box is fixed if you put it under game object (I think?) if not then use dual gesture to draw (this 100% fixes bounding box + you dont have annoying trail in mirror when object is not active)

#

having emote toggle for marker is just annoying imo

distant forge
#

What I'm suggesting isn't an emote toggle. It's putting the animator toggles on the draw and erase hand gestures directly

#

So same performance gain but no need for dual gesture or emote

#

And none of the desync issues that happen with emotes

#

@safe swift does this make sense or is there a reason not to do it this way

safe swift
#

sry I didn'tread it through, havent slept..

#

having a dual gesture works well too - doesn't add two animators, and trail is disabled while pen is not active

#

so in the end is up to person, I guess

distant forge
#

Yeah dual is pretty easy to use. I like it too

coarse summit
#

How would I do it that way?

distant forge
#

So dual gesture is easy. Turn off your pen. You have your usual snail pen gestures. Now you take a hand gesture you aren't using for the pen and you toggle the whole pen on in that gesture

safe swift
#

make game object and put marker under it, have the object disabled, first gesture enables the game object, 2nd does the regular -10000 to 0

#

or yeah, marker works too

#

i think I have it under game object since long time ago and i keep duplicating and replacing mesh filter with others

#

just ignore me and follow Lyumas advice

#

im too tired rn

coarse summit
#

I can understand that. It's after 5am for me because I'm anxious to get this done lol

surreal topaz
#

I don't like putting markers in an inventory due to the desync

#

Yuumi's method of doing it behind two gestures is preferable to me

distant forge
#

@surreal topaz I wasn't suggesting to put it in an emote-based inventory system. rather, doing the inventory enabler in the same hand gesture that does writing. the emote will keep the "enable" animator active as long as you are writing, and so if someone looks at you, it will run that animator.

surreal topaz
#

Ohh, I see. Interesting

#

So you'd then manually disable it on an emote again?

distant forge
#

disable on the clear/erase gesture

surreal topaz
#

Ah, right

#

That's actually a pretty neat idea.

#

I might do that instead.

#

Should be seamless

coarse summit
#

so what you mean is set it up in the inventory, but have the inventory enable and the draw properties on the same animation?

surreal topaz
#

You set up the inventory but use the animator keyframe properties on your gestures

#

Rather than emotes

#

So the draw gesture toggles it on, and the erase toggles it off

coarse summit
#

yeah but you also have to move the marker to 0,0,0, so you'd combine that with the enable, right?

#

or rather the emitter

#

either way I don't seem to be able to get this to work in general :\

surreal topaz
#

You still move the marker to 0,0,0 on your gesture yeah

coarse summit
#

hmm, now I've got it to write but when I let go it doesn't stop writing, and hitting erase all hides the writing but it reappears when I activate it again

distant forge
#

@coarse summit you need to move the marker back to it's original position like -5000 and the inventory item is unchecked so it won't count

woeful ember
#

so i'm curious as to whether or not there has been discussion about
performance related to the method being utilized to scale down the geometry for the head for first person
i've conducted tests and experienced issues with it with certain sets of geometry more so than others

#

aka the "culling" being utilized to hide the head from pov

distant forge
#

uniform scaling is pretty efficient though. And from there on it's just matrix math being applied to each vertex just like normal skinning

woeful ember
#

this isn't really a question as to whether or not it's performant

#

i've conducted tests with it resulting in clear loss

#

nor does it seem to be a simple scale from what i've witnessed

distant forge
#

ideally you would scale to 0 but that breaks stuff. It's a clever way to do it that has wide applicability to all kinds of avatars. It's like 0.001 or 0.0001 scale.

#

I think it's exact because I wanted to test seeing from my avatar's eyes and I was able to set up cameras at either 1000 or 10000x the distance and they matched up nicely with my eyes

woeful ember
#

there is other possible solutions i would imagine like simply culling verts instead of collapsing
or resorting to forcing users to make the head itself a separate object to cull for first person fov

#

i've associated performance loss with it and it varys depending on a factor that i'm unsure of as of this time

#

might be quantity of verts or something else

#

the loss of performance is quite minimal under ideal circumstances but other than that it can be fairly noticeable

#

simple way to test this yourself is to move the verts for the head away from their respective bones

woeful ember
#

weighting

amber hemlock
#

Zero scale shouldn’t have any more of of a performance hit as seeing the head normally unscaled

woeful ember
#

i ain't no expert but i've definitely correlated loss with it

#

nsight might be a little tricky to find the loss it's pretty easily noticeable on GPA

#

but granted i've also ran tests in VR without anything additional running

#

while bottlenecking the GPU

#

the loss isn't very apparent with an ideal or minimal neck&head**

amber hemlock
#

test while looking at someone else wearing the avatar

woeful ember
#

No

#

isolated in a room with the same environment with the same screen

amber hemlock
#

If you don’t want my suggestions I can’t Help then

woeful ember
#

test while looking at someone elses wearing the avatar? how does that correlate when the issue is the collapsing of geometry for first person view

amber hemlock
#

Because you will find the same loss when viewing the avatar as so one else is wearing it

#

Meaning the head scaling is unrelated

#

It’s just how laggy the avatar normally is

woeful ember
#

i've moved the verts away from the head bone entirely without any other changes and got major improvements for an avatar that was experiencing this issue

#

i've also moved the head bone slightly and gotten improvements aswell

#

due to the origin of collapse changing

amber hemlock
#

You moved verts? Or you moved unity game objects? There is a difference.

woeful ember
#

verts

distant forge
#

Does your shader have an outline set? I wonder if outlines don't like a lot of verts near each other

woeful ember
#

Nope i tried this with standard and a simple shader

#

ill probably try more tests to actually conclusively determine what exactly causes performance loss
but currently taking a break

woeful ember
#

and yeah performance for shaders can vary

#

your question is better for rigging @heady smelt

#

the best way to check the performance for the shader is to actually profile it

#

generally a shader should be fine assuming you aren't using an abundance of materials

distant forge
#

Poiyomi did some testing and most lit shaders had similar performance requirements as Standard

#

Outlines and extra passes or geometry shaders may have some impact

#

Transparency/alpha blending and fill can affect things, as can possibly Cull Off (disabling backface) for the same reason

#

So unless the shader is doing complex math it's less about the code and more about how many pixels you draw or overdraw and how you use it than which specific toon shader you pick.

#

From my understanding, 2 materials: one for base opaque/cutout and one for transparent blushing is very good as far as optimization.

leaden carbon
#

Hey kind of new to the group. Was wondering if anyone knew how or knew where I could find out how to change my AABB in unity so my avatar isn’t all wonky or crashes Unity. Or do I change that in blender? It’s saying it’s to big

distant forge
#

@leaden carbon if I had to guess, you have a finger pen (e.g. snail pen) on your avatar. You should set up a gesture to toggle the whole pen (dual gesture) or a gesture based inventory toggle. Scroll up 1-2 days back to see the discussion in this channel about inventory toggles for pens. If not a pen, maybe you can explain what is at 4252 away from your origin

surreal topaz
#

It's probably a shape key that deletes the glasses by putting them 4000 meters below the floor.

#

The YYB vocaloid models all do that

#

Snail marker isn't the cause because snail is turned off by default

#

Bounds size will be visible as "Very Poor" ingame, but not in the SDK

#

@leaden carbon delete the glasses if you don't use them

#

Separate into a new mesh and delete, or edit the shape key so the glasses are closer by

lean kindle
#

you can just set the bounding box manually though couldn't you?

heady smelt
#

center at 0
extend 1.25 on all 3 axis

#

should fix that

#

bounding box are very weird, i still don't really understand how they get calculate ingame

#

very different from what i set in unity (also other peoples see different numbers from what you see)

leaden carbon
#

It’s the box around my avatar with the white lines when you double click it

prime beacon
cedar hinge
ancient rapids
#

🍿 ↑ also interested in fixing the weight painting on the top/under shoulder...
however i think this is avatars not optimization.

clear bison
#

Hey guys

#

Any idea how to delete the feet mesh

#

Whenever I try to merge the materials the feet show up out of the boots.

quasi token
#

so hide the boots, then go and click on the feet, press tab on the body section and wait for the mesh to come up

clear bison
#

Kk

quasi token
#

then I think c or v to get this like circle and use scroll wheel to get it bigger and click on the feet

#

then press x and click the first one (Vertices) and click delete

#

just do that to the shoes and then merge the shoes to the body

clear bison
#

You mean the feet right?

#

Should I worry about the mesh on the upper legs?

quasi token
#

no

#

only remove any mesh thats getting covered up

clear bison
quasi token
#

alright good luck with it

clear bison
#

Okay so

#

I found out that her default eyes are wrong and one of the skinned mesh renders have the correct eyes.

#

How do I set that as the default?

quasi token
#

if its a texture you can always re adjust that in unity

clear bison
#

Uh

#

I kinda merged them all together

clear bison
#

Uh

#

A little help

#

I accidentally made the main model in animation mode

#

Deleted the files, but she's still positioned that way

#

How do I make her stand up straight?

distant forge
#

@clear bison see pin in #animation "help I fucked up everything"

#

Basically you can right click revert to prefab on your bone rotations

clear bison
#

Uhh

#

The images and instructions aren't exactly clear

#

Revert to prefab?

#

Like it says to copy the key frames from the file, but where?

#

I can't exactly select it from the animation folder

junior arrow
#

wow that really cool

distant forge
#

Alt click your armature. Shift click everything blue that is a bone (don't click any other objects you added manually to your avatar armature). In the transform component in the Inspector, right click the word Rotation and select Revert to Prefab @clear bison

#

Alt click the arrow to expand the armature I mean

clear bison
#

Alt just activates an eyeball that doesnt let me touch anything

#

This is me holding the alt button

distant forge
#

Alt click the expand arrow in the Hierarchy panel @clear bison

clear bison
#

Oh

distant forge
#

Then shift click everything in blue that came with the model except for props

#

You're just working in the Hierarchy and then Inspector panels not the scene view

clear bison
#

Selected

#

This doesnt let me do anything tho

distant forge
#

Yep right click that and revert to prefab

clear bison
#

Can't

distant forge
#

You can try gear menu Revert to prefab

clear bison
#

Oh it works

#

Neat

#

Thanks a lot

fresh bone
#

May I have some help with my avatar? I would like a call where I share my screen so we can get it down

calm spade
#

What step are you having difficulty with specifically ?

fresh bone
#

It's more like something going wrong when I import my model to Unity

#

It keeps getting deformed

calm spade
#

and post screenshots of your issues

fresh bone
#

Sure thing

rose roost
#

So I had a quick question that none of my friends can seem to answer. I am very much within the dynamic bone limits but most people still can't see my dynamic bones, any idea why? I have 29 transforms and 0 collision checks.

#

Nothing is enabled/disabled that has dynamic bones on it either besides other avatars that are disabled on the hierarchy as well as completely separated from this avatar.

#

Any advice is appreciated! Thanks!

distant forge
#

Do you use end length or end offset anywhere? Those numbers get added to your transform count

#

Because they actually simulate extra bones at the end

rose roost
#

I do use end length, but even in game it shows only 29

#

If I disable end length it goes down to like 25

#

Unless I'm mistaken?

distant forge
#

the db limiter is not the same computation as avatar stats

rose roost
#

29 Transforms that is.

#

Sorry if I sound kind of stupid, but the build and control panel / the in-game Avatar stats are not the same as the dynamic bone limiter?

#

If that is the case, then is the best way to check how many Dynamic bone transforms you actually have is to just manually count the number of white dots on your avatar?

#

If the build control panel and Avatar stats are both incorrect

marsh trail
#

Add a bone transform per dynamic bone chain that uses it

#

That's essentialy how you can tell how many transforms you have

rose roost
#

Sorry for dragging this on, but I just want to be absolutely clear. So the build control panel doesn't accurately reflect Dynamic bone transforms if you use end length?

rose roost
#

Yup I figured it out. With end length it puts me at 33 transforms 😡

#

But that isn't shown in the build control panel or in-game

marsh trail
#

Sadly end lengths aren't calculated in the avatar specs menu, even though they're taken into account by the limiter

rose roost
#

Yeah, seems like an oversight or bug. Thanks for the suggestions guys! I appreciate it a ton even though it should have been obvious

pseudo ridge
#

piyomi is costly for glowing effects right?

#

is there a less resource intensive shader that can do glow pulse?

surreal topaz
#

@pseudo ridge poiyomi toon is just a toon shader

#

It can do pulsing or scrolling emission, but it isn't expensive by any means

pseudo ridge
#

poiyomi master

#

hmm avatars i make with scrolling emissions with it are usually very laggy even on my i7-8700 system

#

anyone got a link to the most recent version of the master shader?

#

maybe i just have a crusty old version

surreal topaz
#

I don't recommend poiyomi master

#

Use Poiyomi Toon instead @pseudo ridge

#

Master is outdated for a reason

#

Toon still does pulse emission

pseudo ridge
#

oooh ok

#

the interface always seemed more complete on master and I could never find an update

#

I guess thats why? xD

pure bridge
#

this is more about dev optimization than actual performance optimization but i wonder

#

how do you guys organize your unity project files

#

so far ive been keeping all of my avatars in the same project (and also in the same scene, with all of them disabled)

#

but i have too many assets so i plan on creating a ne wone soon

#

since i dont use many of them

#

and opening it takes a really long time

storm ingot
#

i have a seperate folder for models/shader/scripts

rain leaf
#

Just a general question, does Prefabbing do anything for performance in vrchat, example i have an emote that spawns a bunch of swords that all do the same animation, i prefabbed those swords. so would this effect anything?

#

Also @pure bridge sorry for the bad timing but i too have alot in my project with several diffrent scenes, 20+ avatars each in a disabled state but ive found that its the size of everything in the project that determines how long it takes to load, not the opening scene. so basically delete duplicate assets to cut loading time, which i need to do. (7 duplicate dab animations, just checked) hope this helps

woeful ember
#

no it doesn't really "do" anything in that regard to my knowledge
but you can optimize it down to one object if you're dealing with a large quantity only issue is making swords vanish and appear one at a time would be something harder to achieve but still possible with scaling bones for each individual sword or group of swords

rain leaf
#

it was an example i only asked out of curiosity since i haven't tested it through it does seem to effect performance after i tested it some what. probably wont matter much unless in excessive quantities of duplicates. also when it comes to making a single object with multiple instances or using a single object over and over i would do the ladder to save files size and vertices count (personal opinion) especially since prefabbing does combine draw calls for objects (just found that gem)

marsh trail
#

It's a combination of both project load and scene load, unsure of which has the most impact but i assume it shifts in terms of quantity (alot of assets in project making the scene take longer to load, or alot of prefabs on-scene), a nearly empty scene on a project full of assets will take roughly the same time to load as a project with minimal assets but a truckload of prefabs on scene effectively, that being said, after loading it should run relatively smoothly (got a project with 40+ avatars in scene enabled in which the project is a few gigs in size)

rain leaf
#

wow got curios of size and im at 9 gbs+ still loading

#

just my latest project

#

wow

#

i need to orginize

marsh trail
#

If you are in a rush and are only intending on doing minor edits, i'd recommend separate projects, as that will load the fastest, but you will be essentially clogging your system with duplicate assets between each projects, if you got time to spare and take your time editing, and don't mind having unity open to come back to it, a single project works wonders

woeful ember
#

size is something that should be a consideration along with compression
and it definitely affects loading times and can fill up memory
prefabbing does not combine draw calls to my knowledge
whatever you're utilizing might've had dynamic batching or perhaps however you tested this was incorrect
due to how you conducted it

rain leaf
#

rip that was something i inferred form the optimization guides for vrchat

marsh trail
#

Dynamic batching does sound like what you were going for, unsure of the current tris limit for such to actually work though

rain leaf
#

thats what i was looking up

#

these guys seemed to say it did effect it though

#

so rip

#

i tried

woeful ember
marsh trail
#

Prefabs are dynamically batched if the benefit outweights the loss essentially

#

It works wonders in very low poly situations, but, this is avatars we're talking about

rain leaf
#

I'll reap benefits where I can get them

woeful ember
#

anyways there are ways to optimize animations outside of dynamic batching
simply taking a look into how exactly you approach it for example it can be a big difference
in the sense that you can utilize 3d programs or more specialized applications for animations
which can get you more optimized &/or better results
generally the end result will probably require additional features within unity like
the particle system in unity for example

marsh trail
#

Oh it actually does have specs

#
Batching dynamic GameObjects has certain overhead per vertex, so batching is applied only to Meshes containing no more than 900 vertex attributes, and no more than 300 vertices.

If your Shader
 is using Vertex Position, Normal and single UV, then you can batch up to 300 verts, while if your Shaderis using Vertex Position, Normal, UV0, UV1 and Tangent, then only 180 verts.
#

Optimaly, one would make everything in a 3d modeling/animating program and have it all import merged together of course

woeful ember
#

yeah ideally but most either don't make the effort or are unaware

#

but there's* nothing wrong with making the most out of doing the least when done with understanding of performance

marsh trail
#

It will unfortunately increase bone count per added mesh, as you'll need bones to animate everything, since it's no longer a Game Object in unity

woeful ember
#

well you can put it into a morph/blend shape aswell

#

there's probably other ways aswell but i'm *unaware

marsh trail
#

Sort of, yeah, but that would be for simple situations, complex routines are straight out haha

woeful ember
#

very complex interactions yeah i suppose but that *could be intertwined and assembled outside of unity

marsh trail
#

A simple weapon on hand toggle is shapekey-able, a set of complex motions would require bones to execute, unfortunatelly, but it does outweight the cost in the end

woeful ember
#

nah that can be baked down to a morph i believe

#

if not automatically it can be done in a tedious manner

#

keep in mind shape keys aren't simply on or off

marsh trail
#

I think unity has a shapekey limit actually, and yeah, you could frame-by-frame it

woeful ember
#

in what way?

marsh trail
#

Since transitions are linear in terms of shapekeys, you'd need to frame each port of the movement iirc

#

Lemme see if i can find something related to it... it's been a long time but i recall missing shapekeys waaay back when

#

Hmm can't find anything related to such... then again people don't tend to use a ridiculous amount of shapekeys so i didn't think i'd find anything related to a limit, or maybe i had a bug back then, it was back in the day of 5.6.3p1 afterall

woeful ember
#

dunno either way using bones is probably a better option instead of 100 separate objects

marsh trail
#

Definitively

woeful ember
#

i believe some games use specialized formats for such effects/animations* dunno if unity has anything along those lines

marsh trail
#

I mean, if you were using 100 objects, i'd actually recommend batching over rigging it, it would still batch it all through a single call, and be user-friendly in both terms of animation and performance due to a lack of 100 bones haha

woeful ember
#

yeah if you can

marsh trail
#

And it could be disabled/enabled which is a godsend

#

I guess it depends on the context, too many plausible routes

woeful ember
#

really technically it is just reducing performance loss by offloading small calculations when possible to the CPU instead

#

so bones might be better in cpu bottlenecked scenarios but i don't know how much of a loss that would be and it would probably vary

#

🤷

marsh trail
#

True, it could be minor or major, tests can be done, but it'll probably vary from system to system and be generaly inconclusive

#

I did post my thoughts on what i thought was more or less performant in terms of quantity, but those are just my general opinion

#
"The major points of performance impacts are as follows in terms of quantity, in order (based upon my own thoughts on the matter and what i've seen/heard), IK, Meshes, Materials, Dynamic Bones, Bones, Particles, Polygons
(In the terms of Amount of X = Y Lag, i.e 400 Dynamic Bones will lag less than 400 Meshes)"```
woeful ember
#

i just want people to actually atlas and get the IK pushed to p2p or w/e

fresh bone
#

The upload button is not working. I have the ability to upload custom content and such, so what could make it not work?

#

The button is pressable, too

deft whale
magic locust
#

How vrpill

surreal topaz
#

That's a hide avatar from me

#

People seem to have this mistaken belief that polygons don't matter

zealous rune
#

1⃣ 🇫 🇵 🇸

radiant shadow
#

53 meshes - instant hide or block

deft whale
#

Yep

heady smelt
#

53 meshes isn’t that bad considering I have a Rolex in unity with about 400 meshes

vivid crest
#

ITs super simple to make that many meshes into 1 though

iron maple
#

Can we ask questions about model ideas here

marsh trail
#

Those are meshes, not skinned meshes, so i assume they were animated objects?