TRAM setup assistant: Difference between revisions
Paradox-01 (talk | contribs) (just some text, no release yet) |
m (-finish; doesn't seem like there are plans to add content to this page, and the tool itself is categorized as "completed") |
||
(10 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
Because VBA is less flexible and not all people have Excel I decided to recreate my macro as a [[Visual_Basic_.NET|VB.NET]] application. | |||
There are quite a number of bugs to smash and data checks to be implemented. Not rushing this. --[[User:Paradox-01|paradox-01]] ([[User talk:Paradox-01|talk]]) 00:12, 25 January 2016 (CET) | |||
: [http://paradox.oni2.net/programs/TRAMOpenBeta.zip Open beta]. Something strange with OBAN going on but the rest should be okay. Set your modes e.g. throw and throw type (fw/bk), then drag and drop the dae.--[[User:Paradox-01|paradox-01]] ([[User talk:Paradox-01|talk]]) 16:57, 7 February 2016 (CET) | |||
==Requirements== | ==Requirements== | ||
This program works with XSI generated DAE files. It's meant to create complete new TRAMs. For minior tweaking of XML animation files you would use a simple text editor. | * .NET (should be already installed...) | ||
* This program works with XSI generated DAE files. It's meant to create complete new TRAMs. For minior tweaking of XML animation files you would use a simple text editor. | |||
==Data generation== | ==Data generation== | ||
Line 11: | Line 16: | ||
* use the attack library to get the important data and fill in the rest by hand | * use the attack library to get the important data and fill in the rest by hand | ||
* drag and drop an existing animation (XML or ONI) to fill all fields, then apply changes if you need to | * drag and drop an existing animation (XML or ONI) to fill all fields, then apply changes if you need to | ||
===Normal animations=== | ===Normal animations=== | ||
Line 17: | Line 21: | ||
Besides that, any attack and non-attack move that isn't a throw can be made in mode "normal animation or attack". | Besides that, any attack and non-attack move that isn't a throw can be made in mode "normal animation or attack". | ||
===Combined TRAM and OBAN creation=== | ===Combined TRAM and OBAN creation=== | ||
Line 32: | Line 35: | ||
In XSI generated DAE files, the desired x position (analog for y) are inside the child tag of <source id="pelvis_translation_X-anim-output"> whereas only the first value of the array is of actual interest. That's so because the other values are calculated from that values plus the relatives values from the reconverted TRAM*.xml file. That's not elegant but easy as the TRAM holds heights and velocities for each frame. The DAE file contains only keyframes. | In XSI generated DAE files, the desired x position (analog for y) are inside the child tag of <source id="pelvis_translation_X-anim-output"> whereas only the first value of the array is of actual interest. That's so because the other values are calculated from that values plus the relatives values from the reconverted TRAM*.xml file. That's not elegant but easy as the TRAM holds heights and velocities for each frame. The DAE file contains only keyframes. | ||
===Throw source animation=== | ===Throw source animation=== | ||
Mode: "throw source" | Mode: "throw source" | ||
===Throw target animation=== | ===Throw target animation=== | ||
Mode: "throw target" | Mode: "throw target" | ||
===Combined TS and TT creation=== | ===Combined TS and TT creation=== | ||
Mode: "throw source and throw target" | Mode: "throw source and throw target" | ||
This mode was especially designed to help out users with "face to | This mode was especially designed to help out users with "face to face (fw)" throws. | ||
Intuitively you would create TS and TT at same time in XSI so that the two character stand either face to face or face to back. | Intuitively you would create TS and TT at same time in XSI so that the two character stand either face to face or face to back. | ||
Line 54: | Line 54: | ||
: multiplying the TT velocities with -1 | : multiplying the TT velocities with -1 | ||
: multiplying the TT x rotation with -1 | : multiplying the TT x rotation with -1 | ||
: adding -/+180° to y rotation (depending on | : adding -/+180° to TT y rotation (depending on rotation the user added to let them stand face to face) | ||
In this mode, also the source-target relations (TT teleport and throw distance) can be calculated by reading both DAE files at once. | In this mode, also the source-target relations (TT teleport and throw distance) can be calculated by reading both DAE files at once. | ||
==Demo files== | |||
* [http://mods.oni2.net/system/files/StrikerKneeStepKickThrow.zip STRCOMthrow_bk_k + STRCOMthrow_fw_k] | |||
Remember to update your TRAC file if it doesn't already contain new TRAMs. | |||
[[Category: | [[Category:Completed modding tools]][[Category:Windows-only modding tools]] | ||
[[Category:Windows- |
Latest revision as of 12:57, 13 May 2023
Because VBA is less flexible and not all people have Excel I decided to recreate my macro as a VB.NET application.
There are quite a number of bugs to smash and data checks to be implemented. Not rushing this. --paradox-01 (talk) 00:12, 25 January 2016 (CET)
- Open beta. Something strange with OBAN going on but the rest should be okay. Set your modes e.g. throw and throw type (fw/bk), then drag and drop the dae.--paradox-01 (talk) 16:57, 7 February 2016 (CET)
Requirements
- .NET (should be already installed...)
- This program works with XSI generated DAE files. It's meant to create complete new TRAMs. For minior tweaking of XML animation files you would use a simple text editor.
Data generation
Meta data
Three ways to do it:
- type in all by hand
- use the attack library to get the important data and fill in the rest by hand
- drag and drop an existing animation (XML or ONI) to fill all fields, then apply changes if you need to
Normal animations
Overlay animation aren't supported.
Besides that, any attack and non-attack move that isn't a throw can be made in mode "normal animation or attack".
Combined TRAM and OBAN creation
Most TRAM files holding the RealWorld flag are used in scripts (chr_animate) together with an OBAN file (chr_envanim).
An OBAN allows a character to be moved over a wide gap. If a character moves over an edge only by TRAM it will fall. (Not counting jump animations.)
In-app workflow:
- As usual the TRAM becomes created.
- OniSplit doesn't allow for tweaking the process so we need to patch the TRAM later. That's necessary since we don't want the rotation and translation to be double.
- The pelvis translation must be set 0 in TRAM. For rotations there are basically two options: keep in TRAM or transfer them to OBAN. (For now rotations are kept within TRAM.)
- For OBAN creation, the DAE must be read as it contains absolute positions. TRAM's relative x and y values become added. TRAM's z values (heights) are already absolute and are simply copied.
In XSI generated DAE files, the desired x position (analog for y) are inside the child tag of <source id="pelvis_translation_X-anim-output"> whereas only the first value of the array is of actual interest. That's so because the other values are calculated from that values plus the relatives values from the reconverted TRAM*.xml file. That's not elegant but easy as the TRAM holds heights and velocities for each frame. The DAE file contains only keyframes.
Throw source animation
Mode: "throw source"
Throw target animation
Mode: "throw target"
Combined TS and TT creation
Mode: "throw source and throw target"
This mode was especially designed to help out users with "face to face (fw)" throws.
Intuitively you would create TS and TT at same time in XSI so that the two character stand either face to face or face to back.
While one character starts at the center (0; 0; 0), the other doesn't and his data has to be corrected before it will look good ingame. The program will do the corrections.
Assuming TS is always at the scene's center, the process is:
- multiplying the TT velocities with -1
- multiplying the TT x rotation with -1
- adding -/+180° to TT y rotation (depending on rotation the user added to let them stand face to face)
In this mode, also the source-target relations (TT teleport and throw distance) can be calculated by reading both DAE files at once.
Demo files
Remember to update your TRAC file if it doesn't already contain new TRAMs.