Post by olganix on Dec 8, 2017 17:32:15 GMT
Hi.
Lazybone and I have done lot of work to have XmlConverter and "what values is for" on file for effects :
-bsa: configuration file (look like .bac), witch could use eepk, define a projectile, its hitbox, the display on impact on ground, wall, enemies.
-eepk: configuration file for effect, witch could use emp, etr, ecf, emo, ema, emm, and texturesEmbPack.
-emp: for particules generation.
-etr: for making 'traces', sort of extrude things.
-ecf: for colorise the character (like 'poison' effect).
-emo, obj.ema and mat.ema : allready done with conversion into .emd, .esk, .ean, and mat.ema.xml.
Please see, Lazybone's XV2_Xml_Serializer and Olganix's XenoXmlConverter to have more information about it, and link on tutorial for each.
In this post, we will focus on Eepk.
For Eepk, the tool to convert is Lazybone's XV2_Xml_Serializer.
Don't forget to keep originals files to reverse a strange behaviour, or for make comparaison !!!
Notice:
-all times are in frames.
-all angles are in degrees in the Xml. (Todo check)
-all distances could be considered as meters.
There still some unknow values in each parts. So, to not oversize this tutorial, all we know about the unknow values/average behaviour is on test file, if someone want to find more things about eepk.
*********
For this example, we will use only the skill\SPA\000_GOK_KMH\000_GOK_KMH.eepk (link).
To use it, you have add classic Kamehameha to yours characters, or use normal Goku's sama. If you use it, you should see only Kmh_Hand.emo and Kmh_Bas.emo (the ball).
------------- Fast Xml review :
Eepk is a file to define some Effects, witch is used by bac or bsa, depend of the context.
At Eepk level, there is a declaration of file used:
-emp in pbind (Particules)
-etr in tbind (Trace/Extrude)
-ecf in cbind (Character Colorized)
-emo (mesh + skeleton) + ema (animation)
-emm (material)
-emb with textures.
And the effects could use them in the same time or not.
All Effect have a Id to be referenced into bac or bsa file.
So, the Xml is composed of 2 parts :
-Containers, witch reference all ressources to use.
-Effects, witch have all Effect and how to play them.
------------- Containers:
Container are separate by types.
Same if there is few difference between each type, we will take a look on each.
-------- PBIND
-Container.Files: here we have the files to use.
For emp, we use a .pbind.emb, witch the game will extract. Same for texture in .ptcl.emb.
we see the link between the effect (emps in pbind.emb), the material (emm) and the textures (ptcl.emb).
-Container_Entry.Files: declare needed emp file in emb.
-Container_Entry.Index: the Index will be use by Effects. This index isn't considered when rebuilding the eepk.
Notice: It is just for visualisation! No matter what value you put here, the actual index will be the determined by the order of entries.)
-------- TBIND
tbind have the same informations as pbind
-------- CBIND
cbind have the same informations as pbind
-------- EMO
Here, there isn't Container.Files, but the Files are used in group:
-emo = meshs + skeleton
-emm = material
-emb = textures
-mat.ema = animation of material parameters (use XenoXmlConverter (link))
-obj.ema = animation of emo (use EmaEan to convert it into ean file (link))
-------- LIGHT.EMA
light.ema is for animate the light in position, color, or intesity.
Notice: no tools edit that file for now.
------------- Effects:
-Effect.ID: Id of the Effect, witch will be used by a bac or a bsa file, in different context. So, Make sure that all Effect Id are unique in the Eepk.
-EffectPart.Container_Type=EMO + Container_Index="1": witch make a reference to a target Container, and all the ressources they use.
A effect could have many EffectPart, so we could mixe the differents kind of Effects.
-------- EffectPart
-StartTime: Could differ the start of the EffectPart, from start of the Effect (depend of bac or bsa).
-Deactivation: It determines how an effect will be ended. It could happen on impact with enemy, ground or wall, or just after a duration (depends on bac/bsa setup).
-AfterAnimationLoop: When the effect is ended in bac/bsa or some other way, it will play out one final loop of its animation before disappearing. For EMO/LIGHT.EMA, this means
looping between the values defined in LoopStartFrame and LoopEndFrame. EMP is also affected, but that is not fully understood yet (EMP does not use the LoopStartFrame and LoopEndFrame values).
-Always: When the cancel command happens, the effect immediately disappears.
-Never: The effect will never disappear.
-BoneToAttach.name: Give the name of the bone to attache. Here, there is some interresting values: g_L_Hand, SCENE_ROOT, COM_ACT02_root, TRS or NULL (= no bone).
-Position.XYZ : translate the effect from Bone origine.
-Orientation_X.Min="0.0" Max="0.0": Orientation_X is the rotation on X-Axis.
IMPORTANT NOTICE: Min and Max are 2 values witch the random will choose a value between them.
To have a unique value, you just have to do Min = Max.
Lot of parameter have the same.
-Orientation_Y: same on Y-Axis
-Orientation_Z: same on Z-Axis
-Scale: a scale.
-AvoidSphere.Diameter: This is for avoid the start of the Effect will be too much near of the Camera.
you have imagine a sphere around the camera witch start of kmh slide on it surface to no be into the sphere:
-NearFadeDistance: Begin to fade if distance from camera to the position of the effect is under the value.
-FarFadeDistance: Begin to fade if distance from camera to the position of the effect is up the value.
Here, with near=3 meters on kmh_hand.emo :
-EMA_Animation.Index: Index of the animation to use in the ema files (could have mat.ema and obj.ema in the same time).
-EMA_Animation.LoopStartFrame and LoopEndFrame: Controls how the animation will be played. There are 3 different use cases (from bac/bsa setup) :
-Start: Start at frame 0 and end at LoopFrameEnd (Happens once when effect is first activated)
-Loop: Start at LoopStartFrame and end at LoopEndFrame (Default state of the effect, happens after Start and keeps looping until the effect is ended)
-End: Start at LoopStartFrame and end at the final keyframe (Happens once when effect is ended, but ONLY IF the Deactivation parameter is set to "AfterAnimationLoop")
So, now the difficult part because we don't really understand all the behaviours of 3 series of flags.
We have just some visual result to share.
-------- EffectPart Flags
It's important to notice the 3 series of flags + the differents type of container make we don't have everything on it.
So, keep in mind, that all the next part is average behaviour, it's more in "search" state.
We just talk about what we see on changing some values. They are part of the truth and the naming is also average.
It's still lot of work on it to understand all case. And, we will need some help.
To resume what is next, there will be the tool to deal with :
-attachement
-start position of the effect.
-the direction of the effect from the start position.
-the position of the end of the effect.
and all with different things to use : character, bone, camera, scene.
---- AttachFlags :
-MoveWithBone: if true, Effect follow the bone on position (= if the character move, the effect will follow).
Notice: if you put true on this for kmh_Hand, the effect go away with the ball.
-RotateWithBone: if true, Effect follow the bone in its orientation.
-InstantMoveAndRotate: When false, new particles were generated on the current bone position but active ones did not move with the bone.
When true, the active ones moved as well. Since only EMP uses particles, it likely works differently for other effect types.
-OnGroundOnly: if True, the character will be forbidden to make Effect on air.
And also, in Etr Hold state, the Effect stop to follow the bone after a jump.
-Unk4: if true, in Etr Hold state, the effect don't follow the bone in Orientation or Position.
-UseBoneDirection: if InstantMoveAndRotate and RotateWithBone are "true",
-if false, the start position of the kmh is done by direction from Camera to bone,
-instead of the bone orientation.
Notice: In both case, the direction of kmh still the bone orientation, its just the start position.
-UseBoneToCameraDirection: the start position seam to be excentred, the direction change with camera-character direction, but it's seam to be the inverse direction (not 100% sure).
-UseSceneCenterToBoneDirection: the start position seam to be little excentred, in the direction from scene's center to character (not 100% sure).
---- Flag_36 to Flag_39 :
-Flag_39:
-NoGlare: if true, just turn off the glare. (Glare is the blured effect on lots of object/skill/characters. it's like a Halo).
-InverseTransparentDrawOrder: if true, its seam the transparent objects order rules is inversed. (FrontToBack vs BackToFront, or "Painter's technique")
-LinkFlags:
-RelativePositionZ_To_AbsolutePositionZ: if true, Position of the effect on the Axis of Kamehameha change with Z component of start of effect's absolute position.
-ScaleZ_To_BonePositionZ: if true, there is a scale on the object, in direction of the Axis of the effect (but it's more the orientation of the object of the effect witch match with Axis of Effect). The scale is animate to have the moved bone (for ball) as extremity.
-ObjectOrientation_To_XXXX: if true, here the orientation of the objects are not well aligned with Axis of the Effect (same for ball).
but the direction of the move still the Axis of Effect.
here unk7 + unk5 (also on ball) :
-Flag_36: don't change relevant things.
-Flag_38: give something relevant, but too strange to explain here.
---- Placement, RotateOnMovement, I_06 :
This part is also very obscure.
-Placement: 0,1, "OnBone", "OnCamera"
-RotateOnMovement:
-I_06: only 0 (most), 1 or 2
Olganix: with no consideration for the name, what I found on this :
On this part, we only use a modified Etr (in tbind) (link). the modification is only to have the "Hold" state.
with I3 = Placement and I4 = RotateOnMovement.
-I4 have priority on I3.
-I4:
-0: nothing special, kmh it's just a line
-1: old kmh change direction to use the orientation of the new one, at start. (need <Deactivation Mode="Never" />)
-2: (only change the behaviour of I3=3 the start of Khm move if camera-Character change orientation, until the end of kmh animation (start of Hold)
I3 = 3 effect, "the kmh follow the character in position on hold" not work
-3: second joystick change the START of kmh
Orientation follow from Camera - Character direction on hold.
-4: deformation near of start of kmh depending of I6:
-0 deformation near to start, in X positive, if we are near to be perpendiculaire at the line (origine + X axis)
-1 deformation near to start, in Y up, always
-2 deformation near to start, in Z positive, if we are near to be perpendiculaire at the line (origine + Z axis)
if I3 = 3, it's AT Start (not just near)
-I3:
-0: nothing special.
-1: nothing special.
-2: in case of I4=3, cancel "Orientation follow from Camera - Character direction on hold."
-3: second joystick change the END of kmh (if I4 != 3 because of priority )
the kmh follow the character in position on hold (cumulable with I4=3 orientation)
-that is all the case if attachement is 39. if I put 0, i only have the classic line
--------------------
Ok, lot of things we see here.
Saddely, there is lots of sides effects depend of flags and type, and lot of unknows values.
But I think there is enougth information to do great Effect's mods.
Have a good day and happy modding !!!
Lazybone and I have done lot of work to have XmlConverter and "what values is for" on file for effects :
-bsa: configuration file (look like .bac), witch could use eepk, define a projectile, its hitbox, the display on impact on ground, wall, enemies.
-eepk: configuration file for effect, witch could use emp, etr, ecf, emo, ema, emm, and texturesEmbPack.
-emp: for particules generation.
-etr: for making 'traces', sort of extrude things.
-ecf: for colorise the character (like 'poison' effect).
-emo, obj.ema and mat.ema : allready done with conversion into .emd, .esk, .ean, and mat.ema.xml.
Please see, Lazybone's XV2_Xml_Serializer and Olganix's XenoXmlConverter to have more information about it, and link on tutorial for each.
In this post, we will focus on Eepk.
For Eepk, the tool to convert is Lazybone's XV2_Xml_Serializer.
Don't forget to keep originals files to reverse a strange behaviour, or for make comparaison !!!
Notice:
-all times are in frames.
-all angles are in degrees in the Xml. (Todo check)
-all distances could be considered as meters.
There still some unknow values in each parts. So, to not oversize this tutorial, all we know about the unknow values/average behaviour is on test file, if someone want to find more things about eepk.
*********
For this example, we will use only the skill\SPA\000_GOK_KMH\000_GOK_KMH.eepk (link).
To use it, you have add classic Kamehameha to yours characters, or use normal Goku's sama. If you use it, you should see only Kmh_Hand.emo and Kmh_Bas.emo (the ball).
------------- Fast Xml review :
Eepk is a file to define some Effects, witch is used by bac or bsa, depend of the context.
At Eepk level, there is a declaration of file used:
-emp in pbind (Particules)
-etr in tbind (Trace/Extrude)
-ecf in cbind (Character Colorized)
-emo (mesh + skeleton) + ema (animation)
-emm (material)
-emb with textures.
And the effects could use them in the same time or not.
All Effect have a Id to be referenced into bac or bsa file.
So, the Xml is composed of 2 parts :
-Containers, witch reference all ressources to use.
-Effects, witch have all Effect and how to play them.
------------- Containers:
Container are separate by types.
Same if there is few difference between each type, we will take a look on each.
-------- PBIND
<Container Type="PBIND">
<I_00 value="0xC" />
<I_04 value="0xC8" />
<I_05 value="0x0" />
<I_06 value="0x0" />
<I_07 value="0x0" />
<I_08 value="0x100" />
<I_12 value="0xC8" />
<Files values="000_GOK_KMH.pbind.emb, 000_GOK_KMH.ptcl.emm, 000_GOK_KMH.ptcl.emb" />
<Container_Entry Index="0">
<I_00 value="0" />
<Files values="Kmh_Crg.emp, NULL, NULL, NULL, NULL" />
</Container_Entry>
<Container_Entry Index="1">
<I_00 value="1" />
<Files values="Kmh_CrgON.emp, NULL, NULL, NULL, NULL" />
</Container_Entry>
...
</Container>
-Container.Files: here we have the files to use.
For emp, we use a .pbind.emb, witch the game will extract. Same for texture in .ptcl.emb.
we see the link between the effect (emps in pbind.emb), the material (emm) and the textures (ptcl.emb).
-Container_Entry.Files: declare needed emp file in emb.
-Container_Entry.Index: the Index will be use by Effects. This index isn't considered when rebuilding the eepk.
Notice: It is just for visualisation! No matter what value you put here, the actual index will be the determined by the order of entries.)
-------- TBIND
<Container Type="TBIND">
<I_00 value="0x8" />
<I_04 value="0xFF" />
<I_05 value="0xFF" />
<I_06 value="0xFF" />
<I_07 value="0xFF" />
<I_08 value="0xFFFFFFFF" />
<I_12 value="0x0" />
<Files values="000_GOK_KMH.tbind.emb, 000_GOK_KMH.trc.emm, 000_GOK_KMH.trc.emb" />
<Container_Entry Index="0">
<I_00 value="0" />
<Files values="Kmh_Beam.etr, NULL, NULL, NULL, NULL" />
</Container_Entry>
...
</Container>
tbind have the same informations as pbind
-------- CBIND
<Container Type="CBIND">
<I_00 value="0xFFFFFFFF" />
<I_04 value="0xFF" />
<I_05 value="0xFF" />
<I_06 value="0xFF" />
<I_07 value="0xFF" />
<I_08 value="0xFFFFFFFF" />
<I_12 value="0xFFFFFFFF" />
<Files values="004_GOK_RYU.cbind.emb, NULL, NULL" />
<Container_Entry Index="0">
<I_00 value="0" />
<Files values="RYU_start.ecf, NULL, NULL, NULL, NULL" />
</Container_Entry>
<Container_Entry Index="1">
<I_00 value="1" />
<Files values="RYU_end.ecf, NULL, NULL, NULL, NULL" />
</Container_Entry>
</Container>
cbind have the same informations as pbind
-------- EMO
<Container Type="EMO">
<I_00 value="0x4" />
<I_04 value="0xFF" />
<I_05 value="0xFF" />
<I_06 value="0xFF" />
<I_07 value="0xFF" />
<I_08 value="0xFFFFFFFF" />
<I_12 value="0x0" />
<Files values="NULL, NULL, NULL" />
<Container_Entry Index="0">
<I_00 value="0" />
<Files values="Kmh_Fire.emo, Kmh_Fire.emm, Kmh_Fire.emb, Kmh_Fire.mat.ema, Kmh_Fire.obj.ema" />
</Container_Entry>
<Container_Entry Index="1">
<I_00 value="1" />
<Files values="Kmh_Bas.emo, Kmh_Bas.emm, Kmh_Bas.emb, Kmh_Bas.mat.ema, Kmh_Bas.obj.ema" />
</Container_Entry>
...
</Container>
Here, there isn't Container.Files, but the Files are used in group:
-emo = meshs + skeleton
-emm = material
-emb = textures
-mat.ema = animation of material parameters (use XenoXmlConverter (link))
-obj.ema = animation of emo (use EmaEan to convert it into ean file (link))
-------- LIGHT.EMA
<Container Type="LIGHT.EMA">
<I_00 value="0x8" />
<I_04 value="0xFF" />
<I_05 value="0xFF" />
<I_06 value="0xFF" />
<I_07 value="0xFF" />
<I_08 value="0xFFFFFFFF" />
<I_12 value="0xFFFFFFFF" />
<Files values="NULL, NULL, NULL" />
<Container_Entry Index="0">
<I_00 value="0" />
<Files values="Kmh_Crg.light.ema, NULL, NULL, NULL, NULL" />
</Container_Entry>
...
</Container>
light.ema is for animate the light in position, color, or intesity.
Notice: no tools edit that file for now.
------------- Effects:
<Effects>
<Effect ID="3" I_02="0">
<EffectPart Container_Type="EMO" Container_Index="1">
<StartTime Frames="0" />
<Placement value="OnBone" />
<RotateOnMovement value="1" />
<Deactivation Mode="Always" />
<I_06 value="2" />
<I_07 value="0" />
<I_08 value="0" />
<I_12 value="0" />
<I_16 value="0" />
<I_20 value="0" />
<AvoidSphere Diameter="0.0" />
<EMA_Animation Index="0" LoopStartFrame="0" LoopEndFrame="0" />
<AttachFlags MoveWithBone="True" RotateWithBone="True" InstantMoveAndRotate="True" OnGroundOnly="False" Unk4="False" />
<StartEffectPosition UseBoneDirection="False" UseBoneToCameraDirection="False" UseSceneCenterToBoneDirection="False" />
<I_34 value="0" />
<Flag_36 value="0x1" />
<Flag_38 a="0x1" b="0x0" />
<Flag_39 NoGlare="False" InverseTransparentDrawOrder="False" Unk1="False" Unk5="False" Unk6="False" />
<LinkFlags RelativePositionZ_To_AbsolutePositionZ="False" ScaleZ_To_BonePositionZ="False" ObjectOrientation_To_XXXX="False" />
<Position X="0.0" Y="0.0" Z="0.0" />
<Orientation_X Min="0.0" Max="0.0" />
<Orientation_Y Min="0.0" Max="0.0" />
<Orientation_Z Min="0.0" Max="0.0" />
<Scale Min="1.6" Max="1.6" />
<NearFadeDistance value="11.0" />
<FarFadeDistance value="500.0" />
<BoneToAttach name="TRS" />
</EffectPart>
...
</Effect>
</Effects>
-Effect.ID: Id of the Effect, witch will be used by a bac or a bsa file, in different context. So, Make sure that all Effect Id are unique in the Eepk.
-EffectPart.Container_Type=EMO + Container_Index="1": witch make a reference to a target Container, and all the ressources they use.
A effect could have many EffectPart, so we could mixe the differents kind of Effects.
-------- EffectPart
-StartTime: Could differ the start of the EffectPart, from start of the Effect (depend of bac or bsa).
-Deactivation: It determines how an effect will be ended. It could happen on impact with enemy, ground or wall, or just after a duration (depends on bac/bsa setup).
-AfterAnimationLoop: When the effect is ended in bac/bsa or some other way, it will play out one final loop of its animation before disappearing. For EMO/LIGHT.EMA, this means
looping between the values defined in LoopStartFrame and LoopEndFrame. EMP is also affected, but that is not fully understood yet (EMP does not use the LoopStartFrame and LoopEndFrame values).
-Always: When the cancel command happens, the effect immediately disappears.
-Never: The effect will never disappear.
-BoneToAttach.name: Give the name of the bone to attache. Here, there is some interresting values: g_L_Hand, SCENE_ROOT, COM_ACT02_root, TRS or NULL (= no bone).
-Position.XYZ : translate the effect from Bone origine.
-Orientation_X.Min="0.0" Max="0.0": Orientation_X is the rotation on X-Axis.
IMPORTANT NOTICE: Min and Max are 2 values witch the random will choose a value between them.
To have a unique value, you just have to do Min = Max.
Lot of parameter have the same.
-Orientation_Y: same on Y-Axis
-Orientation_Z: same on Z-Axis
-Scale: a scale.
-AvoidSphere.Diameter: This is for avoid the start of the Effect will be too much near of the Camera.
you have imagine a sphere around the camera witch start of kmh slide on it surface to no be into the sphere:
-NearFadeDistance: Begin to fade if distance from camera to the position of the effect is under the value.
-FarFadeDistance: Begin to fade if distance from camera to the position of the effect is up the value.
Here, with near=3 meters on kmh_hand.emo :
-EMA_Animation.Index: Index of the animation to use in the ema files (could have mat.ema and obj.ema in the same time).
-EMA_Animation.LoopStartFrame and LoopEndFrame: Controls how the animation will be played. There are 3 different use cases (from bac/bsa setup) :
-Start: Start at frame 0 and end at LoopFrameEnd (Happens once when effect is first activated)
-Loop: Start at LoopStartFrame and end at LoopEndFrame (Default state of the effect, happens after Start and keeps looping until the effect is ended)
-End: Start at LoopStartFrame and end at the final keyframe (Happens once when effect is ended, but ONLY IF the Deactivation parameter is set to "AfterAnimationLoop")
So, now the difficult part because we don't really understand all the behaviours of 3 series of flags.
We have just some visual result to share.
-------- EffectPart Flags
It's important to notice the 3 series of flags + the differents type of container make we don't have everything on it.
So, keep in mind, that all the next part is average behaviour, it's more in "search" state.
We just talk about what we see on changing some values. They are part of the truth and the naming is also average.
It's still lot of work on it to understand all case. And, we will need some help.
To resume what is next, there will be the tool to deal with :
-attachement
-start position of the effect.
-the direction of the effect from the start position.
-the position of the end of the effect.
and all with different things to use : character, bone, camera, scene.
---- AttachFlags :
<AttachFlags MoveWithBone="False" RotateWithBone="True" InstantMoveAndRotate="True" OnGroundOnly="False" Unk4="False" />
<StartEffectPosition UseBoneDirection="False" UseBoneToCameraDirection="False" UseSceneCenterToBoneDirection="False" />
-MoveWithBone: if true, Effect follow the bone on position (= if the character move, the effect will follow).
Notice: if you put true on this for kmh_Hand, the effect go away with the ball.
-RotateWithBone: if true, Effect follow the bone in its orientation.
-InstantMoveAndRotate: When false, new particles were generated on the current bone position but active ones did not move with the bone.
When true, the active ones moved as well. Since only EMP uses particles, it likely works differently for other effect types.
-OnGroundOnly: if True, the character will be forbidden to make Effect on air.
And also, in Etr Hold state, the Effect stop to follow the bone after a jump.
-Unk4: if true, in Etr Hold state, the effect don't follow the bone in Orientation or Position.
-UseBoneDirection: if InstantMoveAndRotate and RotateWithBone are "true",
-if false, the start position of the kmh is done by direction from Camera to bone,
-instead of the bone orientation.
Notice: In both case, the direction of kmh still the bone orientation, its just the start position.
-UseBoneToCameraDirection: the start position seam to be excentred, the direction change with camera-character direction, but it's seam to be the inverse direction (not 100% sure).
-UseSceneCenterToBoneDirection: the start position seam to be little excentred, in the direction from scene's center to character (not 100% sure).
---- Flag_36 to Flag_39 :
<Flag_36 value="0x1" />
<Flag_38 a="0x1" b="0x0" />
<Flag_39 NoGlare="False" InverseTransparentDrawOrder="False" Unk1="False" Unk5="False" Unk6="False" />
<LinkFlags RelativePositionZ_To_AbsolutePositionZ="False" ScaleZ_To_BonePositionZ="False" ObjectOrientation_To_XXXX="False" />
-Flag_39:
-NoGlare: if true, just turn off the glare. (Glare is the blured effect on lots of object/skill/characters. it's like a Halo).
-InverseTransparentDrawOrder: if true, its seam the transparent objects order rules is inversed. (FrontToBack vs BackToFront, or "Painter's technique")
-LinkFlags:
-RelativePositionZ_To_AbsolutePositionZ: if true, Position of the effect on the Axis of Kamehameha change with Z component of start of effect's absolute position.
-ScaleZ_To_BonePositionZ: if true, there is a scale on the object, in direction of the Axis of the effect (but it's more the orientation of the object of the effect witch match with Axis of Effect). The scale is animate to have the moved bone (for ball) as extremity.
-ObjectOrientation_To_XXXX: if true, here the orientation of the objects are not well aligned with Axis of the Effect (same for ball).
but the direction of the move still the Axis of Effect.
here unk7 + unk5 (also on ball) :
-Flag_36: don't change relevant things.
-Flag_38: give something relevant, but too strange to explain here.
---- Placement, RotateOnMovement, I_06 :
This part is also very obscure.
-Placement: 0,1, "OnBone", "OnCamera"
-RotateOnMovement:
-I_06: only 0 (most), 1 or 2
Olganix: with no consideration for the name, what I found on this :
On this part, we only use a modified Etr (in tbind) (link). the modification is only to have the "Hold" state.
with I3 = Placement and I4 = RotateOnMovement.
-I4 have priority on I3.
-I4:
-0: nothing special, kmh it's just a line
-1: old kmh change direction to use the orientation of the new one, at start. (need <Deactivation Mode="Never" />)
-2: (only change the behaviour of I3=3 the start of Khm move if camera-Character change orientation, until the end of kmh animation (start of Hold)
I3 = 3 effect, "the kmh follow the character in position on hold" not work
-3: second joystick change the START of kmh
Orientation follow from Camera - Character direction on hold.
-4: deformation near of start of kmh depending of I6:
-0 deformation near to start, in X positive, if we are near to be perpendiculaire at the line (origine + X axis)
-1 deformation near to start, in Y up, always
-2 deformation near to start, in Z positive, if we are near to be perpendiculaire at the line (origine + Z axis)
if I3 = 3, it's AT Start (not just near)
-I3:
-0: nothing special.
-1: nothing special.
-2: in case of I4=3, cancel "Orientation follow from Camera - Character direction on hold."
-3: second joystick change the END of kmh (if I4 != 3 because of priority )
the kmh follow the character in position on hold (cumulable with I4=3 orientation)
-that is all the case if attachement is 39. if I put 0, i only have the classic line
--------------------
Ok, lot of things we see here.
Saddely, there is lots of sides effects depend of flags and type, and lot of unknows values.
But I think there is enougth information to do great Effect's mods.
Have a good day and happy modding !!!