Multiple Unit Mesh Groups

Dark_Jedi06

"Deus ex Machina."
Joined
Jul 19, 2006
Messages
1,451
I can't for the life of me figure this one out, despite how straight forward it would seem...

I'm attempting to make it so that for a particular unit each of the 3 models in the group is different (in this case by color only). I've looked through the forums and scoured through the work of other modders but I can't seem to figure it out!

In this particular instance I'm editing a pikeman for an Ottoman style unit (the unit is from danrell's unit pack). The code I have now looks like this...

UnitArtStyleTypeInfos:
Code:
				<StyleUnit>
					<UnitType>UNIT_PIKEMAN</UnitType>
					<UnitMeshGroup>
						<EarlyArtDefineTag>ART_DEF_UNIT_PIKEMAN_OTTOMAN1</EarlyArtDefineTag>
						<LateArtDefineTag>ART_DEF_UNIT_PIKEMAN_OTTOMAN1</LateArtDefineTag>
						<MiddleArtDefineTag>ART_DEF_UNIT_PIKEMAN_OTTOMAN1</MiddleArtDefineTag>
					</UnitMeshGroup>
					<UnitMeshGroup>
						<EarlyArtDefineTag>ART_DEF_UNIT_PIKEMAN_OTTOMAN2</EarlyArtDefineTag>
						<LateArtDefineTag>ART_DEF_UNIT_PIKEMAN_OTTOMAN2</LateArtDefineTag>
						<MiddleArtDefineTag>ART_DEF_UNIT_PIKEMAN_OTTOMAN2</MiddleArtDefineTag>
					</UnitMeshGroup>
					<UnitMeshGroup>
						<EarlyArtDefineTag>ART_DEF_UNIT_PIKEMAN_OTTOMAN3</EarlyArtDefineTag>
						<LateArtDefineTag>ART_DEF_UNIT_PIKEMAN_OTTOMAN3</LateArtDefineTag>
						<MiddleArtDefineTag>ART_DEF_UNIT_PIKEMAN_OTTOMAN3</MiddleArtDefineTag>
					</UnitMeshGroup>
				</StyleUnit>

