更换贴图 I

旧技术更换贴图方法为使用replacetexture语句。 打开单位的动画xml文件,找到gr2模型路径,在其下面添加replacetexture语句,一般情况下<assetreference type="GrannyModel">的<file>...</file>就是gr2模型的路径。
replacetexture语句:

						 <replacetexture>
							<from>原\贴\图\路\径</from>
							<to>新\贴\图\路\径</to>
						 </replacetexture>

你可以参考格林机枪,格林机枪在葡萄牙改良后Rabauld(皇家管炮)这个升级科技后,格林机枪的枪管会变成金色,就是用replacetexture更改贴图了。

如果用科技更换外观还需要在techtreey.xml那个科技添加下列语句,才能改变外观。
			<Effect type ='Data' amount ='0.00' subtype ='UpdateVisual' unittype ='要改变外观的单位调用名' relativity='Absolute'>
				<Target type ='Player'></Target></Effect>








接下来制作一个像欧洲哨所的升级科技,并且改变塔楼外观的修改:如果只是想修改默认的外观,自己像最上面的截图那样直接把replacetexture语句用在none那里就行了...


先把升级科技制作出来吧

塔楼升级科技:
红色语句很重要,没有红色语句不会改变外观。
  techtreey.xml - 记事本 ____ X
文件(F)  编辑(E)  格式(O)  查看(V)  帮助(H)
	<Tech name ='ypFrontierOutpost' type ='Normal'>
		<DBID>1154</DBID>
		<DisplayNameID>99001</DisplayNameID>
		<Cost resourcetype ='Wood'>400.0000</Cost>
		<Cost resourcetype ='Gold'>200.0000</Cost>
		<ResearchPoints>60.0000</ResearchPoints>
		<Status>UNOBTAINABLE</Status>
		<Icon>ui\techs\frontier_outpost\frontier_outpost</Icon>
		<RolloverTextID>99003</RolloverTextID>
		<Flag>CountsTowardMilitaryScore</Flag>
		<Prereqs>
			<TechStatus status ='Active'>Fortressize</TechStatus></Prereqs>
		<Effects>
			<Effect type ='SetName' proto ='YPOutpostAsian' culture ='none' newName ='29872'></Effect>
			<Effect type ='Data' action ='RangedAttack' amount ='1.50' subtype ='Damage' relativity ='BasePercent'>
				<Target type ='ProtoUnit'>YPOutpostAsian</Target></Effect>
			<Effect type ='Data' amount ='0.00' subtype ='UpdateVisual' unittype ='YPOutpostAsian' relativity ='Absolute'>
				<Target type ='Player'></Target></Effect>
		</Effects>
	</Tech>
	<Tech name ='ypFortifiedOutpost' type ='Normal'>
		<DBID>1155</DBID>
		<DisplayNameID>99002</DisplayNameID>
		<Cost resourcetype ='Wood'>800.0000</Cost>
		<Cost resourcetype ='Gold'>400.0000</Cost>
		<ResearchPoints>60.0000</ResearchPoints>
		<Status>UNOBTAINABLE</Status>
		<Icon>ui\techs\fortified_outpost\fortified_outpost</Icon>
		<RolloverTextID>99004</RolloverTextID>
		<Flag>CountsTowardMilitaryScore</Flag>
		<Prereqs>
			<TechStatus status ='Active'>ypFrontierOutpost</TechStatus>
			<TechStatus status ='Active'>Industrialize</TechStatus>
		</Prereqs>
		<Effects>
			<Effect type ='Data' amount ='1.50' subtype ='Hitpoints' relativity ='BasePercent'>
				<Target type ='ProtoUnit'>YPOutpostAsian</Target></Effect>
			<Effect type ='SetName' proto ='YPOutpostAsian' culture ='none' newName ='29873'></Effect>
			<Effect type ='Data' action ='CannonAttack' amount ='1.00' subtype ='ActionEnable' relativity ='Absolute'>
				<Target type ='ProtoUnit'>YPOutpostAsian</Target></Effect>
			<Effect type ='Data' action ='AntiShipAttack' amount ='2.00' subtype ='Damage' relativity ='BasePercent'>
				<Target type ='ProtoUnit'>YPOutpostAsian</Target></Effect>
			<Effect type ='Data' amount ='0.00' subtype ='UpdateVisual' unittype ='YPOutpostAsian' relativity ='Absolute'>
				<Target type ='Player'></Target></Effect>
		</Effects>
	</Tech>



中国起始科技(启用上面两个新增的科技):
  techtreey.xml - 记事本 ____ X
文件(F)  编辑(E)  格式(O)  查看(V)  帮助(H)
	<Tech name ='YPAge0Chinese' type ='Normal'>
		<DBID>3529</DBID>
		<Status>UNOBTAINABLE</Status>
		<Flag>Shadow</Flag>
		<Effects>
			<Effect type ='TechStatus' status ='obtainable'>ypFrontierOutpost</Effect>
			<Effect type ='TechStatus' status ='obtainable'>ypFortifiedOutpost</Effect>
			<Effect type ='TechStatus' status ='active'>YPAAAsianStartingTechs</Effect>
			<Effect type ='TechStatus' status ='active'>YPAge0ChineseSpecialTechs</Effect>
			<Effect type ='TechStatus' status ='active'>YPAge0ChineseTechs</Effect>
			<Effect type ='TechStatus' status ='active'>YPAge0ChineseConsulate</Effect>
			<Effect type ='TechStatus' status ='active'>YPAge0ChineseMonks</Effect>
			<Effect type ='TechStatus' status ='active'>YPAge0ChineseUnits</Effect>
			<Effect type ='TechStatus' status ='active'>YPAge0ChineseBuildings</Effect>
			<Effect type ='TechStatus' status ='active'>YPAge0ChineseWonders</Effect>
		</Effects>
	</Tech>




