Jump to content
capttyco

Applying Normal Maps

Recommended Posts

I am in the midst of completing a reskin for the default NATO units. What I am wanting to do is swap the normal map on the default helmet with my own to give the impression it has a fabric cover and not just bare metal. I am at a loss of how to do this? Is there something that must be added to the config or do I just simply throw the normal map in with the other texture when I pack it. Any help would be greatly appreciated.

Share this post


Link to post
Share on other sites

From the little experience I have with textures as long as all the texture names are the same as previously then it will repack the same but with your new textures.

Share this post


Link to post
Share on other sites

You need make a new .rvmat file.

Copy the old one, un-binarise it like you do with a config.bin and change the path for the normal map texture inside the .rvmat using a text editor so that it points to where your new _NOHQ.paa texture file is located (should be under class Stage1 IIRC). Then save the new .rvmat to your texture folder in the addon along with your new normal map.

Then in the config you need an one additional line that says

hiddenSelectionsMaterials[] = {"PathToMaterial.rvmat"}; 

You can add it right next to where you have already set hiddenSelectionsTextures to change the colour of the helmet.

AFAIK it works juts fine on helmets, weapons, body armour etc. (things that don't have any damage texture states) but if you use it on uniforms it stops them from showing blood textures when the unit is shot.

You may also want to create a new _SMDI.paa Specular Map so that the fabric material on the helmet doesn't shine in the same way as the bare helmet. Again you'd just change the path to the SMDI in your new .rvmat (specular map is under class Stage5 IIRC).

Share this post


Link to post
Share on other sites

Thanks da12thMonkey! That all makes perfect sense. Is there a program you would recommend for unwrapping the .rvmat?

Share this post


Link to post
Share on other sites

I use Laza to modify rvmats. Never once given me a problem and extremly easy to use

Share this post


Link to post
Share on other sites

Cool I will have to check it out. I just unwrapped them using unwrap and that seemed to work well. Ive run in to one last problem though: my desert helmet seems to have a bit of a pinkish/purple hue on it. Its not from the .nohq or the .smdi so I figure it must be the .rvamt. I am having trouble wrapping my head around how they work. Ill post the one in question below, if anyone can steer me as to how to correct the hue and give it a more cloth like appearance that would be amazing.

class StageTI {
texture = "a3\characters_f\blufor\data\equip1_ti_ca.paa";
};
ambient[] = {1, 1, 1, 1};
diffuse[] = {1, 1, 1, 1};
forcedDiffuse[] = {0, 0, 0, 0};
emmisive[] = {0, 0, 0, 1};
specular[] = {0.5, 0.5, 0.5, 0};
specularPower = 150;
PixelShaderID = "Super";
VertexShaderID = "Super";

class Stage1 {
texture = "tycomod\data\equip1_nohq.paa";
uvSource = "tex";

class uvTransform {
	aside[] = {1, 0, 0};
	up[] = {0, 1, 0};
	dir[] = {0, 0, 0};
	pos[] = {0, 0, 0};
};
};

class Stage2 {
texture = "#(argb,8,8,3)color(0.5,0.5,0.5,1,DT)";
uvSource = "tex";

class uvTransform {
	aside[] = {1, 0, 0};
	up[] = {0, 1, 0};
	dir[] = {0, 0, 0};
	pos[] = {0, 0, 0};
};
};

class Stage3 {
texture = "#(argb,8,8,3)color(0,0,0,0,MC)";
uvSource = "tex";

class uvTransform {
	aside[] = {1, 0, 0};
	up[] = {0, 1, 0};
	dir[] = {0, 0, 0};
	pos[] = {0, 0, 0};
};
};

class Stage4 {
texture = "a3\characters_f\blufor\data\equip1_as.paa";
uvSource = "tex";

class uvTransform {
	aside[] = {1, 0, 0};
	up[] = {0, 1, 0};
	dir[] = {0, 0, 0};
	pos[] = {0, 0, 0};
};
};

class Stage5 {
texture = "tycomod\data\equip1_smdi.paa";
uvSource = "tex";

class uvTransform {
	aside[] = {1, 0, 0};
	up[] = {0, 1, 0};
	dir[] = {0, 0, 0};
	pos[] = {0, 0, 0};
};
};

class Stage6 {
texture = "#(ai,64,64,1)fresnel(1,0.7)";
uvSource = "none";
};

class Stage7 {
texture = "a3\data_f\env_co.paa";
useWorldEnvMap = "true";
uvSource = "tex";

class uvTransform {
	aside[] = {1, 0, 0};
	up[] = {0, 1, 0};
	dir[] = {0, 0, 0};
	pos[] = {0, 0, 0};
};
};

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×