Jump to content
Sign in to follow this  
scorch_052

Textures not showing up on models in-game

Recommended Posts

I wasn't sure if this belonged in the modelling section since this isnt actually my model and I'm not actually modelling anything. Regardless, my issue is that a vehicle I am trying to port to ArmA 3 spawns properly, but has no textures.

Pic 1

I would really appreciate some help.

Share this post


Link to post
Share on other sites

Belongs in the Editing Section of the forums.

Need more detail than you have provided. "Porting" obvious can have 1000's of details.

Share this post


Link to post
Share on other sites
Gnat;2578541']Belongs in the Editing Section of the forums.

Need more detail than you have provided. "Porting" obvious can have 1000's of details.

Okay' date=' I'd appreciate it if a mod could move.

As far as details, here is my config.cpp:

class CfgPatches
{
class SC_LHD_Port
{
	units[] = {};
	weapons[] = {};
	requiredVersion = 0.1;
	requiredAddons[] = {};
};
};
class CfgVehicles
{
class StaticShip;
class Land_LHD_1: StaticShip
{
	model = "\SC_LHD_Port\lhd_1";
	displayName = "Landing Helicopter Dock";
	destrType = 0;
	featureSize = 100;
	class MarkerLights
	{
		class WhiteStill
		{
			name = "bily pozicni";
			color[] = {0.0388,0.0388,0.0388,1.0};
			ambient[] = {0.03,0.023,0.0056,1.0};
			brightness = 0.01;
			blinking = "false";
		};
		class BlueStill
		{
			name = "modry pozicni";
			color[] = {0.012,0.012,0.12,1.0};
			ambient[] = {0.03,0.023,0.0056,1.0};
			brightness = 0.01;
			blinking = "false";
		};
		class YellowStill
		{
			name = "zluty pozicni";
			color[] = {0.03,0.027,0.00672,1.0};
			ambient[] = {0.03,0.023,0.0056,1.0};
			brightness = 0.01;
			blinking = "false";
		};
		class RedStill
		{
			name = "cerveny pozicni";
			color[] = {0.12,0.006,0.006,1.0};
			ambient[] = {0.1,0.01,0.01,1.0};
			brightness = 0.01;
			blinking = "false";
		};
	};
};
class Land_LHD_2: Land_LHD_1
{
	model = "\SC_LHD_Port\lhd_2";
	displayName = "Landing Helicopter Dock";
};
class Land_LHD_3: Land_LHD_1
{
	model = "\SC_LHD_Port\lhd_3";
	displayName = "Landing Helicopter Dock";
	ladders[] = {
		{ "start1","end1" }};
	class AnimationSources
	{
		class dveremale
		{
			animPeriod = 1;
			initPhase = 1;
		};
		class dveremale1
		{
			animPeriod = 1;
			initPhase = 1;
		};
	};
	class UserActions
	{
		class OpenDoors1
		{
			displayNameDefault = "$STR_DN_OUT_O_DOOR_DEFAULT";
			displayName = "Open Door";
			position = "osa_dveremale";
			radius = 2;
			onlyForPlayer = "false";
			condition = "isnil""BIS_lockKheSanhDoors_small"" and this animationPhase ""dveremale"" < 0.5";
			statement = "this animate [""dveremale"", 1]";
		};
		class CloseDoors1
		{
			displayNameDefault = "$STR_DN_OUT_C_DOOR_DEFAULT";
			displayName = "Close Door";
			position = "osa_dveremale";
			radius = 2;
			onlyForPlayer = "false";
			condition = "isnil""BIS_lockKheSanhDoors_small"" and this animationPhase ""dveremale"" >= 0.5";
			statement = "this animate [""dveremale"", 0]";
		};
		class OpenDoors2
		{
			displayNameDefault = "$STR_DN_OUT_O_DOOR_DEFAULT";
			displayName = "Open Door";
			position = "osa_dveremale1";
			radius = 2;
			onlyForPlayer = "false";
			condition = "isnil""BIS_lockKheSanhDoors_small"" and this animationPhase ""dveremale1"" < 0.5";
			statement = "this animate [""dveremale1"", 1]";
		};
		class CloseDoors2
		{
			displayNameDefault = "$STR_DN_OUT_C_DOOR_DEFAULT";
			displayName = "Close Door";
			position = "osa_dveremale1";
			radius = 2;
			onlyForPlayer = "false";
			condition = "isnil""BIS_lockKheSanhDoors_small"" and this animationPhase ""dveremale1"" >= 0.5";
			statement = "this animate [""dveremale1"", 0]";
		};
	};
	actionBegin1 = "OpenDoors1";
	actionEnd1 = "OpenDoors1";
	actionBegin2 = "OpenDoors2";
	actionEnd2 = "OpenDoors2";
};
class Land_LHD_4: Land_LHD_1
{
	model = "\SC_LHD_Port\lhd_4";
	displayName = "Landing Helicopter Dock";
	class AnimationSources
	{
		class dveremale
		{
			animPeriod = 1;
			initPhase = 1;
		};
	};
	class UserActions
	{
		class OpenDoors1
		{
			displayNameDefault = "$STR_DN_OUT_O_DOOR_DEFAULT";
			displayName = "Open Door";
			position = "osa_dveremale";
			radius = 2;
			onlyForPlayer = "false";
			condition = "isnil""BIS_lockKheSanhDoors_small"" and this animationPhase ""dveremale"" < 0.5";
			statement = "this animate [""dveremale"", 1]";
		};
		class CloseDoors1
		{
			displayNameDefault = "$STR_DN_OUT_C_DOOR_DEFAULT";
			displayName = "Close Door";
			position = "osa_dveremale";
			radius = 2;
			onlyForPlayer = "false";
			condition = "isnil""BIS_lockKheSanhDoors_small"" and this animationPhase ""dveremale"" >= 0.5";
			statement = "this animate [""dveremale"", 0]";
		};
	};
	actionBegin1 = "OpenDoors1";
	actionEnd1 = "OpenDoors1";
};
class Land_LHD_5: Land_LHD_1
{
	model = "\SC_LHD_Port\lhd_5";
	displayName = "Landing Helicopter Dock";
};
class Land_LHD_6: Land_LHD_1
{
	model = "\SC_LHD_Port\lhd_6";
	displayName = "Landing Helicopter Dock";
	ladders[] = {
		{ "start1","end1" },
		{ "start2","end2" }};
};
class Land_LHD_house_1: StaticShip
{
	model = "\SC_LHD_Port\lhd_house_1";
	featureSize = 100;
	displayName = "Landing Helicopter Dock";
	ladders[] = {
		{ "start1","end1" },
		{ "start2","end2" }};
	destrType = 0;
	class MarkerLights
	{
		class BlueStill
		{
			name = "modry pozicni";
			color[] = {0.012,0.012,0.12,1.0};
			ambient[] = {0.03,0.023,0.0056,1.0};
			brightness = 0.01;
			blinking = "false";
		};
		class YellowStill
		{
			name = "zluty pozicni";
			color[] = {0.03,0.027,0.00672,1.0};
			ambient[] = {0.03,0.023,0.0056,1.0};
			brightness = 0.01;
			blinking = "false";
		};
		class RedStill
		{
			name = "cerveny pozicni";
			color[] = {0.12,0.006,0.006,1.0};
			ambient[] = {0.1,0.01,0.01,1.0};
			brightness = 0.01;
			blinking = "false";
		};
	};
};
class Land_LHD_house_2: StaticShip
{
	model = "\SC_LHD_Port\lhd_house_2";
	displayName = "Landing Helicopter Dock";
	ladders[] = {
		{ "start1","end1" }};
	featureSize = 100;
	destrType = 0;
	class MarkerLights
	{
		class WhiteStill
		{
			name = "bila sedma";
			color[] = {0.003,0.003,0.003,0.0};
			ambient[] = {0.03,0.023,0.0056,0.0};
			brightness = 0.1;
			blinking = "false";
		};
		class BlueStill
		{
			name = "modry pozicni";
			color[] = {0.012,0.012,0.12,1.0};
			ambient[] = {0.03,0.023,0.0056,1.0};
			brightness = 0.01;
			blinking = "false";
		};
		class YellowStill
		{
			name = "zluty pozicni";
			color[] = {0.03,0.027,0.00672,1.0};
			ambient[] = {0.03,0.023,0.0056,1.0};
			brightness = 0.01;
			blinking = "false";
		};
		class RedStill
		{
			name = "cerveny pozicni";
			color[] = {0.12,0.006,0.006,1.0};
			ambient[] = {0.1,0.01,0.01,1.0};
			brightness = 0.01;
			blinking = "false";
		};
	};
	class AnimationSources
	{
		class dveremale
		{
			animPeriod = 1;
			initPhase = 1;
		};
		class dverevelkeL
		{
			animPeriod = 1;
			initPhase = 0;
		};
		class dverevelkeR
		{
			animPeriod = 1;
			initPhase = 0;
		};
		class Lights_1
		{
			source = "user";
			animPeriod = 0.001;
			initPhase = 0;
		};
	};
	class UserActions
	{
		class OpenDoors1
		{
			displayNameDefault = "$STR_DN_OUT_O_DOOR_DEFAULT";
			displayName = "Open Door";
			position = "osa_dveremale";
			radius = 2;
			onlyForPlayer = "false";
			condition = "isnil""BIS_lockKheSanhDoors_small"" and this animationPhase ""dveremale"" < 0.5";
			statement = "this animate [""dveremale"", 1]";
		};
		class CloseDoors1
		{
			displayNameDefault = "$STR_DN_OUT_C_DOOR_DEFAULT";
			displayName = "Close Door";
			position = "osa_dveremale";
			radius = 2;
			onlyForPlayer = "false";
			condition = "isnil""BIS_lockKheSanhDoors_small"" and this animationPhase ""dveremale"" >= 0.5";
			statement = "this animate [""dveremale"", 0]";
		};
		class OpenDoors2
		{
			displayNameDefault = "$STR_DN_OUT_O_DOOR_DEFAULT";
			displayName = "Open Door";
			position = "osa_dverevelkeL";
			radius = 4;
			onlyForPlayer = "false";
			condition = "isnil""BIS_lockKheSanhDoors_large"" and this animationPhase ""dverevelkeL"" < 0.5";
			statement = "this animate [""dverevelkeL"", 1];this animate [""dverevelkeR"", 1]";
		};
		class CloseDoors2
		{
			displayNameDefault = "$STR_DN_OUT_C_DOOR_DEFAULT";
			displayName = "Close Door";
			position = "osa_dverevelkeL";
			radius = 4;
			onlyForPlayer = "false";
			condition = "isnil""BIS_lockKheSanhDoors_large"" and this animationPhase ""dverevelkeL"" >= 0.5";
			statement = "this animate [""dverevelkeL"", 0];this animate [""dverevelkeR"", 0]";
		};
	};
	actionBegin1 = "OpenDoors1";
	actionEnd1 = "OpenDoors1";
	actionBegin2 = "OpenDoors2";
	actionEnd2 = "OpenDoors2";
};
class Land_LHD_elev_R: StaticShip
{
	model = "\SC_LHD_Port\lhd_elev_r";
	displayName = "Landing Helicopter Dock";
	destrType = 0;
};
class SC_LHD: StaticShip {
	scope = 2;
	side = 1;
	faction = "BLU_F";
	vehicleClass = "Ship";
	picture = "\SC_LHD_Port\data\Picture_LHD_CA.paa";
	icon = "\SC_LHD_Port\data\Icon_LHD_CA.paa";
	displayName = "USS Essex";
	mapsize = 300;
	destrType = 0;
	featureSize = 100;
	class Eventhandlers {
		init = "_scr = _this execVM ""\SC_LHD_Port\Data\init.sqf"";";
	};
};
};

