单位行走特效




单位行走可以添加走路效果,例如马匹跑动增加尘雾,以及马的脚步声。

尘雾acttach部件:
<attachment>
Horse_Dust
<component>
Horse_Dust
<assetreference type="ParticleSystem">
<file>effects\Animal Particles\Horse_Dust.particle</file>
</assetreference>
</component>
<anim>
Idle
<component>Horse_Dust</component>
</anim>
</attachment>
<attachment>
Horse_Debris
<component>
Horse_Debris
<assetreference type="ParticleSystem">
<file>effects\Animal Particles\Horse_Debris.particle</file>
</assetreference>
</component>
<anim>
Idle
<component>Horse_Debris</component>
</anim>
</attachment>
单位行进产生沙尘(在<anim></anim>语句里生效,重复越多沙尘越大。)
<attach a="Horse_Dust" frombone="HS Bone Master" tobone="HS Bone Hoof Back Lt" syncanims="0"/>
<attach a="Horse_Debris" frombone="HS Bone Master" tobone="HS Bone Hoof Back Rt" syncanims="0"/>
步兵走路沙沙声
<tag type="SpecificSoundSet" checkvisible="1" set="GenericFootsteps">0.11</tag>
<tag type="SpecificSoundSet" checkvisible="1" set="GenericFootsteps">0.60</tag>
骑兵行进噔噔声
<tag type="SpecificSoundSet" checkvisible="1" set="HorseHoof1">0.26</tag>
<tag type="SpecificSoundSet" checkvisible="1" set="HorseHoof2">0.74</tag>
1.先用AOE3ED把单位xml提取出来。 2.添加上面所说的语句(顶部添加attach部件,anim那里attach新增的部件) 我添加的是领事馆轻骑兵:
  light_cavalry_horse.xml - 记事本 ____ X
文件(F)  编辑(E)  格式(O)  查看(V)  帮助(H)
<!-- converted from XMB to XML -->
<animfile>
<definebone>HS Bone Hoof Frnt Lt</definebone>
<definebone>HS Bone Hoof Frnt Rt</definebone>
<definebone>HS Bone Hoof Back Lt</definebone>
<definebone>HS Bone Hoof Back Rt</definebone>
<attachment>
RiderAttachment
<include>units\asians\consulate\light_cavalry\light_cavalry_rider.xml</include>
</attachment>
<attachment>
Horse_Dust
<component>
Horse_Dust
<assetreference type="ParticleSystem">
<file>effects\Animal Particles\Horse_Dust.particle</file>
</assetreference>
</component>
<anim>
Idle
<component>Horse_Dust</component>
</anim>
</attachment>
<attachment>
Horse_Debris
<component>
Horse_Debris
<assetreference type="ParticleSystem">
<file>effects\Animal Particles\Horse_Debris.particle</file>
</assetreference>
</component>
<anim>
Idle
<component>Horse_Debris</component>
</anim>
</attachment>

<component>
ModelComp
<logic type="LowPoly">
<normal>
<assetreference type="GrannyModel">
<file>units\cavalry\light_cavalry\light_cavalry_age4_horse</file>
</assetreference>
</normal>
<lowpoly>
<assetreference type="GrannyModel">
<file>units\cavalry\light_cavalry\lp_light_cavalry_age4_horse</file>
</assetreference>
</lowpoly>
</logic>
<decal>
<effecttype>default</effecttype>
<texture isfakeshadow="1">shadows_selections\shadow_consulate_64x64</texture>
<selectedtexture>shadows_selections\selection_consulate_64x64</selectedtexture>
<width>1.50</width>
<height>3.00</height>
</decal>
<attach a="RiderAttachment" frombone="hotspot" tobone="ATTACHPOINT" syncanims="1"/>
</component>
<anim>
Walk
<assetreference type="GrannyAnim">
<file>animation_library\cavalry\horse_canter</file>
<tag type="FootstepLeft" footprinttype="Horse" footprintbone="HS BONE HOOF FRNT LT">1.00</tag>
<tag type="FootstepRight" footprinttype="Horse" footprintbone="HS BONE HOOF FRNT RT">0.70</tag>
<tag type="FootstepLeft" footprinttype="Horse" footprintbone="HS BONE HOOF BACK LT">0.83</tag>
<tag type="FootstepRight" footprinttype="Horse" footprintbone="HS BONE HOOF BACK RT">0.50</tag>
</assetreference>
<component>ModelComp</component>
<tag type="SpecificSoundSet" checkvisible="1" set="HorseHoof1">0.26</tag>
<tag type="SpecificSoundSet" checkvisible="1" set="HorseHoof2">0.74</tag>
<attach a="Horse_Dust" frombone="HS Bone Master" tobone="HS Bone Hoof Back Lt" syncanims="0"/>
<attach a="Horse_Debris" frombone="HS Bone Master" tobone="HS Bone Hoof Back Rt" syncanims="0"/>
<attach a="Horse_Dust" frombone="HS Bone Master" tobone="HS Bone Hoof Back Lt" syncanims="0"/>
<attach a="Horse_Debris" frombone="HS Bone Master" tobone="HS Bone Hoof Back Rt" syncanims="0"/>
<attach a="Horse_Dust" frombone="HS Bone Master" tobone="HS Bone Hoof Back Lt" syncanims="0"/>
<attach a="Horse_Debris" frombone="HS Bone Master" tobone="HS Bone Hoof Back Rt" syncanims="0"/>
<attach a="Horse_Dust" frombone="HS Bone Master" tobone="HS Bone Hoof Back Lt" syncanims="0"/>
<attach a="Horse_Debris" frombone="HS Bone Master" tobone="HS Bone Hoof Back Rt" syncanims="0"/>
<attach a="Horse_Dust" frombone="HS Bone Master" tobone="HS Bone Hoof Back Lt" syncanims="0"/>
<attach a="Horse_Debris" frombone="HS Bone Master" tobone="HS Bone Hoof Back Rt" syncanims="0"/>
<attach a="Horse_Dust" frombone="HS Bone Master" tobone="HS Bone Hoof Back Lt" syncanims="0"/>
<attach a="Horse_Debris" frombone="HS Bone Master" tobone="HS Bone Hoof Back Rt" syncanims="0"/>