塔楼protoy(增加那两个科技的按钮,还有从哨所那里将炮轰攻击的语句复制过来,至于tactics就不用修改了,combatBuilding.tactics原本就有定义炮轰攻击):
  protoy.xml - 记事本 ____ X
文件(F)  编辑(E)  格式(O)  查看(V)  帮助(H)
	<Unit id ='934' name ='YPOutpostAsian'>
		<DBID>1382</DBID>
		<DisplayNameID>60392</DisplayNameID>
		<EditorNameID>60393</EditorNameID>
		<ObstructionRadiusX>2.0000</ObstructionRadiusX>
		<ObstructionRadiusZ>2.0000</ObstructionRadiusZ>
		<MaxVelocity>0.0000</MaxVelocity>
		<MovementType>land</MovementType>
		<AnimFile>buildings\asian_civs\spc\japanese_outpost\spc_japanese_outpost.xml</AnimFile>
		<DeadReplacement>BuildingRubble2x2</DeadReplacement>
		<DeadReplacementLifespan>15</DeadReplacementLifespan>
		<ImpactType>Wood</ImpactType>
		<PhysicsInfo>house</PhysicsInfo>
		<PlacementFile>buildingsmall.xml</PlacementFile>
		<Icon>buildings\asian_civs\spc\japanese_outpost\asian_outpost_icon</Icon>
		<PortraitIcon>buildings\asian_civs\spc\japanese_outpost\asian_outpost_icon_portrait</PortraitIcon>
		<RolloverTextID>60391</RolloverTextID>
		<ShortRolloverTextID>60390</ShortRolloverTextID>
		<InitialHitpoints>2000.0000</InitialHitpoints>
		<MaxHitpoints>2000.0000</MaxHitpoints>
		<LOS>32.0000</LOS>
		<ProjectileProtoUnit>Arrow</ProjectileProtoUnit>
		<UnitAIType>RangedCombative</UnitAIType>
		<BuildPoints>50.0000</BuildPoints>
		<BuildLimit>7</BuildLimit>
		<Bounty>70.0000</Bounty>
		<BuildBounty>35.0000</BuildBounty>
		<Cost resourcetype ='Wood'>250.0000</Cost>
		<BuildingWorkRate>1.0000</BuildingWorkRate>
		<MaxContained>20</MaxContained>
		<AllowedAge>0</AllowedAge>
		<Armor type ='Siege' value ='0.0000'></Armor>
		<BuilderLimit>4</BuilderLimit>
		<UnitType>LogicalTypeValidSabotage</UnitType>
		<UnitType>LogicalTypeHandUnitsAutoAttack</UnitType>
		<UnitType>LogicalTypeBuildingsNotWalls</UnitType>
		<UnitType>LogicalTypeRangedUnitsAutoAttack</UnitType>
		<UnitType>LogicalTypeVillagersAttack</UnitType>
		<UnitType>LogicalTypeHandUnitsAttack</UnitType>
		<UnitType>LogicalTypeShipsAndBuildings</UnitType>
		<UnitType>LogicalTypeRangedUnitsAttack</UnitType>
		<UnitType>LogicalTypeBuildingsNotWallsOrGroves</UnitType>
		<UnitType>LogicalTypeMinimapFilterMilitary</UnitType>
		<UnitType>MilitaryBuilding</UnitType>
		<UnitType>BuildingClass</UnitType>
		<UnitType>Building</UnitType>
		<UnitType>CountsTowardMilitaryScore</UnitType>
		<UnitType>HasBountyValue</UnitType>
		<UnitType>AbstractFort</UnitType>
		<UnitType>ConvertsHerds</UnitType>
		<Tech row ='0' page ='1' column ='1'>ypFrontierOutpost</Tech>
		<Tech row ='0' page ='1' column ='1'>ypFortifiedOutpost</Tech>
		<Flag>CollidesWithProjectiles</Flag>
		<Flag>StartsAtFullEfficiency</Flag>
		<Flag>Immoveable</Flag>
		<Flag>NoBloodOnDeath</Flag>
		<Flag>ObscuresUnits</Flag>
		<Flag>NonAutoFormedUnit</Flag>
		<Flag>Doppled</Flag>
		<Flag>SelectWithObstruction</Flag>
		<Flag>PaintTextureWhenPlacing</Flag>
		<Flag>FlattenGround</Flag>
		<Flag>HasGatherPoint</Flag>
		<Flag>AllowAutoGarrison</Flag>
		<Flag>Tracked</Flag>
		<Contain>xpMedicineManAztec</Contain>
		<Contain>Priest</Contain>
		<Contain>Surgeon</Contain>
		<Contain>xpMedicineMan</Contain>
		<Contain>Imam</Contain>
		<Contain>NatMedicineMan</Contain>
		<Contain>Missionary</Contain>
		<Contain>AbstractVillager</Contain>
		<Command page ='1' column ='1'>SetUnitAsHomeCityGatherPoint</Command>
		<Command page ='10' column ='3'>Delete</Command>
		<Command page ='10' column ='2'>Eject</Command>
		<Command page ='10' column ='1'>SetGatherPointEconomy</Command>
		<Command page ='10' column ='0'>SetGatherPointMilitary</Command>
		<Command>CancelNativeDance</Command>
		<Command>StartNativeDance</Command>
		<Tactics>combatBuilding.tactics</Tactics>
		<ProtoAction>
			<Name>AntiShipAttack</Name>
			<Damage>100.000000</Damage>
			<DamageType>Siege</DamageType>
			<MinRange>0.000000</MinRange>
			<MaxRange>40.000000</MaxRange>
			<ROF>3.000000</ROF>
			<DamageBonus type ='AbstractSiegeTrooper'>0.500000</DamageBonus>
		</ProtoAction>
		<ProtoAction>
			<Name>RangedAttack</Name>
			<Damage>30.000000</Damage>
			<DamageType>Ranged</DamageType>
			<MinRange>0.000000</MinRange>
			<MaxRange>24.000000</MaxRange>
			<ROF>3.000000</ROF>
			<DamageBonus type ='AbstractVillager'>0.250000</DamageBonus>
			<DamageBonus type ='AbstractCavalry'>1.500000</DamageBonus>
			<DamageBonus type ='AbstractSiegeTrooper'>0.500000</DamageBonus>
			<DamageBonus type ='AbstractLightInfantry'>1.500000</DamageBonus>
		</ProtoAction>
		<ProtoAction>
			<Name>CannonAttack</Name>
			<Damage>60.000000</Damage>
			<DamageType>Siege</DamageType>
			<MinRange>0.000000</MinRange>
			<MaxRange>24.000000</MaxRange>
			<ROF>3.000000</ROF>
			<DamageCap>120.000000</DamageCap>
			<DamageBonus type ='AbstractVillager'>0.250000</DamageBonus>
			<DamageArea>3.000000</DamageArea>
			<DamageFlags>GAIAEnemy</DamageFlags>
			<DamageBonus type ='AbstractCavalry'>1.500000</DamageBonus>
			<DamageBonus type ='AbstractSiegeTrooper'>0.500000</DamageBonus>
			<DamageBonus type ='AbstractLightInfantry'>1.500000</DamageBonus>
		</ProtoAction>
	</Unit>


  randommapstringsy.xml.xml - 记事本 ____ X