I'm using [GLT']Myke's LHD addon from ArmA 2 to spawn the LHD as one piece in the editor. I took the "LHD" folder from the "water2.pbo" file from ArmA 2. When I open the ship in the editor, an error message pops up saying "Cannot open object bmp.p3d".

Share this post


Link to post
Share on other sites

I dont think its your config

Based on that picture, likely you havent adjusted all the textures/texture paths and RVMAT definitions. Still pointing to A2 ones that dont exist .....

Black usually means a NOHQ problem.

Share this post


Link to post
Share on other sites

Do you know where I need to place the texture paths?

---------- Post added at 03:42 ---------- Previous post was at 01:48 ----------

I've figured it out, thanks for the help. nevermind, it still doesn't work. :\

Edited by Scorch_052

Share this post


Link to post
Share on other sites

Um, you're porting an Arma 2 model, which will point to "ca\.....". Obviously you've simply moved the LHD folder from water.pbo. Your problem is that you're trying to port the LHD piecemeal-wise, taking what you think you need while discarding what you think you don't need. It's not that simple. Since the samples are available, I'd suggest getting the sample model of the LHD, and changing the pathname to whatever you want to name that pbo. You'll need to do that for ALL the textures AND the rvmats (your black texture issue, which you'll notice changes with the direction of the sun, is because the rvmats are pointing to textures the game can't find). As far as the bmp.p3d thing, not sure. Not sure why the LHD depends on the bmp.p3d model, but again, you're going about it in a piecemeal fashion. You're going to have to find the path to bmp.p3d (and find out why it's referencing that file) and then you're going to have to put that p3d in a new folder, and change the path of that p3d to your new folder.