</anim>
<anim>
Jog
<assetreference type="GrannyAnim">
<file>animation_library\cavalry\horse_jog</file>
<tag type="FootstepLeft" footprinttype="Horse" footprintbone="HS BONE HOOF FRNT LT">0.80</tag>
<tag type="FootstepRight" footprinttype="Horse" footprintbone="HS BONE HOOF FRNT RT">0.95</tag>
<tag type="FootstepLeft" footprinttype="Horse" footprintbone="HS BONE HOOF BACK LT">0.50</tag>
<tag type="FootstepRight" footprinttype="Horse" footprintbone="HS BONE HOOF BACK RT">0.75</tag>
</assetreference>
<component>ModelComp</component>
<tag type="SpecificSoundSet" checkvisible="1" set="HorseHoof1">0.26</tag>
<tag type="SpecificSoundSet" checkvisible="1" set="HorseHoof2">0.74</tag>
<attach a="Horse_Dust" frombone="HS Bone Master" tobone="HS Bone Hoof Back Lt" syncanims="0"/>
<attach a="Horse_Debris" frombone="HS Bone Master" tobone="HS Bone Hoof Back Rt" syncanims="0"/>
<attach a="Horse_Dust" frombone="HS Bone Master" tobone="HS Bone Hoof Back Lt" syncanims="0"/>
<attach a="Horse_Debris" frombone="HS Bone Master" tobone="HS Bone Hoof Back Rt" syncanims="0"/>
<attach a="Horse_Dust" frombone="HS Bone Master" tobone="HS Bone Hoof Back Lt" syncanims="0"/>
<attach a="Horse_Debris" frombone="HS Bone Master" tobone="HS Bone Hoof Back Rt" syncanims="0"/>
<attach a="Horse_Dust" frombone="HS Bone Master" tobone="HS Bone Hoof Back Lt" syncanims="0"/>
<attach a="Horse_Debris" frombone="HS Bone Master" tobone="HS Bone Hoof Back Rt" syncanims="0"/>
<attach a="Horse_Dust" frombone="HS Bone Master" tobone="HS Bone Hoof Back Lt" syncanims="0"/>
<attach a="Horse_Debris" frombone="HS Bone Master" tobone="HS Bone Hoof Back Rt" syncanims="0"/>
<attach a="Horse_Dust" frombone="HS Bone Master" tobone="HS Bone Hoof Back Lt" syncanims="0"/>
<attach a="Horse_Debris" frombone="HS Bone Master" tobone="HS Bone Hoof Back Rt" syncanims="0"/>