文件(F)  编辑(E)  格式(O)  查看(V)  帮助(H)
<?xml version="1.0" encoding="utf-8"?>

<StringTable version="130">
	<Language name="English">
		<String _locID="130015">Ozarks</String>
		<String _locID="130016">Ozarks: Dense thickets filled with wildlife dot this rolling terrain.</String>
		<String _locID="130017">Hilltop trading posts sit beside a trade route that crosses the map from East to West. Teams are split across the trade route.</String>
		<String _locID="130018">Plymouth</String>
		<String _locID="130019">Plymouth: A bountiful land of natural treasures and grateful Pilgrims.</String>
		<String _locID="130020">Each colony can use intrepid Pilgrims and Scout Turkeys to explore the bountiful wilderness for Native Settlements and unique treasures.</String>
		<String _locID="99001">坚固塔楼</String>
		<String _locID="99002">强化塔楼</String>
		<String _locID="99003">增加塔楼的攻击力。</String>
		<String _locID="99004">塔楼可发射炮弹攻击敌人,而且还有更高的耐久度。</String>
		<!-- 输入双引号与单引号都是可行的 -->
	</Language>
</StringTable>




升级科技制作完成,下面制作升级后会改变外观



这句话是给想一步登天的萌新看的:单位xml是protoy.xml的路径定义的,<AnimFile>buildings\asian_civs\spc\japanese_outpost\spc_japanese_outpost.xml</AnimFile>。自己往上面搜索一下,是不是有这句。

用AOE3ED提取塔楼的单位xml文件,转换格式后再打开,先拉倒最底下把升级科技与模型先定义了,塔楼外观与顶部说到的格林机枪不一样,<logic type="Tech">写在了最下方,你改其他的时候,自己判断吧,这里与上面是两个不同的例子了。

区别:格林机枪只有一个<submodel></submodel>,或者没有<submodel></submodel>;而塔楼则有多个<submodel></submodel>。

一个<submodel></submodel>是一个模型的内容。使用<submodelref ref="xxxx"/>调用




往上面搜索Outpost lvl1,从<submodel>复制到末尾的</submodel>,注意不要把其他模型的也复制了,然后粘贴两次(因为我们需要制作坚固塔楼与强化塔楼两个不同的外观)。
蓝色背景是要复制的语句,红色字是粘贴的语句,红色字中的蓝色字是粘贴后并修改的语句。绿色字是上面那张真·截图的内容。
  spc_japanese_outpost.xml - 记事本 ____ X
文件(F)  编辑(E)  格式(O)  查看(V)  帮助(H)
<?xml version="1.0" encoding="utf-8"?>