Share this post


Link to post
Share on other sites

I am using the sample model of the LHD but I do not know how to change the path the file points to. I've changed the texture paths in the .rvmat files but that has no effect. I also can't find where the bmp.p3d is called or referenced.

Share this post


Link to post
Share on other sites

this is an example (doors.rvmat)

////////////////////////////////////////////////////////////////////
//DeRap: Produced from mikero's Dos Tools Dll version 4.13
//Sat Dec 14 15:43:16 2013 : Source 'file' date Sat Dec 14 15:43:16 2013
//http://dev-heaven.net/projects/list_files/mikero-pbodll
////////////////////////////////////////////////////////////////////

#define _ARMA_

//Class water2 : LHD\data\doors.rvmat{
ambient[] = {1.0,1.0,1.0,1.0};
diffuse[] = {1.0,1.0,1.0,1.0};
forcedDiffuse[] = {0.0,0.0,0.0,1.0};
emmisive[] = {0.0,0.0,0.0,1.0};
specular[] = {0.624,0.672,0.688,1.0};
specularPower = 80.0;
PixelShaderID = "Super";
VertexShaderID = "Super";
class Stage1
{
texture = "\SC_LHD_Port\data\doors_nohq.paa";
uvSource = "tex";
class uvTransform
{
	aside[] = {1.0,0.0,0.0};
	up[] = {0.0,1.0,0.0};
	dir[] = {0.0,0.0,0.0};
	pos[] = {0.0,0.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.0,0.0};
	up[] = {0.0,1.0,0.0};
	dir[] = {0.0,0.0,0.0};
	pos[] = {0.0,0.0,0.0};
};
};
class Stage3
{
texture = "#(argb,8,8,3)color(0,0,0,0,MC)";
uvSource = "tex";
class uvTransform
{
	aside[] = {1.0,0.0,0.0};
	up[] = {0.0,1.0,0.0};
	dir[] = {0.0,0.0,0.0};
	pos[] = {0.0,0.0,0.0};
};
};
class Stage4
{
texture = "#(argb,8,8,3)color(1,1,1,1,AS)";
uvSource = "tex";
class uvTransform
{
	aside[] = {1.0,0.0,0.0};
	up[] = {0.0,1.0,0.0};
	dir[] = {0.0,0.0,0.0};
	pos[] = {0.0,0.0,0.0};
};
};
class Stage5
{
texture = "\SC_LHD_Port\data\doors_smdi.paa";
uvSource = "tex";
class uvTransform
{
	aside[] = {1.0,0.0,0.0};
	up[] = {0.0,1.0,0.0};
	dir[] = {0.0,0.0,0.0};
	pos[] = {0.0,0.0,0.0};
};
};
class Stage6
{
texture = "#(ai,64,64,1)fresnel(1.29,1.01)";
uvSource = "tex";
class uvTransform
{
	aside[] = {1.0,0.0,0.0};
	up[] = {0.0,1.0,0.0};
	dir[] = {0.0,0.0,0.0};
	pos[] = {0.0,0.0,0.0};
};
};
class Stage7
{
texture = "\SC_LHD_Port\data\env_chrome_co.paa";
uvSource = "none";
};
//};