ArtDefines_Unit:
Code:
<UnitArtInfo>
			<Type>ART_DEF_UNIT_PIKEMAN_OTTOMAN1</Type>
			<Button>,Art/Interface/Buttons/Units/Pikeman.dds,Art/Interface/Buttons/Unit_Resource_Atlas.dds,7,1</Button>
			<fScale>0.44</fScale>
			<fInterfaceScale>1.0</fInterfaceScale>
			<bActAsLand>0</bActAsLand>
			<bActAsAir>0</bActAsAir>
			<NIF>Art/Units/Ottoman/Pikeman_Ottoman/Pikeman.nif</NIF>
			<KFM>Art/Units/Pikeman/Pikeman.kfm</KFM>
			<SHADERNIF>Art/Units/Ottoman/Pikeman_Ottoman/Pikeman.nif</SHADERNIF>
			<ShadowDef>
				<ShadowNIF>Art/Units/01_UnitShadows/UnitShadow.nif</ShadowNIF>
				<ShadowAttachNode>BIP Pelvis</ShadowAttachNode>
				<fShadowScale>1.0</fShadowScale>
			</ShadowDef>
			<fBattleDistance>0.35</fBattleDistance>
			<fRangedDeathTime>0.31</fRangedDeathTime>
			<bActAsRanged>0</bActAsRanged>
			<TrainSound>AS2D_UNIT_BUILD_UNIT</TrainSound>
			<AudioRunSounds>
				<AudioRunTypeLoop/>
				<AudioRunTypeEnd/>
			</AudioRunSounds>
		</UnitArtInfo>
		<UnitArtInfo>
			<Type>ART_DEF_UNIT_PIKEMAN_OTTOMAN2</Type>
			<Button>,Art/Interface/Buttons/Units/Pikeman.dds,Art/Interface/Buttons/Unit_Resource_Atlas.dds,7,1</Button>
			<fScale>0.44</fScale>
			<fInterfaceScale>1.0</fInterfaceScale>
			<bActAsLand>0</bActAsLand>
			<bActAsAir>0</bActAsAir>
			<NIF>Art/Units/Ottoman/Pikeman_Ottoman/Pikeman2.nif</NIF>
			<KFM>Art/Units/Pikeman/Pikeman.kfm</KFM>
			<SHADERNIF>Art/Units/Ottoman/Pikeman_Ottoman/Pikeman2.nif</SHADERNIF>
			<ShadowDef>
				<ShadowNIF>Art/Units/01_UnitShadows/UnitShadow.nif</ShadowNIF>
				<ShadowAttachNode>BIP Pelvis</ShadowAttachNode>
				<fShadowScale>1.0</fShadowScale>
			</ShadowDef>
			<fBattleDistance>0.35</fBattleDistance>
			<fRangedDeathTime>0.31</fRangedDeathTime>
			<bActAsRanged>0</bActAsRanged>
			<TrainSound>AS2D_UNIT_BUILD_UNIT</TrainSound>
			<AudioRunSounds>
				<AudioRunTypeLoop/>
				<AudioRunTypeEnd/>
			</AudioRunSounds>
		</UnitArtInfo>
		<UnitArtInfo>
			<Type>ART_DEF_UNIT_PIKEMAN_OTTOMAN3</Type>
			<Button>,Art/Interface/Buttons/Units/Pikeman.dds,Art/Interface/Buttons/Unit_Resource_Atlas.dds,7,1</Button>
			<fScale>0.44</fScale>
			<fInterfaceScale>1.0</fInterfaceScale>
			<bActAsLand>0</bActAsLand>
			<bActAsAir>0</bActAsAir>
			<NIF>Art/Units/Ottoman/Pikeman_Ottoman/Pikeman3.nif</NIF>
			<KFM>Art/Units/Pikeman/Pikeman.kfm</KFM>
			<SHADERNIF>Art/Units/Ottoman/Pikeman_Ottoman/Pikeman3.nif</SHADERNIF>
			<ShadowDef>
				<ShadowNIF>Art/Units/01_UnitShadows/UnitShadow.nif</ShadowNIF>
				<ShadowAttachNode>BIP Pelvis</ShadowAttachNode>
				<fShadowScale>1.0</fShadowScale>
			</ShadowDef>
			<fBattleDistance>0.35</fBattleDistance>
			<fRangedDeathTime>0.31</fRangedDeathTime>
			<bActAsRanged>0</bActAsRanged>
			<TrainSound>AS2D_UNIT_BUILD_UNIT</TrainSound>
			<AudioRunSounds>
				<AudioRunTypeLoop/>
				<AudioRunTypeEnd/>
			</AudioRunSounds>
		</UnitArtInfo>

The game only shows the PIKEMAN_OTTOMAN1 for all three of the units meshes. I can't seem to figure out what I'm missing here...any help would be appreciated!
 
For the UnitArtStyles to work like that, you need to define 3 seperate unit meshes in CIV4UnitInfos first.

Like this:
Code:
			<UnitMeshGroups>
				<iGroupSize>3</iGroupSize>
				<fMaxSpeed>1.75</fMaxSpeed>
				<fPadTime>1</fPadTime>
				<iMeleeWaveSize>3</iMeleeWaveSize>
				<iRangedWaveSize>0</iRangedWaveSize>
				<UnitMeshGroup>
					<iRequired>1</iRequired>
					<EarlyArtDefineTag>ART_DEF_UNIT_PIKEMAN</EarlyArtDefineTag>
				</UnitMeshGroup>
				<UnitMeshGroup>
					<iRequired>1</iRequired>
					<EarlyArtDefineTag>ART_DEF_UNIT_PIKEMAN</EarlyArtDefineTag>
				</UnitMeshGroup>
				<UnitMeshGroup>
					<iRequired>1</iRequired>
					<EarlyArtDefineTag>ART_DEF_UNIT_PIKEMAN</EarlyArtDefineTag>
				</UnitMeshGroup>
			</UnitMeshGroups>
 
you could have just looked how the settler is created, same thing, 3 different mesh groups.
 
Yeah, it's pretty cool that. You can create proper infantry squads like this. :)
 
Back
Top Bottom