Difference between revisions of "ANI"
From Dragon Age Toolset Wiki
ChewyGumball (Talk | contribs) (added example XML based only on provided schema) |
ChewyGumball (Talk | contribs) m (→Example .ANI.xml File) |
||
Line 88: | Line 88: | ||
Name is the name of the animation | Name is the name of the animation | ||
--> | --> | ||
− | + | <!-- Optional Attributes: | |
− | + | Additive="string" -- probably true or false | |
− | + | IgnoreScale="string" -- probably true or false | |
− | + | Override="string" -- probably true or false | |
− | + | QuaternionCompressedSize="int" -- size of compressed quaternion in bytes? | |
− | + | --> | |
+ | |||
<!-- Optional Element --> | <!-- Optional Element --> | ||
<Meta> | <Meta> | ||
Line 100: | Line 101: | ||
<GOBAnim Value="int"/> | <GOBAnim Value="int"/> | ||
</Meta> | </Meta> | ||
+ | |||
<!-- 0 or more of these, obviously having at least one would be usefull... It appears that each bone or node (not nodemeshes) gets one --> | <!-- 0 or more of these, obviously having at least one would be usefull... It appears that each bone or node (not nodemeshes) gets one --> | ||
<AnimationNode Elements="int" ExportName="?string?" Source="string" Target="string" SourceType="string"> | <AnimationNode Elements="int" ExportName="?string?" Source="string" Target="string" SourceType="string"> | ||
Line 118: | Line 120: | ||
keyframe and ntuple is the components of the source type (the 3 elements in a vector or 4 elements in a quaternion or 1 element in a float) | keyframe and ntuple is the components of the source type (the 3 elements in a vector or 4 elements in a quaternion or 1 element in a float) | ||
Therefore there will be Element+1 numbers per line | Therefore there will be Element+1 numbers per line | ||
+ | ends with ]]> | ||
--> | --> | ||
</KeyFrame> | </KeyFrame> |
Revision as of 05:50, 2 December 2009
Animation sequence: holds single animation sequence.
ani.xml schema
See [1] for information on the RELAX NG 1.0 XML schema format. For a free converter/verifier, see [2].
<?xml version="1.0" encoding="UTF-8"?> <grammar ns="" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <start> <element name="Animation"> <optional> <attribute name="Additive"> <data type="NCName"/> </attribute> </optional> <optional> <attribute name="IgnoreScale"> <data type="NCName"/> </attribute> </optional> <attribute name="Length"> <data type="decimal"/> </attribute> <attribute name="Name"> <data type="NCName"/> </attribute> <optional> <attribute name="Override"> <data type="NCName"/> </attribute> </optional> <optional> <attribute name="QuaternionCompressedSize"> <data type="integer"/> </attribute> </optional> <optional> <element name="Meta"> <element name="CombatRange"> <attribute name="Value"> <data type="decimal"/> </attribute> </element> <optional> <element name="GOBAnim"> <attribute name="Value"> <data type="integer"/> </attribute> </element> </optional> </element> </optional> <zeroOrMore> <element name="AnimationNode"> <attribute name="Elements"> <data type="integer"/> </attribute> <attribute name="ExportName"> <data type="NMTOKEN"/> </attribute> <attribute name="Source"> <data type="NCName"/> </attribute> <attribute name="SourceType"> <data type="NCName"/> </attribute> <attribute name="Target"> <data type="NCName"/> </attribute> <element name="KeyFrame"> <text/> </element> </element> </zeroOrMore> </element> </start> </grammar>
Example .ANI.xml File
<?xml version="1.0" encoding="UTF-8"?> <Animation Length="decimal" Name="string"> <!-- Attributes: Length is the length of the animation in seconds Name is the name of the animation --> <!-- Optional Attributes: Additive="string" -- probably true or false IgnoreScale="string" -- probably true or false Override="string" -- probably true or false QuaternionCompressedSize="int" -- size of compressed quaternion in bytes? --> <!-- Optional Element --> <Meta> <CombatRange Value="decimal"/> <!-- Optional Element --> <GOBAnim Value="int"/> </Meta> <!-- 0 or more of these, obviously having at least one would be usefull... It appears that each bone or node (not nodemeshes) gets one --> <AnimationNode Elements="int" ExportName="?string?" Source="string" Target="string" SourceType="string"> <!-- Attributes: Element refers to the number of elements in the data type. eg: 3 for a vector, 4 for a quaternion ExportName is the name the node will take on export Source is the type of the source Target is the type of the target SourceType seems to always be "KeyFrame" --> <!-- Notes: For the Source and Target I have seen "Vector", "Quaternion", "Float32" and "Color4" with Elements="3", Elements="4", Elements="1" and Elements="4" respectively Vector was used for position info, Quaternion for rotation info, Float32 and Color4 for vfx info like birthrate, alpha and colour --> <KeyFrame> data <!-- starts with <![CDATA[ followed with lines of the format "time ntuple" where time is the time in seconds of the keyframe and ntuple is the components of the source type (the 3 elements in a vector or 4 elements in a quaternion or 1 element in a float) Therefore there will be Element+1 numbers per line ends with ]]> --> </KeyFrame> </AnimationNode> </Animation>