8 posts in this topic

Posted (edited)

Era Tools 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.

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

TEXTURES
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 2048*2048; 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.

MODEL IMPORTING
.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.

dae-mat.png

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

ah-mat.png

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)
-Eyes
-Hair


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

ANIMATION REPLACING
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.


FINALIZING MODELS
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:
vayne-polynorig.png

Edited by dclem2
1

Share this post


Link to post
Share on other sites

Would you want a page in the Downloads section?

0

Share this post


Link to post
Share on other sites

Posted (edited)

On 6/1/2019 at 7:45 PM, Hart-Hunt said:

Would you want a page in the Downloads section?

Sure.

Edited by dclem2
0

Share this post


Link to post
Share on other sites

Posted (edited)

reserved

Edited by dclem2
0

Share this post


Link to post
Share on other sites

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.

Edited by dclem2
0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0