<animfile>
	<definebone>bone_Launchpoint03</definebone>
	<definebone>bone_Launchpoint02</definebone>
	<definebone>bone_Launchpoint01</definebone>
	<definebone>bone_Launchpoint00</definebone>
	<definebone>bone_debris_1A</definebone>
	<definebone>bone_debris_1B</definebone>
	<definebone>bone_debris_1C</definebone>
	<definebone>bone_debris_1D</definebone>
	<definebone>bone_debris_1E</definebone>
	<definebone>bone_debris_1F</definebone>
	<definebone>bone_debris_1G</definebone>
	<definebone>bone_debris_1h</definebone>
	<definebone>bone_debris_1i</definebone>
	<definebone>bone_debris_1j</definebone>
	<definebone>bone_debris_2A</definebone>
	<definebone>bone_debris_2B</definebone>
	<definebone>bone_debris_2C</definebone>
	<definebone>bone_debris_2D</definebone>
	<definebone>bone_debris_2E</definebone>
	<definebone>bone_debris_2F</definebone>
	<definebone>bone_debris_2G</definebone>
	<definebone>bone_debris_2H</definebone>
	<definebone>bone_debris_2I</definebone>
	<definebone>bone_debris_2J</definebone>
	<definebone>bone_debris_2k</definebone>
	<definebone>bone_debris_2l</definebone>
	<definebone>bone_debris_2m</definebone>
	<definebone>bone_debris_3A</definebone>
	<definebone>bone_debris_3B</definebone>
	<definebone>bone_debris_3C</definebone>
	<definebone>bone_debris_3D</definebone>
	<definebone>bone_debris_3E</definebone>
	<definebone>bone_debris_3F</definebone>
	<definebone>bone_debris_4A</definebone>
	<definebone>bone_debris_4B</definebone>
	<definebone>bone_debris_4C</definebone>
	<definebone>bone_debris_4D</definebone>
	<definebone>bone_debris_4E</definebone>
	<definebone>bone_debris_4F</definebone>
	<definebone>bone_debris_4G</definebone>
	<definebone>bone_debris_4H</definebone>
	<definebone>bone_debris_5A</definebone>
	<definebone>bone_debris_5B</definebone>
	<definebone>bone_debris_5C</definebone>
	<definebone>bone_debris_5D</definebone>
	<definebone>bone_debris_5E</definebone>
	<definebone>bone_debris_5F</definebone>
	<definebone>bone_debris_5G</definebone>
	<definebone>bone_debris_5H</definebone>
	<definebone>bone_debris_5I</definebone>
	<definebone>bone_debris_5J</definebone>
	<definebone>bone_debris_6A</definebone>
	<definebone>bone_debris_6B</definebone>
	<definebone>bone_debris_6C</definebone>
	<definebone>bone_debris_6D</definebone>
	<definebone>bone_debris_6E</definebone>
	<definebone>bone_debris_6F</definebone>
	<definebone>bone_debris_6G</definebone>
	<definebone>bone_debris_6H</definebone>
	<definebone>bone_smoke</definebone>
	<definebone>bone_civ_flag</definebone>
	<submodel>
		Outpost lvl1
		<attachment>
			base smoke
			<component>
				smoke base
				<assetreference type="ParticleSystem">
					<file>effects\smoke\collapsesmoke01.particle</file>
				</assetreference>
			</component>
			<anim>
				Idle
				<component>smoke base</component>
			</anim>
		</attachment>
		<attachment>
			base smoke2
			<component>
				smoke wave
				<assetreference type="ParticleSystem">
					<file>effects\smoke\collapse_smoke_wave.particle</file>
				</assetreference>
			</component>
			<anim>
				Idle
				<component>smoke wave</component>
			</anim>
		</attachment>
		<attachment>
			base smoke3
			<component>
				smoke wave center
				<assetreference type="ParticleSystem">
					<file>effects\smoke\collapse_smoke_wave02.particle</file>
				</assetreference>
			</component>
			<anim>
				Idle
				<component>smoke wave center</component>
			</anim>
		</attachment>
		<attachment>
			collapse_smoke
			<component>
				collapse_smoke
				<assetreference type="ParticleSystem">
					<file>effects\smoke\collapse_smoke_a.particle</file>
				</assetreference>
			</component>
			<anim>
				Idle
				<component>collapse_smoke</component>
			</anim>
		</attachment>
		<component>
			Outpost_1
			<logic type="LowPoly">
				<normal>
					<logic type="Destruction">
						<p1>
							<assetreference type="GrannyModel" shape="asian_outpost">
								<file>buildings\asian_civs\spc\japanese_outpost\Asian_outpost\asian_outpost_damaged</file>
							</assetreference>
						</p1>
						<p99>
							<assetreference type="GrannyModel" shape="asian_outpost">
								<file>buildings\asian_civs\spc\japanese_outpost\Asian_outpost\asian_outpost</file>
							</assetreference>
						</p99>
					</logic>
				</normal>
				<lowpoly>
					<assetreference type="GrannyModel" shape="asian_outpost">
						<file>buildings\asian_civs\spc\japanese_outpost\Asian_outpost\asian_outpost</file>
					</assetreference>
				</lowpoly>
			</logic>
			<decal>
				<effecttype>default</effecttype>
				<texture>buildings\outpost\Outpost Ground</texture>
				<selectedtexture>shadows_selections\selection_square_64x64</selectedtexture>
				<width>8.00</width>
				<height>8.00</height>
			</decal>
		</component>
		<component>
			Outpost_1_Death
			<logic type="LowPoly">
				<normal>
					<assetreference type="GrannyModel">
						<file>buildings\asian_civs\spc\japanese_outpost\Asian_outpost\asian_outpost_deathmodel</file>
					</assetreference>
				</normal>
				<lowpoly>
					<assetreference type="GrannyModel">
						<file>buildings\asian_civs\spc\japanese_outpost\Asian_outpost\asian_outpost</file>
					</assetreference>
				</lowpoly>
			</logic>
		</component>
		<anim>
			Idle
			<component>Outpost_1</component>
			<simskeleton>
				<model>buildings\asian_civs\spc\japanese_outpost\Asian_outpost\asian_outpost_damaged</model>
				<damagetemplate>buildings\asian_civs\spc\japanese_outpost\Asian_outpost\Asian_outpost.dmg</damagetemplate>
			</simskeleton>
		</anim>
		<anim>
			RangedAttack
			<assetreference type="GrannyAnim">
				<file>animation_library\building\ranged_attack</file>
				<tag type="Attack">0.45</tag>
				<tag type="SpecificSoundSet" checkvisible="1" set="Rifleshot">0.45</tag>
			</assetreference>
			<component>Outpost_1</component>
			<simskeleton>
				<model>buildings\asian_civs\spc\japanese_outpost\Asian_outpost\asian_outpost_damaged</model>
				<damagetemplate>buildings\asian_civs\spc\japanese_outpost\Asian_outpost\Asian_outpost.dmg</damagetemplate>
			</simskeleton>
		</anim>
		<anim>
			Death
			<assetreference type="GrannyAnim">
				<file>buildings\asian_civs\spc\japanese_outpost\Asian_outpost\asian_outpost_deathanime</file>
			</assetreference>
			<component>Outpost_1_Death</component>
			<attach a="base smoke" frombone="ATTACHPOINT" tobone="ATTACHPOINT" syncanims="0"/>
			<attach a="base smoke2" frombone="ATTACHPOINT" tobone="ATTACHPOINT" syncanims="0"/>
			<attach a="base smoke3" frombone="ATTACHPOINT" tobone="ATTACHPOINT" syncanims="0"/>
			<attach a="collapse_smoke" frombone="ATTACHPOINT" tobone="ATTACHPOINT" syncanims="0"/>
		</anim>
		<anim>
			RangedAttackShip
			<assetreference type="GrannyAnim">
				<file>animation_library\building\ranged_attack</file>
				<tag type="Attack">0.45</tag>
				<tag type="SpecificSoundSet" checkvisible="1" set="FalconetShoot">0.45</tag>
			</assetreference>
			<component>Outpost_1</component>
			<simskeleton>
				<model>buildings\asian_civs\spc\japanese_outpost\Asian_outpost\asian_outpost_damaged</model>
				<damagetemplate>buildings\asian_civs\spc\japanese_outpost\Asian_outpost\Asian_outpost.dmg</damagetemplate>
			</simskeleton>
		</anim>
	</submodel>
	<submodel>
		Outpost lvl2
		<attachment>
			base smoke
			<component>
				smoke base
				<assetreference type="ParticleSystem">
					<file>effects\smoke\collapsesmoke01.particle</file>
				</assetreference>
			</component>
			<anim>
				Idle
				<component>smoke base</component>
			</anim>
		</attachment>
		<attachment>
			base smoke2
			<component>
				smoke wave
				<assetreference type="ParticleSystem">
					<file>effects\smoke\collapse_smoke_wave.particle</file>
				</assetreference>
			</component>
			<anim>
				Idle
				<component>smoke wave</component>
			</anim>
		</attachment>
		<attachment>
			base smoke3
			<component>
				smoke wave center
				<assetreference type="ParticleSystem">
					<file>effects\smoke\collapse_smoke_wave02.particle</file>
				</assetreference>
			</component>
			<anim>
				Idle
				<component>smoke wave center</component>
			</anim>
		</attachment>
		<attachment>
			collapse_smoke
			<component>
				collapse_smoke
				<assetreference type="ParticleSystem">
					<file>effects\smoke\collapse_smoke_a.particle</file>
				</assetreference>
			</component>
			<anim>
				Idle
				<component>collapse_smoke</component>
			</anim>
		</attachment>
		<component>
			Outpost_1
			<logic type="LowPoly">
				<normal>
					<logic type="Destruction">
						<p1>
							<assetreference type="GrannyModel" shape="asian_outpost">
								<file>buildings\asian_civs\spc\japanese_outpost\Asian_outpost\asian_outpost_damaged</file>
							</assetreference>
						</p1>
						<p99>
							<assetreference type="GrannyModel" shape="asian_outpost">
								<file>buildings\asian_civs\spc\japanese_outpost\Asian_outpost\asian_outpost</file>
							</assetreference>
						</p99>
					</logic>
				</normal>
				<lowpoly>
					<assetreference type="GrannyModel">
						<file>buildings\asian_civs\spc\japanese_outpost\Asian_outpost\asian_outpost</file>
					</assetreference>
				</lowpoly>
			</logic>
			<decal>
				<effecttype>default</effecttype>
				<texture>buildings\outpost\Outpost Ground</texture>
				<selectedtexture>shadows_selections\selection_square_64x64</selectedtexture>
				<width>8.00</width>
				<height>8.00</height>
			</decal>
		</component>
		<component>
			Outpost_1_Death
			<logic type="LowPoly">
				<normal>
					<assetreference type="GrannyModel">
						<file>buildings\asian_civs\spc\japanese_outpost\Asian_outpost\asian_outpost_deathmodel</file>
					</assetreference>
				</normal>
				<lowpoly>
					<assetreference type="GrannyModel">
						<file>buildings\asian_civs\spc\japanese_outpost\Asian_outpost\asian_outpost</file>
					</assetreference>
				</lowpoly>
			</logic>
		</component>
		<anim>
			Idle
			<component>Outpost_1</component>
			<simskeleton>
				<model>buildings\asian_civs\spc\japanese_outpost\Asian_outpost\asian_outpost_damaged</model>
				<damagetemplate>buildings\asian_civs\spc\japanese_outpost\Asian_outpost\Asian_outpost.dmg</damagetemplate>
			</simskeleton>
		</anim>
		<anim>
			RangedAttack
			<assetreference type="GrannyAnim">
				<file>animation_library\building\ranged_attack</file>
				<tag type="Attack">0.45</tag>
				<tag type="SpecificSoundSet" checkvisible="1" set="RifleShot">0.45</tag>
			</assetreference>
			<component>Outpost_1</component>
			<simskeleton>
				<model>buildings\asian_civs\spc\japanese_outpost\Asian_outpost\asian_outpost_damaged</model>
				<damagetemplate>buildings\asian_civs\spc\japanese_outpost\Asian_outpost\Asian_outpost.dmg</damagetemplate>
			</simskeleton>
		</anim>
		<anim>
			Death
			<assetreference type="GrannyAnim">
				<file>buildings\asian_civs\spc\japanese_outpost\Asian_outpost\asian_outpost_deathanime</file>
			</assetreference>
			<component>Outpost_1_Death</component>
			<attach a="base smoke" frombone="ATTACHPOINT" tobone="ATTACHPOINT" syncanims="0"/>
			<attach a="base smoke2" frombone="ATTACHPOINT" tobone="ATTACHPOINT" syncanims="0"/>
			<attach a="base smoke3" frombone="ATTACHPOINT" tobone="ATTACHPOINT" syncanims="0"/>
			<attach a="collapse_smoke" frombone="ATTACHPOINT" tobone="ATTACHPOINT" syncanims="0"/>
		</anim>
		<anim>
			RangedAttackShip
			<assetreference type="GrannyAnim">
				<file>animation_library\building\ranged_attack</file>
				<tag type="Attack">0.45</tag>
				<tag type="SpecificSoundSet" checkvisible="1" set="FalconetShoot">0.45</tag>
			</assetreference>
			<component>Outpost_1</component>
			<simskeleton>
				<model>buildings\asian_civs\spc\japanese_outpost\Asian_outpost\asian_outpost_damaged</model>
				<damagetemplate>buildings\asian_civs\spc\japanese_outpost\Asian_outpost\Asian_outpost.dmg</damagetemplate>
			</simskeleton>
		</anim>
	</submodel>
	<submodel>
		sub_construction_stage_01
		<component>
			construction_stage_01
			<assetreference type="GrannyModel">
				<file>buildings\constructions\2x2_stage1</file>
			</assetreference>
			<decal>
				<effecttype>bump</effecttype>
				<texture>buildings\constructions\2x2_construction_decal</texture>
				<selectedtexture>shadows_selections\selection_square_128x128</selectedtexture>
				<bumptexture>shadows_selections\flat_normal_black_spec</bumptexture>
				<width>7.00</width>
				<height>7.00</height>
			</decal>
		</component>
		<anim>
			Idle
			<component>construction_stage_01</component>
		</anim>
	</submodel>
	<submodel>
		sub_construction_stage_02
		<component>
			construction_stage_02
			<assetreference type="GrannyModel">
				<file>buildings\constructions\2x2_stage2</file>
			</assetreference>
		</component>
		<anim>
			Idle
			<component>construction_stage_02</component>
		</anim>
	</submodel>
	<submodel>
		OutpostLV3
		<attachment>
			base smoke
			<component>
				smoke base
				<assetreference type="ParticleSystem">
					<file>effects\smoke\collapsesmoke01.particle</file>
				</assetreference>
			</component>
			<anim>
				Idle
				<component>smoke base</component>
			</anim>
		</attachment>
		<attachment>
			base smoke2
			<component>
				smoke wave
				<assetreference type="ParticleSystem">
					<file>effects\smoke\collapse_smoke_wave.particle</file>
				</assetreference>
			</component>
			<anim>
				Idle
				<component>smoke wave</component>
			</anim>
		</attachment>
		<attachment>
			base smoke3
			<component>
				smoke wave center
				<assetreference type="ParticleSystem">
					<file>effects\smoke\collapse_smoke_wave02.particle</file>
				</assetreference>
			</component>
			<anim>
				Idle
				<component>smoke wave center</component>
			</anim>
		</attachment>
		<attachment>
			collapse_smoke
			<component>
				collapse_smoke
				<assetreference type="ParticleSystem">
					<file>effects\smoke\collapse_smoke_a.particle</file>
				</assetreference>
			</component>
			<anim>
				Idle
				<component>collapse_smoke</component>
			</anim>
		</attachment>
		<component>
			Outpost_1
			<logic type="LowPoly">
				<normal>
					<logic type="Destruction">
						<p1>
							<assetreference type="GrannyModel" shape="asian_outpost">
								<file>buildings\asian_civs\spc\japanese_outpost\Asian_outpost\asian_outpost_damaged</file>
							<replacetexture>
								<from>buildings\asian_civs\spc\japanese_outpost\Asian_outpost\Asian_outpost_bump</from>
								<to>mods\Asian_outpost_bump_LV3</to>
							<replacetexture>
							<replacetexture>
								<from>buildings\asian_civs\spc\japanese_outpost\Asian_outpost\Asian_outpost</from>
								<to>mods\Asian_outpostLV3</to>
							<replacetexture>

							</assetreference>
						</p1>
						<p99>
							<assetreference type="GrannyModel" shape="asian_outpost">
								<file>buildings\asian_civs\spc\japanese_outpost\Asian_outpost\asian_outpost</file>
							<replacetexture>
								<from>buildings\asian_civs\spc\japanese_outpost\Asian_outpost\Asian_outpost</from>
								<to>mods\Asian_outpostLV3</to>
							<replacetexture>
							<replacetexture>
								<from>buildings\asian_civs\spc\japanese_outpost\Asian_outpost\Asian_outpost_bump</from>
								<to>mods\Asian_outpost_bump_LV3</to>
							<replacetexture>
							</assetreference>
						</p99>
					</logic>
				</normal>
				<lowpoly>
					<assetreference type="GrannyModel" shape="asian_outpost">
						<file>buildings\asian_civs\spc\japanese_outpost\Asian_outpost\asian_outpost</file>
							<replacetexture>
								<from>buildings\asian_civs\spc\japanese_outpost\Asian_outpost\Asian_outpost</from>
								<to>mods\Asian_outpostLV3</to>
							<replacetexture>
							<replacetexture>
								<from>buildings\asian_civs\spc\japanese_outpost\Asian_outpost\Asian_outpost_bump</from>
								<to>mods\Asian_outpost_bump_LV3</to>
							<replacetexture>
					</assetreference>
				</lowpoly>
			</logic>
			<decal>
				<effecttype>default</effecttype>
				<texture>buildings\outpost\Outpost Ground</texture>
				<selectedtexture>shadows_selections\selection_square_64x64</selectedtexture>
				<width>8.00</width>
				<height>8.00</height>
			</decal>
		</component>
		<component>
			Outpost_1_Death
			<logic type="LowPoly">
				<normal>
					<assetreference type="GrannyModel">
						<file>buildings\asian_civs\spc\japanese_outpost\Asian_outpost\asian_outpost_deathmodel</file>
					</assetreference>
				</normal>
				<lowpoly>
					<assetreference type="GrannyModel">
						<file>buildings\asian_civs\spc\japanese_outpost\Asian_outpost\asian_outpost</file>
					</assetreference>
				</lowpoly>
			</logic>
		</component>
		<anim>
			Idle
			<component>Outpost_1</component>
			<simskeleton>
				<model>buildings\asian_civs\spc\japanese_outpost\Asian_outpost\asian_outpost_damaged</model>
				<damagetemplate>buildings\asian_civs\spc\japanese_outpost\Asian_outpost\Asian_outpost.dmg</damagetemplate>
			</simskeleton>
		</anim>
		<anim>
			RangedAttack
			<assetreference type="GrannyAnim">
				<file>animation_library\building\ranged_attack</file>
				<tag type="Attack">0.45</tag>
				<tag type="SpecificSoundSet" checkvisible="1" set="Rifleshot">0.45</tag>
			</assetreference>
			<component>Outpost_1</component>
			<simskeleton>
				<model>buildings\asian_civs\spc\japanese_outpost\Asian_outpost\asian_outpost_damaged</model>
				<damagetemplate>buildings\asian_civs\spc\japanese_outpost\Asian_outpost\Asian_outpost.dmg</damagetemplate>
			</simskeleton>
		</anim>
		<anim>
			Death
			<assetreference type="GrannyAnim">
				<file>buildings\asian_civs\spc\japanese_outpost\Asian_outpost\asian_outpost_deathanime</file>
			</assetreference>
			<component>Outpost_1_Death</component>
			<attach a="base smoke" frombone="ATTACHPOINT" tobone="ATTACHPOINT" syncanims="0"/>
			<attach a="base smoke2" frombone="ATTACHPOINT" tobone="ATTACHPOINT" syncanims="0"/>
			<attach a="base smoke3" frombone="ATTACHPOINT" tobone="ATTACHPOINT" syncanims="0"/>
			<attach a="collapse_smoke" frombone="ATTACHPOINT" tobone="ATTACHPOINT" syncanims="0"/>
		</anim>
		<anim>
			RangedAttackShip
			<assetreference type="GrannyAnim">
				<file>animation_library\building\ranged_attack</file>
				<tag type="Attack">0.45</tag>
				<tag type="SpecificSoundSet" checkvisible="1" set="FalconetShoot">0.45</tag>
			</assetreference>
			<component>Outpost_1</component>
			<simskeleton>
				<model>buildings\asian_civs\spc\japanese_outpost\Asian_outpost\asian_outpost_damaged</model>
				<damagetemplate>buildings\asian_civs\spc\japanese_outpost\Asian_outpost\Asian_outpost.dmg</damagetemplate>
			</simskeleton>
		</anim>
	</submodel>
	<submodel>
		OutpostLV4
		<attachment>
			base smoke
			<component>
				smoke base
				<assetreference type="ParticleSystem">
					<file>effects\smoke\collapsesmoke01.particle</file>
				</assetreference>
			</component>
			<anim>
				Idle
				<component>smoke base</component>
			</anim>
		</attachment>
		<attachment>
			base smoke2
			<component>
				smoke wave
				<assetreference type="ParticleSystem">
					<file>effects\smoke\collapse_smoke_wave.particle</file>
				</assetreference>
			</component>
			<anim>
				Idle
				<component>smoke wave</component>
			</anim>
		</attachment>
		<attachment>
			base smoke3
			<component>
				smoke wave center
				<assetreference type="ParticleSystem">
					<file>effects\smoke\collapse_smoke_wave02.particle</file>
				</assetreference>
			</component>
			<anim>
				Idle
				<component>smoke wave center</component>
			</anim>
		</attachment>
		<attachment>
			collapse_smoke
			<component>
				collapse_smoke
				<assetreference type="ParticleSystem">
					<file>effects\smoke\collapse_smoke_a.particle</file>
				</assetreference>
			</component>
			<anim>
				Idle
				<component>collapse_smoke</component>
			</anim>
		</attachment>
		<component>
			Outpost_1
			<logic type="LowPoly">
				<normal>
					<logic type="Destruction">
						<p1>
							<assetreference type="GrannyModel" shape="asian_outpost">
								<file>buildings\asian_civs\spc\japanese_outpost\Asian_outpost\asian_outpost_damaged</file>
							<replacetexture>
								<from>buildings\asian_civs\spc\japanese_outpost\Asian_outpost\Asian_outpost</from>
								<to>mods\Asian_outpostLV4</to>
							<replacetexture>
							<replacetexture>
								<from>buildings\asian_civs\spc\japanese_outpost\Asian_outpost\Asian_outpost_bump</from>
								<to>mods\Asian_outpost_bump_LV4</to>
							<replacetexture>
							</assetreference>
						</p1>
						<p99>
							<assetreference type="GrannyModel" shape="asian_outpost">
								<file>buildings\asian_civs\spc\japanese_outpost\Asian_outpost\asian_outpost</file>
							<replacetexture>
								<from>buildings\asian_civs\spc\japanese_outpost\Asian_outpost\Asian_outpost</from>
								<to>mods\Asian_outpostLV4</to>
							<replacetexture>
							<replacetexture>
								<from>buildings\asian_civs\spc\japanese_outpost\Asian_outpost\Asian_outpost_bump</from>
								<to>mods\Asian_outpost_bump_LV4</to>
							<replacetexture>
							</assetreference>
						</p99>
					</logic>
				</normal>
				<lowpoly>
					<assetreference type="GrannyModel" shape="asian_outpost">
						<file>buildings\asian_civs\spc\japanese_outpost\Asian_outpost\asian_outpost</file>
							<replacetexture>
								<from>buildings\asian_civs\spc\japanese_outpost\Asian_outpost\Asian_outpost</from>
								<to>mods\Asian_outpostLV4</to>
							<replacetexture>
							<replacetexture>
								<from>buildings\asian_civs\spc\japanese_outpost\Asian_outpost\Asian_outpost_bump</from>
								<to>mods\Asian_outpost_bump_LV4</to>
							<replacetexture>
					</assetreference>
				</lowpoly>
			</logic>
			<decal>
				<effecttype>default</effecttype>
				<texture>buildings\outpost\Outpost Ground</texture>
				<selectedtexture>shadows_selections\selection_square_64x64</selectedtexture>
				<width>8.00</width>
				<height>8.00</height>
			</decal>
		</component>
		<component>
			Outpost_1_Death
			<logic type="LowPoly">
				<normal>
					<assetreference type="GrannyModel">
						<file>buildings\asian_civs\spc\japanese_outpost\Asian_outpost\asian_outpost_deathmodel</file>
					</assetreference>
				</normal>
				<lowpoly>
					<assetreference type="GrannyModel">
						<file>buildings\asian_civs\spc\japanese_outpost\Asian_outpost\asian_outpost</file>
					</assetreference>
				</lowpoly>
			</logic>
		</component>
		<anim>
			Idle
			<component>Outpost_1</component>
			<simskeleton>
				<model>buildings\asian_civs\spc\japanese_outpost\Asian_outpost\asian_outpost_damaged</model>
				<damagetemplate>buildings\asian_civs\spc\japanese_outpost\Asian_outpost\Asian_outpost.dmg</damagetemplate>
			</simskeleton>
		</anim>
		<anim>
			RangedAttack
			<assetreference type="GrannyAnim">
				<file>animation_library\building\ranged_attack</file>
				<tag type="Attack">0.45</tag>
				<tag type="SpecificSoundSet" checkvisible="1" set="Rifleshot">0.45</tag>
			</assetreference>
			<component>Outpost_1</component>
			<simskeleton>
				<model>buildings\asian_civs\spc\japanese_outpost\Asian_outpost\asian_outpost_damaged</model>
				<damagetemplate>buildings\asian_civs\spc\japanese_outpost\Asian_outpost\Asian_outpost.dmg</damagetemplate>
			</simskeleton>
		</anim>
		<anim>
			Death
			<assetreference type="GrannyAnim">
				<file>buildings\asian_civs\spc\japanese_outpost\Asian_outpost\asian_outpost_deathanime</file>
			</assetreference>
			<component>Outpost_1_Death</component>
			<attach a="base smoke" frombone="ATTACHPOINT" tobone="ATTACHPOINT" syncanims="0"/>
			<attach a="base smoke2" frombone="ATTACHPOINT" tobone="ATTACHPOINT" syncanims="0"/>
			<attach a="base smoke3" frombone="ATTACHPOINT" tobone="ATTACHPOINT" syncanims="0"/>
			<attach a="collapse_smoke" frombone="ATTACHPOINT" tobone="ATTACHPOINT" syncanims="0"/>
		</anim>
		<anim>
			RangedAttackShip
			<assetreference type="GrannyAnim">
				<file>animation_library\building\ranged_attack</file>
				<tag type="Attack">0.45</tag>
				<tag type="SpecificSoundSet" checkvisible="1" set="FalconetShoot">0.45</tag>
			</assetreference>
			<component>Outpost_1</component>
			<simskeleton>
				<model>buildings\asian_civs\spc\japanese_outpost\Asian_outpost\asian_outpost_damaged</model>
				<damagetemplate>buildings\asian_civs\spc\japanese_outpost\Asian_outpost\Asian_outpost.dmg</damagetemplate>
			</simskeleton>
		</anim>
	</submodel>
	<submodel>
		Outpost lvl1_con2
		<attachment>
			con
			<component>
				scaffolding
				<assetreference type="GrannyModel">
					<file>buildings\outpost\outpost_generic_con</file>
				</assetreference>
			</component>
			<anim>
				Idle
				<component>scaffolding</component>
			</anim>
		</attachment>
		<component>
			Outpost_1
			<assetreference type="GrannyModel">
				<file>buildings\constructions\2x2_stage3</file>
			</assetreference>
			<decal>
				<effecttype>bump</effecttype>
				<texture>buildings\constructions\2x2_construction_decal</texture>
				<selectedtexture>shadows_selections\selection_square_128x128</selectedtexture>
				<bumptexture>shadows_selections\flat_normal_black_spec</bumptexture>
				<width>7.00</width>
				<height>7.00</height>
			</decal>
			<attach a="con" frombone="ATTACHPOINT" tobone="ATTACHPOINT" syncanims="0"/>
		</component>
		<anim>
			Idle
			<component>Outpost_1</component>
		</anim>
	</submodel>
	<component>
		ypoutpostasian
		<logic type="Tech">
			<none>
				<logic type="BuildingCompletion">
					<p0>
						<submodelref ref="sub_construction_stage_01"/>
					</p0>
					<p33>
						<submodelref ref="sub_construction_stage_02"/>
					</p33>
					<p66>
						<submodelref ref="Outpost lvl1_con2"/>
					</p66>
					<p100>
						<submodelref ref="Outpost lvl1"/>
					</p100>
				</logic>
			</none>
			<ypFrontierOutpost>
				<logic type="BuildingCompletion">
					<p0>
						<submodelref ref="sub_construction_stage_01"/>
					</p0>
					<p33>
						<submodelref ref="sub_construction_stage_02"/>
					</p33>
					<p66>
						<submodelref ref="Outpost lvl1_con2"/>
					</p66>
					<p100>
						<submodelref ref="OutpostLV3"/>
					</p100>
				</logic>
			</ypFrontierOutpost>
			<ypFortifiedOutpost>
				<logic type="BuildingCompletion">
					<p0>
						<submodelref ref="sub_construction_stage_01"/>
					</p0>
					<p33>
						<submodelref ref="sub_construction_stage_02"/>
					</p33>
					<p66>
						<submodelref ref="Outpost lvl1_con2"/>
					</p66>
					<p100>
						<submodelref ref="OutpostLV4"/>
					</p100>
				</logic>
			</ypFortifiedOutpost>
		</logic>
	</component>
</animfile>

补充:<submodelref ref="XXXX"/>要与你粘贴的submodel语句第一个调用名相同才会被调用到,你自己往上搜索几次OutpostLV4看看。


制作新贴图




最后改好的xml文件按照原路径,新贴图按照你定义的新路径放回游戏目录。











如何查看gr2文件?
gr2查看器 百度网盘:https://pan.baidu.com/s/1Oc3Z9ZHiaULAOYUQvBSTeA;提取码:odw9