-
Notifications
You must be signed in to change notification settings - Fork 18
How to Make an NPC Skin Material Support Skin Color Customization
[]
CMM tex defines what parts of a texture are color customizable. Usually red or green. This is usually for equipment. The game decides which color is customizable on a piece of equipment. I suspect this is defined in common/equip_scolor.esvc
For skin, skin materials have a shader switch in the mrl3 file material index, that tells the game they are a Player or NPC skin material. Skin materials usually refer to default or common player skin textures. There are also hand textures. In the case of NPC clothing, sometimes the skin is drawn onto the clothes texture. But even in the case of a single NPC texture having both clothing and skin, the skin is assigned its own material.
Let's say you have skin materials that aren't changing color. You need to figure out which these are, in the mrl3 file. "default_tex\skin_BM" seems to be used to change the skin color. The key to finding the skin materials is searching for the materials that use this texture. You can do this by counting the number order of textures and then doing a search for materials using that number.
For example, if "default_tex\skin_BM" is 13th in the texture list, its value is 0D. Search for 0D after the material index. You can figure out where materials start and how long they are, using the mrl3 image I uploaded. You can also figure out which material is which by what other textures are being used within the same material (they're in the same row). For example, hand textures being used means it's the material used for the hand.
Note that the bytes for location and size are in reverse. For example, in the top right of the mrl3 image, 4002 is the length. That's 0240 in hex.
Write 0240 into Windows calculator (in hexadecimal mode) and then convert to decimal. The result is 576 bytes. Thus the material size is 576 bytes.
Similarly, if location is 1280, that means it starts at 0x00001280.
Once you figure out which materials are skin materials, simply copy paste the green "skin ID" section from the confirmed skin material of a player mrl3.
Using the image I've uploaded, you should be also able to do things like append materials to the end of the mrl3 file and then edit address and size references for existing materials to point to the appended material. Note that you must keep the material IDs (I'm assuming that's what they are based on a video of a RE6 mod tool by MarioKart64n) so that the model knows which material you are referring to. The game will probably crash otherwise.
I hope my explanation makes sense (I'm tired).
UberGrainy
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