Description of the TimelineFX .eff fileformat You are here: Home / Latest News/Blog / Description of the TimelineFX .eff fileformat Home › Forums › TimelineFX Module › Description of the TimelineFX .eff fileformat This topic contains 4 replies, has 2 voices, and was last updated by peterigz 1 year, 9 months ago. Viewing 5 posts - 1 through 5 (of 5 total) Author Posts September 2, 2016 at 3:56 pm #5606 michaParticipant Hi, I’m trying to write a conversion tool from one particle engine to TimelineFX. I understand that .eff files are actually zip files containg data.xml and images. Is there any (formal) documentation on the data.xml format? Any kind of documentation would greatly help me reduce the time to reverse engineer it. For example I hit a snag on the very first attribute I came across: TYPE under the EFFECT node. So far I came across “0” and “3”, and that’s by just looking at 2 files! What does this attribute represent? I’m sure I will have a lot more questions like these if I walk down this path.. Maybe a DTD? Scribblings on a coaster would help too :’D .. I also looked at the Monkey module source code. This code is not commented, so all I understand from this it’s just an “EffectClass”. But it doesn’t explain how this would further impact the other values. For that I have to delve deeper and see how EffectClass is used. This could fun to track down, though. But unfortunately I’m strapped for time. The faster I can get this converter to work, the easier it is to sell TimelineFX as the new inhouse Particle Tool within my company. Thank you! September 2, 2016 at 4:21 pm #5607 peterigzKeymaster Hi, yes there’s not much documentation on the xml file! Type is whether it’s a point, area, line or elipse effect. These consts in the module might help shed some light: Const tlPOINT_EFFECT:Int = 0 Const tlAREA_EFFECT:Int = 1 Const tlLINE_EFFECT:Int = 2 Const tlELLIPSE_EFFECT:Int = 3 Const tlCONTINUOUS:Int = 0 Const tlFINITE:Int = 1 Const tlANGLE_ALIGN:Int = 0 Const tlANGLE_RANDOM:Int = 1 Const tlANGLE_SPECIFY:Int = 2 Const tlEMISSION_INWARDS:Int = 0 Const tlEMISSION_OUTWARDS:Int = 1 Const tlEMISSION_SPECIFIED:Int = 2 Const tlEMISSION_IN_AND_OUT:Int = 3 Const tlEND_KILL:Int = 0 Const tlEND_LOOPAROUND:Int = 1 Const tlEND_LETFREE:Int = 2 1234567891011121314151617181920 Const tlPOINT_EFFECT:Int = 0Const tlAREA_EFFECT:Int = 1Const tlLINE_EFFECT:Int = 2Const tlELLIPSE_EFFECT:Int = 3 Const tlCONTINUOUS:Int = 0Const tlFINITE:Int = 1 Const tlANGLE_ALIGN:Int = 0Const tlANGLE_RANDOM:Int = 1Const tlANGLE_SPECIFY:Int = 2 Const tlEMISSION_INWARDS:Int = 0Const tlEMISSION_OUTWARDS:Int = 1Const tlEMISSION_SPECIFIED:Int = 2Const tlEMISSION_IN_AND_OUT:Int = 3 Const tlEND_KILL:Int = 0Const tlEND_LOOPAROUND:Int = 1Const tlEND_LETFREE:Int = 2 TimelineFX is quite complex so it will depend on what you’re trying to convert to on how smooth this will go I guess. September 2, 2016 at 7:04 pm #5608 michaParticipant Thanks a lot Peter! This helps 😉 Keep up the good work! September 7, 2016 at 9:08 am #5609 michaParticipant I continued with my converter. So far it looks good. I can generate something TimelineFX doesn’t choke on. But I’m having troubles decyphering some details. Each attribute has a VALUE and a FRAME and the attribute itself can be repeated for keyframing. I like this, it’s simple and clean. But how do I interpret the FRAME value? If I am correct, FRAME normally runs from 0.0 to 1000.0. Unless the attribute is an _OVERTIME or an _VARIATIONOT “type” of attribute. Then it runs from 0.0 to 1.0? What is the purpose of ANIMATION_PROPERTIES? (I am not going to use TimelineFX to generate framestrips.) Does, for example, the FRAMES property has an influence on the attributes? September 8, 2016 at 11:47 pm #5610 peterigzKeymaster The frame is either the time in milliseconds when that value is applied from the start of the effect, or if it’s an “overtime” attribute then it will be a percent of the lifetime of the effect. So for example, if the particle has a lifetime of 3000ms (3 seconds), then a frame of 0.5 will mean that that attributes value will be at 1500ms or 50% into the particles lifetime. Values at any given time are linear interpolated between values, or interpolated with bezier curves if curves are used in the editor. Yes the animation properties is only for the exporting of the effects and do not affect anything with the attributes. Hope that helps! Author Posts Viewing 5 posts - 1 through 5 (of 5 total) You must be logged in to reply to this topic.