I'm not entirely sure what you mean by attaching your model files but I think this is what I'm trying to do but can't get to work. I am replacing the .mdl, .mdx and .tga with the new files and just rename them PHMA03. Which in the game gives me the right model, it's just transparent because the texture isn't loading correctly.
I was thinking of making the dark side textures later, when this first one works. I've seen the names for all the textures I'd need to make in the .2da, PMHA03A, PMHA03AD2, PMHA03AD1.
I suspect that something is going wrong when I export from KotorBlender however. As it's a model that I've downloaded from another game to insert into TSL. I've had to make a lot of changes already to make it work like it does now so it feels like something is wrong in there. An observation I made was that when I open the .mdl in mdlEdit is that the bitmap is NULL everytime I make a export. This is something you can change easily by exporting it to a ASCII MDL and text edit all the bitmaps from bitmap NULL to bitmap PMHA03, which is the name of my .tga (PMHA03.tga). That was also when I found out that the MDX settings weren't as the other files in the game. (the whole "size is 60 and that the offset data for UV1: 0 (Offset -1)" thing)
I am exporting the MDL_Root > aurorabase > meshes, these meshes are 118 normal meshes and 106 shadow meshes ripped from a .dae. All the meshes are trimesh with quaternation rotation.
What I’ve tried:
- Ensured only one UV map per visible mesh; made it active.
- Applied all transforms; applied/removed modifiers (Mirror/Subsurf none left).
- Triangulated faces.
- Re‑exported with KotORBlender (Export for TSL on).
- Set bitmap names and verified PMHA03.tpc exists in Override.
- Tested minimal mesh with a flat white TGA/TPC — still shows black if UVs are missing.
Some more questions:
KotORBlender UV export: Are there known conditions where KotORBlender drops UVs (e.g., more than one UV map existed previously; UV layer name must be UVMap; too many meshes; vertex groups present; parenting)?
Hierarchy best practice for heads: Is MDL Root → Reference (aurorabase) → Trimesh pieces correct for TSL heads, or should it be MDL Root → PMHA03 (basic) → Trimesh with a different node naming?
Many meshes vs. single mesh: Do I need to join the 118 visible pieces into fewer/larger meshes for UVs to export reliably? Any engine/exporter limits I should respect?
Shadow meshes: Should I exclude/delete the 100+ shadowmesh objects from the export? Could they interfere with UV channels or flags?
Bitmap source of truth: Is the material name or the image node name written as bitmap? Any requirement to assign a material per submesh?
Workaround via ASCII: Would you recommend exporting ASCII, batch‑inserting bitmap PMHA03 (done) and verifying UV blocks there, then compiling with MDLOps/MDLEdit instead of relying on direct binary export? (if possible)
Thanks in advance for any pointers! If there’s a known KotORBlender quirk around UVs, I’m happy to follow a specific workflow (rename UV layer to UVMap, join meshes, export ASCII then compile, etc.).