更换贴图 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