</anim>
<anim>
Run
<assetreference type="GrannyAnim">
<file>animation_library\cavalry\horse_gallop</file>
<tag type="FootstepLeft" footprinttype="Horse" footprintbone="HS BONE HOOF FRNT LT">0.73</tag>
<tag type="FootstepRight" footprinttype="Horse" footprintbone="HS BONE HOOF FRNT RT">1.00</tag>
<tag type="FootstepLeft" footprinttype="Horse" footprintbone="HS BONE HOOF BACK LT">0.50</tag>
<tag type="FootstepRight" footprinttype="Horse" footprintbone="HS BONE HOOF BACK RT">0.70</tag>
</assetreference>
<component>ModelComp</component>
<tag type="SpecificSoundSet" checkvisible="1" set="HorseHoof1">0.26</tag>
<tag type="SpecificSoundSet" checkvisible="1" set="HorseHoof2">0.74</tag>
<attach a="Horse_Dust" frombone="HS Bone Master" tobone="HS Bone Hoof Back Lt" syncanims="0"/>
<attach a="Horse_Debris" frombone="HS Bone Master" tobone="HS Bone Hoof Back Rt" syncanims="0"/>
<attach a="Horse_Dust" frombone="HS Bone Master" tobone="HS Bone Hoof Back Lt" syncanims="0"/>
<attach a="Horse_Debris" frombone="HS Bone Master" tobone="HS Bone Hoof Back Rt" syncanims="0"/>
<attach a="Horse_Dust" frombone="HS Bone Master" tobone="HS Bone Hoof Back Lt" syncanims="0"/>
<attach a="Horse_Debris" frombone="HS Bone Master" tobone="HS Bone Hoof Back Rt" syncanims="0"/>
<attach a="Horse_Dust" frombone="HS Bone Master" tobone="HS Bone Hoof Back Lt" syncanims="0"/>
<attach a="Horse_Debris" frombone="HS Bone Master" tobone="HS Bone Hoof Back Rt" syncanims="0"/>
<attach a="Horse_Dust" frombone="HS Bone Master" tobone="HS Bone Hoof Back Lt" syncanims="0"/>
<attach a="Horse_Debris" frombone="HS Bone Master" tobone="HS Bone Hoof Back Rt" syncanims="0"/>
<attach a="Horse_Dust" frombone="HS Bone Master" tobone="HS Bone Hoof Back Lt" syncanims="0"/>
<attach a="Horse_Debris" frombone="HS Bone Master" tobone="HS Bone Hoof Back Rt" syncanims="0"/>