Would the "#(argb,8,8,3)color(1,1,1,1,AS)" lines be a potential problem? Could those point to undefined selections/sections?

Share this post


Link to post
Share on other sites

texture = "SC_LHD_Port\data\env_chrome_co.paa";

not

texture = "\SC_LHD_Port\data\env_chrome_co.paa";

you don't need the first "\". did you change the texture paths in the model?

Share this post


Link to post
Share on other sites
did you change the texture paths in the model?

How do i do that. Do I have to open the .p3d? If so it wont let me because its binarized.

Share this post


Link to post
Share on other sites

Oh well download the arma2 content that was released, it contains the unbinerized model. Everyone was assuming you were using the unbinerized model

Share this post


Link to post
Share on other sites

Okay I'm now downloading the sample models. I did not realize that the Licensed Data Pack was binarized.

Share this post


Link to post
Share on other sites

So I've made some progress. The ship is no longer black and white and I've solved the "cannot open object bmp.p3d" issue (it was due to an unspecified model parameter in the config.cpp).

Unfortantely, I now can't seem to apply the textures to the different addons to the ship.

Missing Interior

Missing CIWS/SSMs

Missing Carrier Lights/Guidance Lines

I've specified the appropriate textures of the models, but it doesnt seem to be working.

Share this post


Link to post
Share on other sites

