TRAM setup assistant

From OniGalore
Revision as of 21:26, 3 August 2020 by Iritscen (talk | contribs) (link fix)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
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.

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)


  • .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.