Results 1 to 5 of 5

Thread: Era Tool - Graphical editing tool Final Fantasy XII The Zodiac Age

  1. #1

    Default Era Tool - Graphical editing tool Final Fantasy XII The Zodiac Age

    Era Tool is a multitask modder's resource tool for Final Fantasy XII: The Zodiac Age with functions such as .tm2 clut and .dds.phyre texture editing. Era Engine is a graphical editing tool capable of importing custom models in Final Fantasy XII: The Zodiac Age. Era Engine has a model importer editor.

    Adding feature (for future version) to now swap/apply animation of other characters (Guests/Foes/etc.) on the main cast, or any model. With this feature, it is possible to use a different character in town areas other than Vaan.
    You can swap a model within Vaan's slot and then apply his relative animation onto the target's animation data.

    When importing new maps, you'll encounter collision bugs (characters not colliding on your new floor and walls, or becoming stuck in one spot. Grab the floor data coordinates exported from the phyre log and update the values in the script accordingly.

    The game can handle textures up to 8196*8196 resolution, however, par my tests, I only use a few 4096*4096 textures without crash. D3D11 compatibly is 8196*8196, although the game engine on FFXII could have its own limits. For characters, 4096*4096 is the max resolution for textures. (If you're doing just texture edits on the original models, the limit is 1024*1024; they have no FileSizeTable entry, but do follow that resolution limit). This limit is removed on newly compiled models.
    New shaders can also be compiled. I tested it with AA shaders, it worked okay in the Zodiac Era.

    .dae.phyre (and .dds.phyre) contain a material file linked inside their data hierarchy.
    This data is the path of directory in the .vbf:

    "ArtData / chr / weapon / mws/ w2023 . dae#LODNODE_0 . ArtData / chr/ weapon/ mws / w2023 . dae#LODNODE_0Shape . ArtData / chr/ weapon / mws/ w2023 . dae#VisualSceneNode . ArtData / chr/ weapon/ mws/ w2023 . dae#_collada_lod_0_shape_0_gather_0_material."

    The have LODNODE and a default phyre shader linked.
    LOD and LODNODE are Level of Detail nodes built during the phyre export; all models contain LODNODE, and skeleton node.

    These material datas are critical when importing custom models. Any .dae.phyre model or .dds.phyre texture lacking this material data will crash the game.
    Models do not have a FileSizeTable entry.

    The original models where rendered through Maya's render pass, it is recommended to use Maya for models. The tool will eventually be updated to export animation to Maya .atom and .anim.

    .Ah Material
    The .ah file(s) are the models' external material files. There are the equivalent to common material files (such as .mat) and define the model's textures projected on its 3D plane.
    This material file also has identifies the model to preload; it is the always the first line.
    Every model must retain their default shaders linked in all their material datas (.ah). Whether it is a chr_character shader (for characters + weapons) or default lit shaders (for maps) it must be kept in the material file at all times.
    When adding your model(s)'s textures to the .vbf, you must add that texture location directory in the .ah material file as seen below:

    These files are as critical as the internal model's material data with the model's hierarchy.
    Model's UVs (more so when replacing shields/off-hand models) must also be updated prior to replacing.

    High Model
    High model (high\c10\) are a series of sub-meshes (usually in 3 to 4 meshes) containing higher poly replacements of the base model's meshes (they were used for cutscenes on the ps2, while the lower poly base mesh was used on the field). now they are used in both cutscenes and fields with subdivision applied.
    These meshes are found mostly on bipedal characters (main and npc) as they contain:

    -Head mesh
    -Hand mesh (with skinnable fingers)

    These must be replaced subsequent to the main model.

    Main models (found in the chara\ directory) contain characters' body mesh. Some only contain the mesh of the body and some have the head/hand meshes, which are defined by script to set such mesh visible in game (for lod distance viewing).

    Guests and NPCs can now be used in town areas following the proper animation addition. Animation walk/run speed (more notable on Vayne) are not updated.

    In finalized results, all 3d assets must have their internal and external material data linked together within the path of their placement in the .vbf.
    If one part of the material is not properly linked, the game will crash.
    Whenever adding/replacing models, you must rig, skin and weight the new mesh, even if it's for an original character to another original character (for enemies to transverse through towns and interact with objects such as doors, etc.) the mesh must be skinned to the target in which it will replace.

    Not doing so results in this monstrosity:

    PoC [Animation]:
    Last edited by vivi_carol; 08-08-2019 at 10:31 PM.
    "The world is too big for your, narrow mind."

  2. #2
    Memento Mori Site Contributor Wolf Kanno's Avatar
    Join Date
    Oct 2006
    Nowhere and Everywhere
    Blog Entries
    • Former Cid's Knight


    I was curious to see when the mod community was going to start poking more at FFXII. This is neat.
    True beauty exists in things that last only for a moment.
    Current Mood:

  3. #3


    I've inspected the models on switch version and there are the same as PC on .phyre; I'll make it portable for Switch users // Switch modding.
    Currently updating the tool with the following assets:
    -Model importer
    -Motion editor

    Last edited by vivi_carol; 08-08-2019 at 10:22 PM.
    "The world is too big for your, narrow mind."

  4. #4


    Version 1.0 Build 1.1 has an ETA date. (See change log via Nexus).
    Last edited by vivi_carol; 08-08-2019 at 10:22 PM.
    "The world is too big for your, narrow mind."

  5. #5


    More stability on animation (on tool's import/update animation).

    Tool progress briefing:
    The following is an example of too much weight paint strength to the neck joint, noticeable on Balthier as his head lowers further than it should. For certain animations not present in Gabranth's (target's) hierarchy, the tool will dummy those animations so the models don't t-pose on animation call.

    I also tested it on Ashe and the result is more stable than I'd initially thought.

    Models are imported with no initial crashes, however, crashes do occur whenever the player zones from map to map. Addressing this issue is my main focus.
    "The world is too big for your, narrow mind."

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts