Jump to content
TroyT

RVMAT Clarifications (Hopefully)

Recommended Posts

I've trying to get a better handle on rvmat settings.  I've been going through A3 rvmat files and experimenting with changes on my own but there are still holes that I can't find info on. One of these holes is how the uvTransform settings work within the stages. Eg:

class Stage2
{
	texture="#(argb,8,8,3)color(0.8,0.8,0.8,0)";
	uvSource="tex";
	class uvTransform
	{
		aside[]={0,1,0};
		up[]={-1,0,0};
		dir[]={0,0,0};
		pos[]={0,0,0};
	};
};

I assume that these are some sort of UV coordinate.  I see many variations of these in the dozens of rvmats that I've been looking at.  Changing them seems to have no effect on my models.  The stage shown is an example.  I'm curious about their function in general.

Share this post


Link to post
Share on other sites

**** EDIT****  Apparently, this is only the case in the VR Editor.  Bringing into a map, it displays fine.  Another lesson learned.

 

On the same topic there's this, which may be related:
 

What controls how an object's normal map is displayed when no direct lighting is applied?  How do you get the normal map to activate in indirect light?

 

BSF_GW_1.jpg

 

BSF_GW_2.jpg

 

You can see the normal map pop into action as you rotate the face into the light. I haven't noticed this as an issue before on other assets so I may have changed something unknowingly while experimenting with other settings.  This one is very obvious.

 

Share this post


Link to post
Share on other sites
On 8/6/2021 at 5:14 PM, TroyT said:

**** EDIT****  Apparently, this is only the case in the VR Editor.  Bringing into a map, it displays fine.  Another lesson learned.

 

On the same topic there's this, which may be related:
 

What controls how an object's normal map is displayed when no direct lighting is applied?  How do you get the normal map to activate in indirect light?

 

You can see the normal map pop into action as you rotate the face into the light. I haven't noticed this as an issue before on other assets so I may have changed something unknowingly while experimenting with other settings.  This one is very obvious.

 

post your entire RVMAT please

 

On 8/6/2021 at 6:51 AM, TroyT said:

I've trying to get a better handle on rvmat settings.  I've been going through A3 rvmat files and experimenting with changes on my own but there are still holes that I can't find info on. One of these holes is how the uvTransform settings work within the stages. Eg:


class Stage2
{
	texture="#(argb,8,8,3)color(0.8,0.8,0.8,0)";
	uvSource="tex";
	class uvTransform
	{
		aside[]={0,1,0};
		up[]={-1,0,0};
		dir[]={0,0,0};
		pos[]={0,0,0};
	};
};

I assume that these are some sort of UV coordinate.  I see many variations of these in the dozens of rvmats that I've been looking at.  Changing them seems to have no effect on my models.  The stage shown is an example.  I'm curious about their function in general.

i assume you are talking about UV transforms. indeed, these are UVW world transformation, which means you can choose to rotate on UVW axis, as well as translate the texture in relation to the mesh it is applied on. 

Share this post


Link to post
Share on other sites
2 hours ago, PuFu said:

post your entire RVMAT please

 

 

Spoiler

ambient[]={1,1,1,1};
diffuse[]={1,1,1,1};
forcedDiffuse[]={0,0,0,0};
emmisive[]={0,0,0,1};
specular[]={0.150000,0.150000,0.150000,1};
specularPower=15;
PixelShaderID="Super";
VertexShaderID="Super";
class Stage1
{
	texture="BSF_Community_Addon\addons\BSF_IronWall\IronWall_Door\Data\BSF_GreenWall_Door_C_NOHQ.paa";
	uvSource="tex";
};
class Stage2
{
	texture="#(argb,8,8,3)color(0.8,0.8,0.8,0)";
	uvSource="tex";
	class uvTransform
	{
		aside[]={0,1,0};
		up[]={-1,0,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="BSF_Community_Addon\addons\BSF_IronWall\IronWall_Door\Data\BSF_GreenWall_Door_C_AS.paa";
	uvSource="tex";
	class uvTransform
	{
		aside[]={1,0,0};
		up[]={0,1,0};
		dir[]={0,0,1};
		pos[]={0,0,0};
	};
};
class Stage5
{
	texture="BSF_Community_Addon\addons\BSF_IronWall\IronWall_Door\Data\BSF_GreenWall_Door_C_SMDI.paa";
	uvSource="tex";
	class uvTransform
	{
		aside[]={1,0,0};
		up[]={0,1,0};
		dir[]={0,0,1};
		pos[]={0,0,0};
	};
};
class Stage6
{
	texture="#(ai,64,64,1)fresnel(3.12,3.87)";
	uvSource="tex";
	class uvTransform
	{
		aside[]={1,0,0};
		up[]={0,1,0};
		dir[]={0,0,1};
		pos[]={0,0,0};
	};
};
class Stage7
{
	texture="a3\data_f\env_land_co.paa";
	useWorldEnvMap = true;
	uvSource="none";
};

 

 

Share this post


Link to post
Share on other sites

I've never seen a normal map that flat, but then again I always have uvTransform  information in Stage1 of my RVMATs which you seem to lack:

class Stage1
{
	texture="BSF_Community_Addon\addons\BSF_IronWall\IronWall_Door\Data\BSF_GreenWall_Door_C_NOHQ.paa";
	uvSource="tex";
	class uvTransform
	{
		aside[]={1,0,0};
		up[]={0,1,0};
		dir[]={0,0,0};
		pos[]={0,0,0};
	};
};

That might make a difference, it might not. To tell the truth I don't really understand them and have only just come to terms with configuring different material types using specular power etc.

Share this post


Link to post
Share on other sites
On 8/6/2021 at 3:14 PM, TroyT said:

How do you get the normal map to activate in indirect light?

You don't really. Arma uses diffuse textures that are supposed to have some elements of pre-baked lighting to compensate. Not use just straight colour/albedo maps that are designed for PBR shaders.

It's advisable to bake/generate curvature maps and ambient occlusion maps and apply them over the top of the albedo with an overlay (for curvature) and multiply (for ao). IIRC most PBR texturing aps like Substance and Quixel contain a "base" material that generates these overlays from input maps and applies them in albedo/colour, specular etc. maps for creating these kinds of stylised textures.

  • Like 1

Share this post


Link to post
Share on other sites

Substance (designer and also painter) have options to bake lighting into the textures too (can look much better than just applying ambient occlusion and curvature, especially for shiny metal),  but its tricky to find a good lighting setting and environment map that doesnt overdo it and still looks somewhat believable when only lit indirectly.

  • Like 1

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

×