

"OP! I want over the top tattoo glowing pulses and all that other really 'awesome' stuff! I need more materials!" Now, some people tend to have many different weapons or tools they have in animations, you can actually atlas all of these down into one material aswell, so now at the VERY most, you have 2 materials on the avatar, 1 for the actual base avatar, and 1 for all your props, reducing strain to its maximum.įinally, lets get into your other misc stuff. But lets say its a gun, make 100% sure that the gun itself doesn't have more then at max 1 material. If you have a HAT with 1 material, and you know it wont be animated, then its better to join it to your base mesh, and then have it atlas'd into your texture map as is. What is a problem is when the extra mesh, for example HAT, has all the materials of the body stuck in it, because who ever separated did a poor job. Now, generally having extra meshes isn't a problem. ***Now lets move over to combining meshes*** Avatars are dynamic unfortunately, Unity is still much to weak of a game engine (In our version) to do anything like that. Meaning I can have 100,000 rocks on your screen, but you literally wont lag in the slightest, because its 1 render. In maps, you can also atlas a bunch of textures together and GPU instance them, meaning after rendering the material once, it no longer needs to do it for many objects that are the same, or share the same texture. ATLAS maps are also very common in some android and iphone games, as the optimization you get is just to good to pass up. Now I don't need to worry about rendering you more then once, so the strain is DRASTICALLY reduced in the cpu. As I was saying, now that you combined your materials down into one wonderful texture map, you just reduced your draw calls from 4 - 44 down to 1. "BUT OP WONT IT LAG WORSE NOW THAT TEXTURES ARE BIGGER?" I don't recommend using the CATs tools, because there tend to be to many issues with its atlas feature, quality is inconsistent, at least for me, might work for someone else.Īnyway, now that you combined your textures. Anyway, ATLASing is very easy after you do it one time, and I HIGHLY suggest going on youtube to quickly look it up. This is an example of how 'big' the textures will look, you do NOT need to go past 4k for such easy to do avatars, so please do not. What we're looking for is an ATLAS, and you can create these in about 4 minutes in blender, now keep in mind, the absolute MAXIMUM atlas file you can do is 8k for unity, but please ***DO NOT DO THAT*** at most, do a 4k atlas if you *absolutely need it* see, most MMD or low 'detail' characters tend to be either 512 x 512 or 1080 x 1080 per texture, there is absolutely no reason your mmd avatar needs to be any higher then that, unless the creator didn't know what they're doing. So, how do we get around this problem? you'd be shocked with how easy it actually is.

This gets even more noticeable when you stand near mirrors, draw calls double up. If for the second time you don't see a clearly defined frame drop (91 to 60 or 40) then you're clearly with at most 2 to 3 others. But I notice it, look at your menus and say it again. I'm sorry, you clearly aren't seeing the frame drop. If you and your friends have 10+ or more, then no. The only actual way I'm going to believe this, is if you have at most 1-4 materials, each.

"But OP! Me and my friends don't lag when we're around eachother! You don't know what you're talking about!" ***The problem is, for every extra material you have, I need to render you again, and again, and again.*** its incredibly bad, and very laggy when more then 3 of these users get together. Your CPU tells your GPU to render out a material to apply to a mesh, over the polygons. What is a draw call? To put it into the most basic of terms, and water down the entire explanation so I don't have to explain how GPUs and CPU works, a draw call is a material. Something newer MMD creators tend to never reduce, thankfully the experience ones do their best. Now that that is done with, lets move over to the bane of my existence with almost every creator. I personally fix this issue by making a very small inner wall, yes, it creates more 'polygons' but in the actual thick of things, my model will render less and be more optimized then yours. Because you have no 'thickness' it can cause render problems. Meaning lets say you're looking a avatar with 10,000 polys flat.įrom the front there's 4,833 polygons, but you're rendering 9666 textured polys instead. Its bad because the camera needs to render both the front and back face of the polygon, so now instead of for example 1, it renders 2. Let me explain why, on the left, you see what EVERYONE uses normally, that's bad. Now you don't need this on everything, but its highly recommended for big avatars.
