-
Notifications
You must be signed in to change notification settings - Fork 18
CrAs T MRL3 Editor User Guide
The CrAs-T MRL3 editor (written by AsteriskAmpersand based on the documentation for the mrl3 files authored by TheCrazyT, and after whom the editor is named) is a GUI editor for MRL3 files that is intended to replace the usage of 010 Templates for a fully open sourced application with no software requirements outside itself. The latest version can always be found here: Asterisk Ampersand's Material-Editing Repo Releases.
The editor consists of three areas: []
The compendium is a listing of all materials which in turn list in what files said material can be found. This is useful if you know what material your mod3 file requires but don't know where it could be coming from. Additionally it's useful for looking for promising sounding materials when trying to fit new materials into objects. Dragging materials from the compendium is one way to populate your Libraries.
The compendium is initially not populated. To populate the compendium it must be Rebased to the root of your chunk (or a folder that contains all of the mrl3 that will be scanned). After populating it through rebasing it's possible to Extend the compendium with specific folders or more chunks (in case you don't have them merged). Because the population process takes a considerable amount if performed on a full merged chunk it's recommended to Save the compendium so that on future uses of the program it can load it directly from a summary file that expedites the process.
[]
This operations are all possible from the drop down menu under compendium, or through their related hotkeys.
The compendium is designed to be unique and simply expanded when additional data is required. It's always saved and loaded from a fixed location in the same folder as the executable and has the filename "compendium.ast". While it's not recommended to edit it directly, in practice it's a json file with a custom fixed structure.
A library is intended to represent a list of mrl3 files from which you usually take materials to insert into other files. A good mrl3 to have there is the Master_MtList.mrl3 for example. Libraries are focused on being "per-project" resources (for example if editing a big number of bows, or pieces of the same armour set). They can be created from scratch, loaded, expanded, and saved.
A library is populated either by manually adding files through the add button or by dragging materials from the compendium. In turn it's possible to drag and drop an entire mrl3 from the library into the editor section, or just a specific material contained therein. In both cases it will add the relevant textures linked to the materials being added to the target file.
[]
It's possible to save, rename, load and create libraries through the drop down menu. Adding and removing mrl3 from the lirbary is done through the buttons in the library section.
The main editor window is were Mrl3 files are edited. From the menu bar you can create an mrl3 from scratch (not recommended), open an existing mrl3, save the currently selected mrl3, save all of the currently opened mrl3, create a restore point for the currently selected mrl3 or load a restore point for the currently selected mrl3.
Restore points are per file and are present because the editor has no undo functionality. It's recommended to perform manual backups if you require versioning and rely on the restore points for quick testing. Restore points are not saved through multiple sessions, when the editor is closed they are cleared.
[]
[]
Shows the list of currently opened mrl3 files.
This is the list of texture files the mrl3 can load from. All materials in the file can only load images that are in this list. The context menu lists possible operations.
[]
You can expand the list of resources by right clicking, selecting new and typing in the new resources' paths.
[]
Allows removing a resource. All materials resource bindings that depend on it will instead be set to the null resource.
Allows redirecting all bindings that use this resource into another resource. This is useful when adding a material from another mrl3 which is bound to resources in its original mrl3 and you wish it to instead use resources in yours. This is a very aggressive operation that will affect all materials which use the material being repointed from. []
Allows mass renaming paths, with the option of utilizing python regular expressions (if you do not know about python regular expressions, do not worry, they aren't necessary for basic usage of replacement). The find dialog also has the option of previewing what paths will be replaced (and in the case of python regexps it will also give expression compilation errors). This is a handy tool when packaging mrl3 for release by repointing textures to files on a folder that are the same as the model's, this simplifies user experience when transmogging a mod to another armour or weapon set.
[]
This is the list of materials in the mrl3 file. Each material has Resource Bindings (3.3, 3.4), a Header (3.5), and a Parameter Array (3.6).
Resource Bindings tell the material where to pull different maps, linking a resource (3.1) to a texture property (3.3). The Header controls how the mod3 and the mrl3 will link, how to render (and fundamentally WHICH MATERIAL this is) and also unknown properties yet to be mapped. The Parameter Array fine tunes how the material uses it's resources (applies filters, ignore specific maps, read some maps differently, etc).
All of the subsequent sections are relative to the selection in the Material List. Changing materials will update 3.3 to 3.6 to correspond to the highlighted/selected material in 3.2.
The context menu allows deleting materials (be careful as there's no undo buttons). To add materials you must drag them from the library, either as an entire mrl3 or as individual materials within the file.
[]
Lists the resource types that the material can use. The resource that is actually loaded is linked to the "slot" for the material through the resource index. The resource index indicates the index of the resource in the file's resource list that will be loaded.
[]
In this case it indicates that the FurVelocityMap should load Resource 7 which corresponds to the path wp\bow\bow006\mod\bow006_FM
This is what fundamentally defines what the material IS. The material name is what allows the mod3 file to know what material in the mrl3 to use for a given mesh.
Each mesh on the mod3 has a material. The game will look for this material's name in the mrl3 (in practice it looks for the crc-jam hash of the name, but the editor converts known hashes for you and you can simply write the material name outright. If for some reason you need to write the hash instead, the editor will take a material name starting with "0x" directly as the hash).
[]
In this example the first mesh in the mod3 will use the material by the name Ch_Wp_Mt__3 which is the first material in the mrl3.
The Shader Id is the two part identifier of what shader this material will use. The shader is basically what actually makes the material look like it does and act like it does. Unless you REALLY know what you are doing, you should NEVER touch this values. If you want to use a different shader, pull a new material, don't edit an old one, as shaderid influences the rest of the structure and this isn't updated when changed manually through the fields. Editing this two fields won't simply make the model fail to load they WILL crash your game.
[]
Surface Direction indicates if the material should be visible from both sides. 1100 means only visible from one side, -1f00 means visible from both sides.
Controls the fine tuning of how the material will use each resource. This allows a wide bevy of tricks and hacks to get special effects going without having to do more complicated material setups. Parameters preceded by a b indicate boolean meaning they are either Zero or Non-Zero (any number that's not 0). f indicates float meaning a number with decimals. The remaining type, i correspond to integers. Individual, well understood parameter fields can be found on its respective article.
[]
General Tutorials
Animation Tutorials
Audio Tutorials
File & In Game IDs
- Accessory and Specialized Tool IDs (Asset)
- Armor IDs (Asset)
- Decorations IDs
- EFX IDs
- Endemic Critter IDs (Asset)
- Face IDs (Asset)
- Furniture IDs (Asset)
- Gimmick IDs (Asset)
- Hairstyle IDs (Asset)
- Item IDs
- LMT IDs
- Material IDs
- Medal IDs
- Model Bone Function IDs
- Monster IDs
- Monster Shell IDs (A-P)
- Monster Shell IDs (Q-Z)
- NPC IDs (Asset)
- NPC Base Model (Asset)
- Palico Equipment IDs (Asset)
- Pendant IDs (Asset)
- Poogie Clothes IDs
- Quest IDs
- Skill IDs
- Stage IDs (Asset)
- Player Weapon Action IDs
- Weapon IDs (Asset)
- Weapon ID Dump (GS,SnS,DB)
- Weapon ID Dump (LS,Ham,HH)
- Weapon ID Dump (Lan,GL)
- Weapon ID Dump (SA,CB)
- Weapon ID Dump (Bow,HBG,LBG)
Model Tutorials
- Quick Guide to Importing Models (Blender 2.79)
- Walkthrough of a Weapon Import
- Basics of Exporting Into the .mod3 Format
- How To Fix UVs Sharing a Seam
- How To Separate Mesh Parts in Blender
- Rotating, Moving and Resizing in Blender
- How to Split a Single Mesh Outfit into Player Equippable Parts
- Jigglebone Chains (.ctc) and Colliders (.ccl)
- Axial CTC Rotations
- Editing Hair Models and Materials
- Useful Blender Scripts
- [external page] How to Make All Polygons Into Triangles (Required for MHW models)
- [external page] How to Convert Triangles Back Into Quads
- [external page] How to Change The View-port clipping Parameters For Large Models
- [external page] How to Set Origin to Vertex in Edit Mode
- [external page] Shortcut to repeat the last operation in Blender
- [external page] Transferring Rig Weights From One Mesh To Another
- [external page] How to Copy Paint Weights From One Object to Another
- [external page] How to Remove All Zero-Weight Vertex Groups
- [external page] How to Weight Paint Against Current Pose
- [external page] Making a Hair Rig
- [external page] Physics Transfer
EFX Tutorials
FSM Editing
MRL3 Tutorials
NPC Editing
Plugins and Memory Editing
Monster AI Editing
General Texture Tutorials
- Obtaining, Converting and Replacing Textures
- Textures with Paint NET
- How To Open DDS Files
- Editing Textures
- Understanding Alpha Channels
- Exporting Textures with Transparency
- How To Achieve Glass Texture
- How to create Crystal materials with Alpha Textures
- Working Around the Mip Map Loading Bug
- [external page] Extracting a UV Layout
Specific Texture Tutorials
Asterisk's Plugin Notes
Miscellaneous Tutorials
Outdated Tutorials
- How to Make an NPC Skin Material Support Skin Color Customization
- Plugin Comparison
- A Theoretical Proposal on Skeleton Extension
- Monster Hunter World Save Editor Tutorial
- Making Copies of a Save Slot
- Making a Green Screen
- Notes on CTC Physics Jiggle Files
- Opening MRL3 file with a template
- Transferring MRL3 Files Between Models
- Expanding mrl3 Reference List
- How to Edit Eye Color in mrl3 Files