it is because, as previously said, the model is made out of parts, and it seems you don't have all the parts put together

Share this post


Link to post
Share on other sites
it is because, as previously said, the model is made out of parts, and it seems you don't have all the parts put together

Okay. So, I have all those addons that I must also define and place in the config and then properly attach?

Share this post


Link to post
Share on other sites

SOunds like your first project. You've picked something very difficult. Maybe start learning on something a little less difficult

Share this post


Link to post
Share on other sites
Gnat;2579594']SOunds like your first project. You've picked something very difficult. Maybe start learning on something a little less difficult

Yeah. I think I'll work on the destroyer and see if I can get that handled. I'm hoping to make a naval vehicle port.

Share this post


Link to post
Share on other sites

Eah because surely the destroyer will be a lot easier

Share this post


Link to post
Share on other sites

I'd like to bump this as I'm having the same problem (and the forums won't let me make a new thread. Spambot protection, I guess?)

I'm making a custom helmet and the model shows up white and the game complains that it can't find the diffuse texture, possibly because of the following

1. I have no idea how to set up addon packing properly, do my textures need to be in the data folder inside of my source folder when I link them to the mesh in O2? Does my source folder need to be in arma's directory or can it be anywhere?

3. I can't for the life of me figure out how to work with rvmats. Are they even necessary or are they just for adding more advanced stuff like normals? When typing the address of a texture in rvmats should I type the whole address (C:\...\ArmA3\myaddon etc ) or just "myaddon\data\texture.paa" ?

I've been modding for like a dozen different game engines, arma so far is giving me the most trouble :(

Edit: Well now, turns out the pbo packer wasn't set up correctly. FML. Still, I'd like some clarifications about rvmats, where can I find some proper templates to see how they work?

Edited by Mickyan

Share this post


Link to post
Share on other sites

the right texturepath is "\myaddonfolder\...\texture.paa" not sure if you need .paa, but it doesnt hurt. If you have C:/... in your path, other people using your addon will not see textures because they dont exist in that place on their machine

you dont need rvmat for the diffuse map to show up

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
Sign in to follow this  

×