Firebug
Not-so Great Engineer
Oh my days.
Yes. I'm dealing with graphics now, but districts is the toughest part. I want to finish the resources before start with districts.
So here's something genuinely cool about the new art system. Because all the Armors have the same bone naming you can cook any animation with any Armor. (The Armor is effectively the base that all other attachments fix to and drives the animation of everything else.) So I can "rig" the Crossbowman to Archer animations just by editing XML - making a new .ast file and then cooking it together.
Here I have just copied Archer_ArmorA.ast and then taken the Geometry entry from Crossbowman_ArmorB.ast - replacing the existing entry - to make a new asset: Longbowman_ArmorA.ast.
Code:<?xml version="1.0" encoding="UTF-8" ?> <AssetObjects::AssetInstance> <m_BehaviorData> <m_behaviorDataSets> <m_animationBindings> <m_Bindings/> </m_animationBindings> <m_timelineBindings> <m_Bindings/> </m_timelineBindings> <m_timelines> <m_Timelines/> </m_timelines> <m_attachmentPoints> <m_Points> <Element> <m_CookParams> <m_Values/> </m_CookParams> <m_position> <x>0.000000</x> <y>0.000000</y> <z>0.000000</z> </m_position> <m_orientation> <x>0.000000</x> <y>0.000000</y> <z>0.000000</z> </m_orientation> <m_Name text="WeaponPrimary"/> <m_BoneName text="Inven_L_Hand"/> <m_ModelInstanceName text="Root"/> <m_scale>1.000000</m_scale> </Element> <Element> <m_CookParams> <m_Values/> </m_CookParams> <m_position> <x>0.000000</x> <y>0.000000</y> <z>0.000000</z> </m_position> <m_orientation> <x>0.000000</x> <y>0.000000</y> <z>0.000000</z> </m_orientation> <m_Name text="WeaponSecondary"/> <m_BoneName text="Inven_R_Hand"/> <m_ModelInstanceName text="Root"/> <m_scale>1.000000</m_scale> </Element> <Element> <m_CookParams> <m_Values/> </m_CookParams> <m_position> <x>0.000000</x> <y>0.000000</y> <z>0.000000</z> </m_position> <m_orientation> <x>0.000000</x> <y>0.000000</y> <z>0.000000</z> </m_orientation> <m_Name text="Hat"/> <m_BoneName text="Head"/> <m_ModelInstanceName text="Root"/> <m_scale>1.000000</m_scale> </Element> <Element> <m_CookParams> <m_Values/> </m_CookParams> <m_position> <x>0.000000</x> <y>0.000000</y> <z>0.000000</z> </m_position> <m_orientation> <x>0.000000</x> <y>0.000000</y> <z>0.000000</z> </m_orientation> <m_Name text="Projectile_Attach"/> <m_BoneName text="Inven_R_Hand"/> <m_ModelInstanceName text="Root"/> <m_scale>1.000000</m_scale> </Element> </m_Points> </m_attachmentPoints> </m_behaviorDataSets> <m_behaviorInstances> <Element text="SingleBiped_Deaths"/> <Element text="Archer"/> </m_behaviorInstances> <m_dsgName text="potential_any_graph"/> <m_referenceGeometryNames/> </m_BehaviorData> <m_GeometrySet> <m_ModelInstances> <Element> <m_Name text="Root"/> <m_GeoName text="Crossbowman_ArmorB"/> <m_GroupStates> <Element> <m_Values> <m_Values> <Element class="AssetObjects::ObjectValue"> <m_ObjectName text="Crossbowman"/> <m_eObjectType>MATERIAL</m_eObjectType> <m_ParamName text="Material"/> </Element> </m_Values> </m_Values> <m_GroupName text="Crossbowman"/> <m_MeshName text="Crossbowman_ArmorBShape"/> <m_StateName text="Default"/> </Element> </m_GroupStates> </Element> </m_ModelInstances> </m_GeometrySet> <m_CookParams> <m_Values/> </m_CookParams> <m_Version> <major>3</major> <minor>0</minor> <build>201</build> <revision>159</revision> </m_Version> <m_ParticleEffects/> <m_Geometries/> <m_Animations/> <m_Materials/> <m_ClassName text="Unit"/> <m_DataFiles/> <m_Name text="Longbowman_ArmorA"/> <-- New Name! <m_Description text=""/> <m_Tags> <Element text="Unit"/> </m_Tags> <m_Groups/> </AssetObjects::AssetInstance>
Then all I have to do is add it to my .xlp package spec create the Unit_Bins.artdef which is simple and I have Crossbowmen using Archer animations.
View attachment 466782
I tried this and somehow my unit is just blank. The game loads, all icons are there, correct name etc, but the 3D model isn't there at all. I would love a bit more explanation. Maybe post your xlp and artdef file too?
When modding units, I think this option is probably the most accessable... just cant get it to work.
The Longbowman example is included in one of these Modbuddy projects.
The Longbowman example is included in one of these Modbuddy projects.