Hi, this is a small tuto, or tip, or whatever, so people try to have better shaders in their imports (characters or stages)
What's what I'm calling 'shader' here? Basically, the way the models react to lighting. Some people null the normals so the lighting doesn't affect the models and they look always the same. I personally don't like that for characters, while I find it useful in stages sometimes.
The main influence to the shaders are the normals. They are some vectors defining the 'normal' direction to the surfaces in the models. The good direction would be perpendicular, or normal, to the surfaces, but this isn't always happening. Those normals are defined in 3dsmax, and they can be wrong sometimes.
For example, if you import a model into 3d max and you rotate it so it looks the direction you want it to look, the normals in game will probably get rotated. This means that, when a light comes from, for example, the right side, the model is lighten from the front instead. In some cases, in some stages, this may look decent, but in some other stages with very directional lights (for example my phantom ganon's room) you may get a too dark character because of this.
I've recently fixed some characters with shader issues (Dry Bowser, Melee Mewtwo by pikazz), and even a stage (Metal Harbor by Oizen). The stage was way too dark, and the characters had some not uniformly rotated shaders. I'm gonna tell you how to fix your own things before rigging them, or at least, before releasing them.
All of this in 3d max:
- Once you've positioned your model the way you need it, attach it to a bone. You can create that bone (create->systems->bones IK chain). Create just one (right mouse click and del to delete the second one being created). Select that one, move it to 0,0,0. Rotate it in 90,0,0. Select all your models being sure you're not gonna rotate them anymore, and give all of them the same 'skin' modifier. Select the bone you've created so all the models are 'rigged' to that only bone.
- Export as dae. I suppose you know what to do about inches and centimeters. I always import in centimeters and export in inches.
In brawlbox:
- Import the dae model. Save as .dae again.
In 3d max again:
- Import the new dae. The model to work with is this one. Once finished working with it, you'll need to export it again. Only that this time, it will look fine in shader matters.
If you rotate your model, and you get it into brawlbox directly, you may get something like this in brawlbox. This is how the model looks the first time you get it into brawlbox:
After importing it again to 3dsmax (where the shaders are reseted), if you were to save it into dae again, and look it in brawlbox, this would be how it looks:
If textures aren't in the file yet, you must see white surfaces from all the directions (rotate the view). If it gets dark like the previous one in some direction, importing it to 3ds max to reset the shaders is necessary.
This can be done even when the rig is made and finished (if not, I wouldn't have been able to fix finished characters like pikazz's). But, if you have made some manual changes to the normals in 3ds, you'll lose them when importing the dae. That's why I recommend you to do this before rigging the model, and saving the progress always in max, never in dae.
By the way, talking about characters, if you look at the original ones in brawlbox, you'll notice some of them to have darkened parts like this:
Yeah, this happens with original characters, and they look fine ingame. It's because of how the bones are made, that you'll need to rotate the normals manually in some characters. That's done with the 'edit normals' modifier in max. You'll need to select a bunch of vertices, usually in the leg and arm, and rotate the normals 180º in x. You'll see how they get dark in max. That's normal.
The stuff in the spoiler is outdated since this post:
http://forums.kc-mm.com/index.php?topic=39586.msg819056If you want to check your character's shaders, you can test in stages with special lightning, like my Kongo64 or my Phantom Ganon's Room. Compare how an original character gets lighten with yours, and you'll see what's wrong in them.
Now, something I noticed yesterday, and feel stupid about it. In the new brawlbox, in 'materials' you will find 'flag1'. It was 'flag6' in the older ones, and in my Material Tool too. For characters, it usually is 20.
Some people, and even I, believed it was some brightness value. If it's 255, the model will usually be very lighten up. But it's not brightness, but the light set afffecting the model. While the '20' is for characters, '0' and '1' would be for stages. I noticed it while fixing Oizen's Metal Harbor. Why the stage is getting more lightened if I'm changing the lights for characters? It was that value, which was 20 by default when importing from .dae files. So, watch out for that value.
Flag 2 (Flag7 in old brawlbox and Materiall Tool) is similar, but with fogs. Just take them in consideration.
Now, in model imports like Oizen's stage, which has lots (more than 40) materials to change, I recommend you to use my Material Tool. Material Tool has the ability to change values in all the materials in a model at the same time. With the 'to all' thingy checked, you can change flags 6 and 7 to be 1 and 0 for stages.
You can also enable semitransparency easily with a checkbox, or even force all the color nodes in the model to get some value. There's also a hidden menu allowing to change some values controling if the lights affect to the model or not (I'm not aware of how 'nulling normals' is done, but this is my way to get the effect) and some transparency-related settings, which can be applied to all the materials at the same time too.
The extra menu is accessed by double clicking on the material name, and entering a password. To get the password, just contact me (this is to see how many people gets interest on this part of the program, nothing more), and I'll tell you the basics of the extra menu.
I guess this is all. I hope reading this guide makes that shaders in imports are getting improved from now on.