User Tools

Site Tools


arma:modeling:bisoldieringame

ArmA 1 BIsoldier In-game

ArmA 1 Forum, ArmA 1 Home, ArmA 1 Config, ArmA 1 Tools, ArmA 1 File Formats, ArmA 1 Missions, ArmA 1 3D Modeling, ArmA 1 Terrain, ArmA 1 Texturing, ArmA 1 Scripting

ArmA 1 aka Armed Assault (ArmA)

There still seems to be some fuss about how to bring the BIsoldier (bis released BImodels MLODs of its soldier) model in-game. Here is what PMC did to create working config for them.

CfgSkeletons

First in CfgSkeletons in model.cfg file we did like this:

class CfgSkeletons
	// soldier models
	class Head
	{
		isDiscrete = 0;
		skeletonInherit = "";
		skeletonBones[] =
		{
			"neck","",
			"neck1","neck",
			"head","neck1",
			"lBrow","head",
			"mBrow","head",
			"rBrow","head",
			"lMouth","head",
			"mMouth","head",
			"rMouth","head",
			"eyelids","head",
			"LLip","head"
		};
	};
	class VTE_BISkeleton
	{
		isDiscrete = 0;
		skeletonInherit = "Head";
		skeletonBones[] =
		{
			"weapon","",
			"launcher","",
			"Camera","",
			"Spine","",
			"Spine1","",
			"Spine2","",
			"Spine3","",
			"Pelvis","",
			"LeftShoulder","",
			"LeftArm","",
			"LeftArmRoll","",
			"LeftForeArm","",
			"LeftForeArmRoll","",
			"LeftHand","",
			"LeftHandRing","",
			"LeftHandRing1","",
			"LeftHandRing2","",
			"LeftHandRing3","",
			"LeftHandPinky1","",
			"LeftHandPinky2","",
			"LeftHandPinky3","",
			"LeftHandMiddle1","",
			"LeftHandMiddle2","",
			"LeftHandMiddle3","",
			"LeftHandIndex1","",
			"LeftHandIndex2","",
			"LeftHandIndex3","",
			"LeftHandThumb1","",
			"LeftHandThumb2","",
			"LeftHandThumb3","",
			"RightShoulder","",
			"RightArm","",
			"RightArmRoll","",
			"RightForeArm","",
			"RightForeArmRoll","",
			"RightHand","",
			"RightHandRing","",
			"RightHandRing1","",
			"RightHandRing2","",
			"RightHandRing3","",
			"RightHandPinky1","",
			"RightHandPinky2","",
			"RightHandPinky3","",
			"RightHandMiddle1","",
			"RightHandMiddle2","",
			"RightHandMiddle3","",
			"RightHandIndex1","",
			"RightHandIndex2","",
			"RightHandIndex3","",
			"RightHandThumb1","",
			"RightHandThumb2","",
			"RightHandThumb3","",
			"LeftUpLeg","",
			"LeftUpLegRoll","",
			"LeftLeg","",
			"LeftLegRoll","",
			"LeftFoot","",
			"LeftToeBase","",
			"RightUpLeg","",
			"RightUpLegRoll","",
			"RightLeg","",
			"RightLegRoll","",
			"RightFoot","",
			"RightToeBase",""
		};
	};
	class Flag: Default {};
	class FlagCarrier: Default
	{
		skeletonInherit = "Default";
		skeletonBones[] = {"stozar","","vlajka",""};
	};

Sorry its bit difficult to format those long list of bone names. Then we did this:

class VTE_PeopleMoves : CfgMovesMaleSdr
{
	skeletonName = "VTE_BISkeleton";
	collisionVertexPattern[] =
	{
		"1a",
		"2a",
		"3a",
		"4a",
		"5a",
		"6a",
		"7a",
		"8a",
		"1c",
		"2c",
		"3c",
		"4c",
		"5c",
		"6c",
		"7c",
		"8c",
		"1f",
		"2f",
		"3f",
		"4f",
		"5f",
		"6f",
		"7f",
		"8f"
	};
	collisionGeomCompPattern[] = {1, 3, 6};
};

