TRAM setup assistant: Difference between revisions

From OniGalore
Jump to navigation Jump to search
mNo edit summary
m (better to use {{finish}} so that we get the banner at the top; adding cat for status of tool)
Line 1: Line 1:
 
{{finish}}


==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.
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 10:
* 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 15:


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 29:


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===
Line 58: Line 52:
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.


 
[[Category:Completed modding tools]]
[[Category:Articles_that_need_finishing]]
[[Category:Windows-only_modding_tools]]
[[Category:Windows-only_modding_tools]]

Revision as of 16:11, 24 January 2016

Unfinished building-60px.jpg

This page is unfinished. Can you fill in any missing information?
If it is not clear which part of the page is unfinished, ask on the talk page.

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.

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.