How to properly optimize your model (3dsmax)

Started by Segab, October 22, 2012, 01:18:32 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

October 22, 2012, 01:18:32 AM Last Edit: October 22, 2012, 01:23:05 AM by Segab
INTRODUCTION

Modeling for a film is very different from modeling for a video game. Games are rendered live as the player moves, while films are pre-rendered.
Depending on which engine and on which console you're working on, your video game oriented model will have to save on polygon count.

When you're importing a model from another game into Brawl, sometimes it's going to have too many polygons for the Wii to handle. Even some models from Wii games will have trouble on Brawl because the games are using different engines.

If you modeled your character yourself, you might still have this problem because you put too much detail in your clothes or face for example.

The solution: optimization.

Mario's Brawl model (including the FLUDD) is 6207 polygons, so try to stay around 6k polys.


BEFORE STARTING

I'll start with Flygon's Oak model (click on the thumbnails to see them bigger)


Check the polycount
So first of, you need to check if your character needs optimization.
Sorry but you are not allowed to view spoiler contents.


Keeping your rig [optional/situational]
If you've already rigged and you don't want to lose your rig while optimizing, you have do this:
Sorry but you are not allowed to view spoiler contents.


Collapsing the model [optional/situational]
If your model isn't one big mesh, you'll have to make sure that there's no modifiers left except Skin.
Sorry but you are not allowed to view spoiler contents.


PREPARING THE MODEL

Turning into an Editable Poly
The way I optimize you have to be in Editable Poly mode, not in Editable Mesh.
Open the Spoiler if it's an Editable Mesh.
Sorry but you are not allowed to view spoiler contents.


Merging useless vertices
Sometimes it's because you didn't notice, sometimes it's because the model imported smoothing groups in an odd way, but you might have hundreds of polygons that add nothing to the model but weight.
Sorry but you are not allowed to view spoiler contents.



MANUALLY OPTIMIZING THE MODEL

Why not ProOptimizer?
When I say manually, I mean we're not going to use the ProOptimizer thingy. That's the lazy way out and it's risky because you barely have any control on how it optimizes your model.

Sorry but you are not allowed to view spoiler contents.


Snapping vertices
When you're optimizing a model, you're merging vertices with eachother to make less polygons.
Sorry but you are not allowed to view spoiler contents.


Finishing the optimization

Once you have a reasonable polygon count, you'll have to do some final steps before exporting.
Sorry but you are not allowed to view spoiler contents.



TIPS

Alt+X to make the model transparent. Useful to see if some faces could be deleted because you'll never see them.
Right click > Hide selection. If your model is separated into a few sub-models, you can hide the ones that get in the way. Undo that with Right click > Unhide all.
If you want advanced techniques on how to optimize a model, look up Valve's LOD tutorial.


CONCLUSION

I've only optimized one sandal but you get the idea. If you do that for the whole model, you'll have under 6k polygons and your model will work in Brawl.
This technique will keep your smoothing groups, texture coordinates, and rigs.
It's long and annoying but in the end the results are worth it.

the only reason I've used prooptimizer and never tried manual was uv's, but you say they'll stay using this o-o Awesome, glad ya made this. It's gonna be very helpful
STREAMING MODELING STUFF
Pervys world of art
Pervys world of words
QuoteIf only hacking Brawl paid bills.
[move][/move]

Seems hard but I'll have to do this when I make Shepard v.2. The pro-optimizer really ruined his shoulders. :X

Thanks a bunch!

burning questions? contact me at bjelkiers.tumblr.com

Thank you, this is really helpfull because now I can have a low file size without having to kill the texture quality.
3DS: 3780-9595-2194 Tumblr: http://oktavia-von-sekendorff.tumblr.com


Good tips here. Just one question, instead of moving the vertex close and welding them, can we just use the target weld function? It does both things on one step. I'm not sure if it has disadvenajes though.

Quote from: Iwvi on October 22, 2012, 02:19:38 AM
Good tips here. Just one question, instead of moving the vertex close and welding them, can we just use the target weld function? It does both things on one step. I'm not sure if it has disadvenajes though.
I just prefer to do that because if I mess up, the vertices are still not welded, so I can fix them without having to ctrl+z or reload an old save.
It's also easier to toggle the Snap on and off with S than toggling Target Weld with the button on the sidebar.
And when you Weld them all at once, you can see directly how many polygons you saved, while Target Weld will reduce the number of polygons after every single weld.

So basically it's just a matter of preferences.

True, I think this one is better, tried it out and it lets you plan the optimizing better instead of just doing it on the fly. Target weld could be used the same way but  sometimes I forget where I weld stuff  :P

a good tip for looking after vertices points who aren't weld is to use the "thing" between "Edge" and "Polygon" selection (forgot the name), if you select the whole model it will turn red on the edges who has the Vertices points not Welded
Stupid Tinypic :C

November 10, 2012, 06:27:58 PM #8 Last Edit: November 10, 2012, 06:30:42 PM by Eternal Yoshi
This is an excellent tutorial, but there is an elephant in the room that must be addressed.

While Mario's model + Fludd is 6207 polygons, there are many Brawl characters that have much more than that. The reason for that is that their facial expressions make up half or more of their total Poly count. Here's some examples.

Character  \ Total  \ All Facial Expressions(Excluding Hair and Eyes, but including mouths)

Marth      \  11,197\ 5,310
Snake      \  11,357\ 7,032
Ike        \  11,983\ 6,132
Samus      \**11,064\ N/A
Zamus      \  11,787\ 8,160
Sonic      \**12,310\ 7,354
Yoshi      \ **7,010\ N/A
Popo       \   4,610\ *72
Nana       \   4,628\ See: Popo
MetaKnight \ **6,862\ N/A
Fox        \**10,154\ 5,080

* These characters use only textures for expressions, with each face having a plane on the character's face.
** These characters Poly count includes things like Egg, Spheres, or whatever is attached to the character's mdl0.


Characters like Mario, Popo, and Nana have different objects for their facial expressions, but only their eyes change. The higher poly characters such as Marth and Snake have entirely separately drawn faces altogether for their facial expressions.

Basically, I'd recommend making a scene for the character you're porting over to check their poly count, and not exceeding the original character's poly count by over 1000 Polys.

November 18, 2012, 11:38:03 AM #9 Last Edit: November 18, 2012, 11:44:21 AM by jrush64
@Segab, I think i love you.

With this technique, I shaved 8000 vertices of Nero's Jacket and It still looks [censored]ing HQ.

can´t get into the Snapping vertices menu thing :(
it dont work for me. can´t combine faces

So if I want to import one of my Pokeball pokemon imports and take down the poly count without losing the Pokepark rig (so I can keep the animations I worked so hard to do) would that be considered difficult/tedious? I am willing to do it, but not if its going to take me a month.

Quote from: RAWRzilla on July 10, 2013, 07:51:44 PM
So if I want to import one of my Pokeball pokemon imports and take down the poly count without losing the Pokepark rig (so I can keep the animations I worked so hard to do) would that be considered difficult/tedious? I am willing to do it, but not if its going to take me a month.
You could, I don't think it should be too difficult. It depends on the model and your patience. It can get tedious though, since it is a kind of repetitive process. But if you are not working with incredibly high poly models then it shouldn't be too hard.

I was hoping I could check how many faces the original pokeball pokemon had (Entei, Deoxys, take your pick) and then optimize the new model to have at least that many, and then re-import.

You can check how many faces they have in BrawlBox then make it less than that amount.