-
Notifications
You must be signed in to change notification settings - Fork 50
Model Viewer
The Model Viewer is a debugging mode that can be activated with the Memoria.ini
option:
[Debug] Enabled = 1 StartModelViewer = 1
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 6 different categories:
- Accessory models (eg. Dali Barrel, dolls, moving Iifa leaf, moogle book...),
- Main models (eg. Zidane's battle model, Zidane's model on the field, Garnet's model as a child...),
- Monster models (eg. Mandragora, Ozma, Fire Guardian's model on the field...),
- NPC models (eg. villagers, chocobos, frogs, pigeons...),
- Sub models (eg. Baku, Black Waltzes on the field, Zidane's model on the world map...),
- Weapon models (eg. Hammer, Dagger, Excalibur...).
The model of the book used by moogles to save the player's progression
The arrow keys up/down let you navigate through the model's animations.
The other keys are:
-
Space bar
: play the animation again -
N
: show/hide model and animation name IDs -
B
: show/hide model bones -
1
: use the normal animation speed (x1) -
2
: use the battle animation speed (x0.5) -
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
Amarant has a run-then-kick unused animation sequence
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":
-
Open → FF9_Laucher
to setup the tool, -
Archive → Streaming Assets → p0data5
to open the archive which contains most of model animations, - Select them (you can select a range by holding shift) and right-click to export them,
- Move the animations that were exported from the folder
HadesWorkshopAssets/p0data5/assets/...
into the folderStreamingAssets/assets/...
.
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 manyExportPath
lines as well. - The option
DeleteThisOnSuccess
deletes the text file (MemoriaExportAnim.txt
) after pressing the keyE
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 lineAnimPatch:bone000;localRotation;Euler(0, 180, 0)
export the animation with the model facing the other direction.
NEW VERSION (PENDING RELEASE)
The Model Viewer is a debugging mode that can be activated with the Memoria.ini
option:
[Debug] Enabled = 1 StartModelViewer = 1
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:
- Accessory models (e.g. Dali Barrel, dolls, moving Iifa leaf, moogle book...),
- Main characters models (e.g. Zidane's battle model, Zidane's model on the field, Garnet's model as a child...),
- Monster models (e.g. Mandragora, Ozma, Fire Guardian's model on the field...),
- NPC models (e.g. villagers, chocobos, frogs, pigeons...),
- Secondary characters models (e.g. Baku, Black Waltzes on the field, Zidane's model on the world map...),
- Weapon models (e.g. Hammer, Dagger, Excalibur...).
- Battle Maps (models of battle environments)
- 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.
Shift + Left/right
: jump between categries
Left/right
: navigate models
The model of the book used by moogles to save the player's progression
-
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. Press again to control the weapon
* <code>Shift + P</code>: play the latest animation exported
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
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":
-
Open → FF9_Laucher
to setup the tool, -
Archive → Streaming Assets → p0data5
to open the archive which contains most of model animations, - Select them (you can select a range by holding shift) and right-click to export them,
- Move the animations that were exported from the folder
HadesWorkshopAssets/p0data5/assets/...
into the folderStreamingAssets/assets/...
.
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 manyExportPath
lines as well. - The option
DeleteThisOnSuccess
deletes the text file (MemoriaExportAnim.txt
) after pressing the keyE
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 lineAnimPatch:bone000;localRotation;Euler(0, 180, 0)
export the animation with the model facing the other direction.