HD Sabre complete.

Moderators: GSH, Commando, Red Devil, VSMIT

User avatar
MrTwosheds
Recycler
Posts: 3059
Joined: Sat Feb 19, 2011 8:37 am
Location: Outer Space
Contact:

Re: HD Sabre complete.

Post by MrTwosheds »

That's interesting. The method i've been using to teamcolor the Hadeans has involved making a duplicate of a given texture with a different name and not generating a c0 version of it; then doing a find-replace in the MSH (or XSI) so that parts of the model use the alternate texture. It's slightly more crude than your method (not per-polygon, but per uvmapped surface) but can be done via a text or hex editor and some trial-and-error.
Its really only useful if your making a new model and can design the team color free areas into it. I don't think reworking existing models is likely to produce a pleasing result.
The xsi data for multiple textures looks like
MeshMaterialList {
2; //2 not 1!
130; //130 polys
0,
1, // <not 0! determines that this poly uses the other material, below
0,
//----------etc etc-------------
0;


SI_Material {
0.588235;0.588235;0.588235;1.000000;;
0.400000;
0.900000;0.900000;0.900000;;
0.000000;0.000000;0.000000;;
0.000000;
0.328235;0.328235;0.328235;;

SI_Texture2D {
"dalekmb01.dxtbz2";
3;
0;0;
0;12594;0;543;
0;
1;1;
0;0;
1.000000;1.000000;
0.000000;0.000000;
1.000000,0.000000,0.000000,0.000000,
0.000000,1.000000,0.000000,0.000000,
0.000000,0.000000,1.000000,0.000000,
0.000000,0.000000,0.000000,1.000000;;
3;
1.000000;
0.750000;
1.000000;
0.000000;
0.000000;
0.000000;
0.000000;
}
} //A second material
SI_Material {
0.588235;0.588235;0.588235;1.000000;;
0.000000;
0.000000;0.000000;0.000000;;
0.000000;0.000000;0.000000;;
0.000000;
0.368627;0.368627;0.368627;;

SI_Texture2D {
"dalekmx00.dxtbz2";
//-----etc etc-------

So the 00 texture is the second one down and the numeric values in MeshMaterialList have been swapped over from what they were after export from max. I have not tried this with more than 2 materials. Don't see why It shouldn't still work though.
Only after you have done this little tweak, will bz2 mesh builder only put team color on area's of a mesh that have the 00 texture on them. Just think of it as altering the point at which the big bucket of red paint gets thrown. :)
The Silence continues. The War Of Lies has no end.
User avatar
MrTwosheds
Recycler
Posts: 3059
Joined: Sat Feb 19, 2011 8:37 am
Location: Outer Space
Contact:

Re: HD Sabre complete.

Post by MrTwosheds »

To explain this a different way.
C = a texture with a (00&c0) team color
N = a texture without team color
1 or 0 is how its defined per poly in the MeshMaterialList.
Left or right its position (first or second) in SI_Material.

so
C0-N1
C1-N0
N0-C1
N1-C0
are the four states the two materials could be in, only 2 of them produces team colors on a part of a single mesh when fed to bz2's mesh builder, it is not either of the 2 states delivered by the Max exporter. :) (probably N0-C1 and C0-N1 but its difficult to be certain :)
The Silence continues. The War Of Lies has no end.
Post Reply