cfgModels

And then in cfgModels we did this:

class cfgModels
{
	class Default
	{
		sections[] = {""};
		sectionsInherit="";
	};
	class flag_vojak : Default
	{
		sections[] = {"latka"};
	};
	class Head: Default
	{
		skeletonName = "Head";
		sections[] = {"swap_hhl","hide_eyewear"};
		sectionsInherit="";
	};
	class VTE_aircav: Default
	{
		skeletonName = "VTE_BISkeleton";
		sectionsInherit="Head";
		sections[] =
		{
			"weapon","",
			"launcher","",
			"Camera","",
			"Spine","",
			"Spine1","",
			"Spine2","",
			"Spine3","",
			"Pelvis","",
			"LeftShoulder","",
			"LeftArm","",
			"LeftArmRoll","",
			"LeftForeArm","",
			"LeftForeArmRoll","",
			"LeftHand","",
			"LeftHandRing","",
			"LeftHandRing1","",
			"LeftHandRing2","",
			"LeftHandRing3","",
			"LeftHandPinky1","",
			"LeftHandPinky2","",
			"LeftHandPinky3","",
			"LeftHandMiddle1","",
			"LeftHandMiddle2","",
			"LeftHandMiddle3","",
			"LeftHandIndex1","",
			"LeftHandIndex2","",
			"LeftHandIndex3","",
			"LeftHandThumb1","",
			"LeftHandThumb2","",
			"LeftHandThumb3","",
			"RightShoulder","",
			"RightArm","",
			"RightArmRoll","",
			"RightForeArm","",
			"RightForeArmRoll","",
			"RightHand","",
			"RightHandRing","",
			"RightHandRing1","",
			"RightHandRing2","",
			"RightHandRing3","",
			"RightHandPinky1","",
			"RightHandPinky2","",
			"RightHandPinky3","",
			"RightHandMiddle1","",
			"RightHandMiddle2","",
			"RightHandMiddle3","",
			"RightHandIndex1","",
			"RightHandIndex2","",
			"RightHandIndex3","",
			"RightHandThumb1","",
			"RightHandThumb2","",
			"RightHandThumb3","",
			"LeftUpLeg","",
			"LeftUpLegRoll","",
			"LeftLeg","",
			"LeftLegRoll","",
			"LeftFoot","",
			"LeftToeBase","",
			"RightUpLeg","",
			"RightUpLegRoll","",
			"RightLeg","",
			"RightLegRoll","",
			"RightFoot","",
			"RightToeBase",""
		};
	};
	class VTE_usmc: VTE_aircav{};
	class VTE_sf: VTE_aircav{};

As you can see now you must inherit all your soldier P3D model names here ie VTE_usmc.p3d and VTE_sf.p3d normally as any other cfgModels before.

cfgVehicles

Then we move into cfgVehicles and the only different thing you do there is this:

	class VTE_ac: VTE_Army
	{
		scope=private;
		vehicleClass = "VTE_Inf_AirCav";
		displayName="AirCav";
		model="\VTE_chara\VTE_aircav.p3d";
		moves="VTE_PeopleMoves";

The “moves” part, that's the only new thing you need to add in cfgVehicles the unit configuration. Then you can inherit the units by doing class MyNewUnit: VTE_ac{blabla}; as usual.

Wound Textures

Read about wound textures in more detail.

arma/modeling/bisoldieringame.txt · Last modified: 2024/08/01 09:15 by snakeman

Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 4.0 International
CC Attribution-Share Alike 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki

All PMC web site download services are temporarily suspended until web site yearly fees have been recovered, want to download addons/mods? Then Support PMC.

If you are grateful for all the work PMC has done in the past 25 years, use Support PMC page.