Skip to content
DV666 edited this page Nov 28, 2024 · 10 revisions
The Model Viewer is a debugging mode that can be entered from the Advanced and experimental settings in the launcher.

Navigation

The mouse wheel zoom in/out the model, the mouse left click rotates it, the mouse right click moves it up and down.

Models are classified in categories:

  • (1) Accessory models (e.g. Dali Barrel, dolls, moving Iifa leaf, moogle book...),
  • (2) Main characters models (e.g. Zidane's battle model, Zidane's model on the field, Garnet's model as a child...),
  • (3) Monster models (e.g. Mandragora, Ozma, Fire Guardian's model on the field...),
  • (4) NPC models (e.g. villagers, chocobos, frogs, pigeons...),
  • (5) Secondary characters models (e.g. Baku, Black Waltzes on the field),
  • (6) World map models,
  • (7) Weapon models (e.g. Hammer, Dagger, Excalibur...).
  • (8) Battle Maps (models of battle environments),
  • (9) SPS: special effects displayed on the fields. They're separated in 11 categories: 9 for the 9 p0data1X containing the corresponding fields, 1 for worldmap sfx, 1 for prototypes registered in SPS.csv.

The model of the book used by moogles to save the player's progression

The keyboard shortcuts are:

  • Shift + Left/right, or corresponding number: jump between categories
  • Left/right: navigate models
  • Up/Down: navigate through the model's animations.
  • Space bar: pause/play animation
  • I: hide/show UI
  • B: show/hide model bones
  • S: Change animation speed (1x (fields), 0.5x (battles), 0.1x)
  • E: start exporting the current animation (see next section)
  • Shift + E: start exporting all the animations of the model (same)
  • L: play the latest animation exported
  • O: Switch between perspective and orthographic view
  • P: Show a weapon to attach to a character's bone
  • Shift + P: Control the weapon's rotation and position with mouse
  • Shift + Scroll: Change bone that the weapon is attached to
  • Ctrl + Scroll: Browse weapon models
It's also possible to move the model selected (the main one or a weapon attached) by using these binds :

Position :

  • 4 : Left
  • 6 : Right
  • 8 : Up
  • 2 : Down
  • 1 or 3 : Forward
  • 7 or 9 : Backward
Rotation :
  • Ctrl + 4 : Rotate on the Y Axis (+)
  • Ctrl + 6 : Rotate on the Y Axis (-)
  • Ctrl + 2 : Rotate on the X Axis (-)
  • Ctrl + 8 : Rotate on the X Axis (+)
  • Ctrl + 1 or Ctrl + 3 : Rotate on the Z Axis (-)
  • Ctrl + 7 or Ctrl + 9 : Rotate on the Z Axis (+)
The Model Viewer is the only way to see some of the dummied animations. You'll see that most enemy models have animations probably made for testing purpose. Also, Garnet, Vivi, Steiner, Quina, Freya and Amarant have unused battle animations.

Amarant has a run-then-kick unused animation sequence

Exporting animations

It is possible to tweak the animations and re-export them afterwards. Unfortunatly, it requires the animations to have been already exported beforehand by some other mean.

Using Hades Workshop's tool "Unity Assets Viewer":

  1. Open → FF9_Laucher to setup the tool,
  2. Archive → Streaming Assets → p0data5 to open the archive which contains most of model animations,
  3. You need also to disable the .Json conversion : Options → Automatically Convert Animations → Don't Convert
  4. Select them (you can select a range by holding shift) and right-click to export them,
  5. Move the animations that were exported from the folder HadesWorkshopAssets/p0data5/assets/... into the folder StreamingAssets/assets/....
After that, the key E should create and open a configuration file allowing some tweaks before re-exporting the animation(s). It looks like that:
// EXPORT ANIMATION
// Write the configurations for exporting an animation, then save the file and press "E" again on the model viewer

Animation:ANH_ACC_F0_BBT_B
ExportPath:StreamingAssets/Assets/Resources/Animations/240/65.anim
DeleteThisOnSuccess:true
Reverse:false
//AnimPatch:bone000;localRotation;Euler(0, 0, 0)
//AnimPatch:bone000;localRotation;Quaternion(0, 0, 0, 1)
//AnimPatch:bone000;localPosition;(0, 0, 0)
//AnimPatch:bone000;localScale;(1, 1, 1)
FrameRate:30
BoneHierarchy:
bone000
bone000/bone001
  • It is possible to have multiple Animation lines to export multiple animations but there should be just as many ExportPath lines as well.
  • The option DeleteThisOnSuccess deletes the text file (MemoriaExportAnim.txt) after pressing the key E in the Model Viewer.
  • The option Reverse exported a reversed version of the animation.
  • The FrameRate specifies the expected frame rate of the animation.
  • The multiple lines after BoneHierarchy specifies the expected skeleton of the model for which the exported animation will be used. In order to export an animation for another model than its original model, replace the bone names here by the bone names of the target model... provided that the hierarchies of both models are similar. You can leave empty lines to ignore some parts (for example, if you use a blank line in place of the line corresponding to the left arm's bone, the exported animation will not contain the movement of the left arm).
  • The lines AnimPatch can be used to apply a global modification to a specific bone (this modification is not be time-dependant). For example, the line AnimPatch:bone000;localRotation;Euler(0, 180, 0) export the animation with the model facing the other direction.