Jump to content

Recommended Posts

Hey there! 

 

Trying to import models to ARMA 3 for an addon I've been working on (legally bought, rigged them ourselves).

We've finished the rigging portion, but we're finding issues in what we assume is an object builder for texturing. Whenever we load up the addon in the game, the hidden selection textures (in our case, the helmet cover) show up as black or brown. The base helmet (which uses the same RVmat as the cover) show's up without any issue, however, it uses a texture set in the object builder instead of the config. The textures have all the proper names and are listed in what we think is the right section of the config. Would anyone mind helping us?
 

Config (Portions referring the selections):

   class BCO_SHC : ItemCore
    {
        scope=2;
        author="BCO/10SFG";
        scopeArsenal=2;
        displayName="(BCO/10SFG Super High Cut";
        picture=" ";
        model="BCO10SFGHelmets\models\BCO_SHC.p3d"
        hiddenSelections[]=
        {
            "Camo1", // BackPouch
            "Camo2", // Battery
            "Camo3", // Comtacts
            "Camo4", // Cover
            "Camo5", // Earpro
            "Camo6", // InforceLight
            "Camo7", // Olight1
            "Camo8", // Olight2
            "Camo9", // Patch1
            "Camo10", // Patch2
            "Camo11", // Patch3
            "Camo12", // Strobe
            "Camo13", // Strobetape
            "Camo14", // Surefire
            "Camo15", // VLITE
            };
            hiddenSelectionsTextures[]=
            {
            "\BCO10SFGHelmets\Data\SuperHighCut\BCO_SHC_AC.paa", // BackPouch
            " ", // Battery
            " ", // Comtacts
            "\BCO10SFGHelmets\Data\SuperHighCut\BCO_SHC_MC.paa", // Cover
            " ", // Earpro
            " ", // InforceLight
            " ", // Olight1
            " ", // Olight2
            " ", // Patch1
            " ", // Patch2
            " ", // Patch3
            " ", // Strobe
            " ", // Strobetape
            " ", // Surefire
            " ", // VLITE
            };
        class ItemInfo: HeadgearItem
        {
            uniformModel="BCO10SFGHelmets\models\BCO_SHC.p3d";
            mass=50;
            hiddenSelections[]=
            {
            "Camo1", // BackPouch
            "Camo2", // Battery
            "Camo3", // Comtacts
            "Camo4", // Cover
            "Camo5", // Earpro
            "Camo6", // InforceLight
            "Camo7", // Olight1
            "Camo8", // Olight2
            "Camo9", // Patch1
            "Camo10", // Patch2
            "Camo11", // Patch3
            "Camo12", // Strobe
            "Camo13", // Strobetape
            "Camo14", // Surefire
            "Camo15", // VLITE
            };
            hiddenSelectionsTextures[]=
            {
            "\BCO10SFGHelmets\Data\SuperHighCut\BCO_SHC_AC.paa", // BackPouch
            " ", // Battery
            " ", // Comtacts
            "\BCO10SFGHelmets\Data\SuperHighCut\BCO_SHC_OD.paa", // Cover
            " ", // Earpro
            " ", // InforceLight
            " ", // Olight1
            " ", // Olight2
            " ", // Patch1
            " ", // Patch2
            " ", // Patch3
            " ", // Strobe
            " ", // Strobetape
            " ", // Surefire
            " ", // VLITE
            };

RVMats for the helmet + cover:
 

ambient[] = { 1, 1, 1, 1 };
diffuse[] = { 1, 1, 1, 1 };
forcedDiffuse[] = { 0, 0, 0, 1 };
emmisive[] = { 0, 0, 0, 1 };
specular[] = { 0.1, 0.1, 0.1, 1 };
specularPower = 2;
PixelShaderID = "Super";
VertexShaderID = "Super";
class Stage1 {
	texture = "BCO10SFGHelmets\Data\SuperHighCut\SuperHighCut_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, 1, 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 = "BCO10SFGHelmets\Data\SuperHighCut\SuperHighCut_AS.paa";
	uvSource = "tex";
	class uvTransform {
		aside[] = { 1, 0, 0 };
		up[] = { 0, 1, 0 };
		dir[] = { 0, 0, 1 };
		pos[] = { 0, 0, 1 };
	};
};
class Stage5 {
	texture = "BCO10SFGHelmets\Data\SuperHighCut\SuperHighCut_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(0.4,0.2)";
	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_ca.paa";
	useWorldEnvMap = "true";
	uvSource = "tex";
	class uvTransform {
		aside[] = { 1, 0, 0 };
		up[] = { 0, 1, 0 };
		dir[] = { 0, 0, 1 };
		pos[] = { 0, 0, 0 };
	};
};
class StageTI {
	texture = "a3\data_f\default_vehicle_ti_ca.paa";
};

 

ArmA_3_Screenshot_2023.05.21_-_16.58.43.ArmA_3_Screenshot_2023.05.28_-_19.35.17.

Share this post


Link to post
Share on other sites

This may seem like a weird response, but go with me on this...

Have you tried opening the .paa outside of game and if so does it look "normal"?

TexView uses filters when its converting textures from TGA/PNG/whatever based on suffixes of the texture name itself. More information on this can be found HERE.

Due to this, your texture ('BCO_SHC_MC.paa') may mean that TexView is trying to convert it to a macro texture.

Always try and get in the habit of using the texture naming conventions when creating your textures so TexView knows what filters to apply - in this case you'd want your names to end with _co.paa

 

EDIT: On second look, why does the hiddenSelectionsTextures array have two different textures for the cover for the same item? (_mc.paa in the main define, and _od.paa in the ItemInfo sub-class). This might also be a cause but I could be wrong...

 

EDIT 2: After trying out my original theory by renaming a _co.paa texture I know works fine to _mc.paa suffix and converting it with TexView, the resulting file appeared fine with no issues I could spot...

Share this post


Link to post
Share on other sites
On 5/31/2023 at 1:51 AM, Jackal326 said:

This may seem like a weird response, but go with me on this...

Have you tried opening the .paa outside of game and if so does it look "normal"?

TexView uses filters when its converting textures from TGA/PNG/whatever based on suffixes of the texture name itself. More information on this can be found HERE.

Due to this, your texture ('BCO_SHC_MC.paa') may mean that TexView is trying to convert it to a macro texture.

Always try and get in the habit of using the texture naming conventions when creating your textures so TexView knows what filters to apply - in this case you'd want your names to end with _co.paa

 

EDIT: On second look, why does the hiddenSelectionsTextures array have two different textures for the cover for the same item? (_mc.paa in the main define, and _od.paa in the ItemInfo sub-class). This might also be a cause but I could be wrong...

 

EDIT 2: After trying out my original theory by renaming a _co.paa texture I know works fine to _mc.paa suffix and converting it with TexView, the resulting file appeared fine with no issues I could spot...


I appreciate your response! Sadly none of these worked for us.

Fixed the two different textures, and renamed the files to fit the naming conventions but sadly, neither of those fixed it. 

We're still new at this, so we appreciate your help!

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

×