</anim>
<anim>
Highstep
<assetreference type="GrannyAnim">
<file>animation_library\cavalry\horse_highstep</file>
<tag type="FootstepLeft" footprinttype="Horse" footprintbone="HS BONE HOOF FRNT LT">0.73</tag>
<tag type="FootstepRight" footprinttype="Horse" footprintbone="HS BONE HOOF FRNT RT">1.00</tag>
<tag type="FootstepLeft" footprinttype="Horse" footprintbone="HS BONE HOOF BACK LT">0.50</tag>
<tag type="FootstepRight" footprinttype="Horse" footprintbone="HS BONE HOOF BACK RT">0.70</tag>
</assetreference>
<component>ModelComp</component>
</anim>
<anim>
Idle
<assetreference type="GrannyAnim">
<file>animation_library\cavalry\horse_idle_A</file>
<weight>40</weight>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\cavalry\horse_idle_B</file>
<weight>10</weight>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\cavalry\horse_idle_C</file>
<weight>10</weight>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\cavalry\horse_idle_D</file>
<weight>10</weight>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\cavalry\horse_idle_F</file>
<weight>10</weight>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\cavalry\horse_idle_G</file>
<weight>10</weight>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\cavalry\horse_idle_H</file>
<weight>10</weight>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\cavalry\horse_idle_I</file>
<weight>40</weight>
</assetreference>
<component>ModelComp</component>
</anim>
<anim>
Bored
<assetreference type="GrannyAnim">
<file>animation_library\cavalry\horse_bored_A</file>
<weight>10</weight>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\cavalry\horse_idle_E</file>
<weight>10</weight>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\cavalry\horse_idle_A</file>
<weight>50</weight>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\cavalry\horse_idle_I</file>
<weight>50</weight>
</assetreference>
<component>ModelComp</component>
</anim>
<anim>
Attack_melee
<assetreference type="GrannyAnim">
<file>animation_library\cavalry\horse_1-5_attack_A</file>
<weight>40</weight>
<tag type="Attack">0.56</tag>
<tag type="SpecificSoundSet" checkvisible="1" set="Swoosh">0.43</tag>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\cavalry\horse_1-5_attack_B</file>
<weight>10</weight>
<tag type="Attack">0.47</tag>
<tag type="SpecificSoundSet" checkvisible="1" set="Swoosh">0.40</tag>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\cavalry\horse_1-5_attack_C</file>
<weight>10</weight>
<tag type="Attack">0.54</tag>
<tag type="SpecificSoundSet" checkvisible="1" set="Swoosh">0.49</tag>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\cavalry\horse_1-5_attack_D</file>
<weight>10</weight>
<tag type="Attack">0.54</tag>
<tag type="SpecificSoundSet" checkvisible="1" set="Swoosh">0.47</tag>
</assetreference>
<component>ModelComp</component>
</anim>
<anim>
Attack_trample
<assetreference type="GrannyAnim">
<file>animation_library\cavalry\horse_trample_A</file>
<weight>40</weight>
<tag type="Attack">0.56</tag>
<tag type="SpecificSoundSet" checkvisible="1" set="Swoosh">0.46</tag>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\cavalry\horse_trample_B</file>
<weight>40</weight>
<tag type="Attack">0.47</tag>
<tag type="SpecificSoundSet" checkvisible="1" set="Swoosh">0.42</tag>
</assetreference>
<component>ModelComp</component>
</anim>
<anim>
Death_by_melee
<assetreference type="GrannyAnim">
<file>animation_library\cavalry\horse_deathA</file>
<tag type="SpecificSoundSet" checkvisible="1" set="RagdollImpact">0.63</tag>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\cavalry\horse_deathB</file>
<tag type="SpecificSoundSet" checkvisible="1" set="RagdollImpact">0.48</tag>
<tag type="SpecificSoundSet" checkvisible="1" set="RagdollImpact">0.80</tag>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\cavalry\horse_deathC</file>
<tag type="SpecificSoundSet" checkvisible="1" set="RagdollImpact">0.53</tag>
</assetreference>
<component>ModelComp</component>
</anim>
<anim>
Death_by_range
<assetreference type="GrannyAnim">
<file>animation_library\cavalry\horse_deathA</file>
<tag type="SpecificSoundSet" checkvisible="1" set="RagdollImpact">0.63</tag>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\cavalry\horse_deathB</file>
<tag type="SpecificSoundSet" checkvisible="1" set="RagdollImpact">0.47</tag>
<tag type="SpecificSoundSet" checkvisible="1" set="RagdollImpact">0.79</tag>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\cavalry\horse_deathC</file>
<tag type="SpecificSoundSet" checkvisible="1" set="RagdollImpact">0.54</tag>
</assetreference>
<component>ModelComp</component>
</anim>
<anim>
Death_by_havoc
<assetreference type="GrannyAnim">
<file>animation_library\cavalry\horse_death_front</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\cavalry\horse_death_behind</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\cavalry\horse_death_left</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\cavalry\horse_death_right</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\cavalry\horse_death_run</file>
</assetreference>
<component>ModelComp</component>
</anim>
<anim>
Cheer
<assetreference type="GrannyAnim">
<file>animation_library\cavalry\horse_idle_F</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\cavalry\horse_idle_H</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\cavalry\horse_bored_A</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\cavalry\horse_idle_E</file>
</assetreference>
<component>ModelComp</component>
</anim>
<anim>
Raze_idle
<assetreference type="GrannyAnim">
<file>animation_library\cavalry\horse_idle_A</file>
<weight>40</weight>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\cavalry\horse_idle_B</file>
<weight>10</weight>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\cavalry\horse_idle_C</file>
<weight>10</weight>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\cavalry\horse_idle_D</file>
<weight>10</weight>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\cavalry\horse_idle_F</file>
<weight>10</weight>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\cavalry\horse_idle_G</file>
<weight>10</weight>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\cavalry\horse_idle_H</file>
<weight>10</weight>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\cavalry\horse_idle_I</file>
<weight>40</weight>
</assetreference>
<component>ModelComp</component>
</anim>
<anim>
Raze_attack
<assetreference type="GrannyAnim">
<file>animation_library\cavalry\horse_1_attack_A</file>
<tag type="Attack">0.43</tag>
<tag type="SpecificSoundSet" checkvisible="1" set="TorchSwing">0.35</tag>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\cavalry\horse_1_attack_B</file>
<tag type="Attack">0.43</tag>
<tag type="SpecificSoundSet" checkvisible="1" set="TorchSwing">0.31</tag>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\cavalry\horse_1_attack_C</file>
<tag type="Attack">0.43</tag>
<tag type="SpecificSoundSet" checkvisible="1" set="TorchSwing">0.33</tag>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\cavalry\horse_1_attack_D</file>
<tag type="Attack">0.43</tag>
<tag type="SpecificSoundSet" checkvisible="1" set="TorchSwing">0.35</tag>
</assetreference>
<component>ModelComp</component>
</anim>
</animfile>

说一些与本教程无关的东西:你留意到RiderAttachment没?这个其实是骑手,在protoy.xml查到的animfile的路径是马的路径,不是骑手的路径,骑手是在马的xml文件,使用RiderAttachment定义的,然后通过attach将骑手附加在马上。自己往上面搜索看看吧,units\asians\consulate\light_cavalry\light_cavalry_rider.xml就是领事馆轻骑兵骑手的路径。

3.最后按照原路径放回游戏目录,进入游戏看效果吧。