XML:TRMA: Difference between revisions
Jump to navigation
Jump to search
m (oops, I should have used the vanilla/ path for those pages I edited, shouldn't I? ^_^;) |
Paradox-01 (talk | contribs) m (Dumping some old code snippet. Actually I remember I made a combined TRBS-TRMA-TXMP generator... Might be in the addons.) |
||
Line 47: | Line 47: | ||
:TXMPIteration001%2FKS_thigh_horiz.oni<br> | :TXMPIteration001%2FKS_thigh_horiz.oni<br> | ||
:[...] | :[...] | ||
==Code snippets== | |||
===VBS for XSI=== | |||
Gets file path, width and height of all textures of selected character. Could be [[Mod_Tool/Scripting#Write_text_file|extended to write XML]] for a TRMA and TXMP generator. | |||
if selection.count > 0 then | |||
' any part could be selected, let's find the root body part | |||
SelectNeighborObj selection(0), 4 | |||
' get all members including the pelvis | |||
set bodyparts = selection(0).FindChildren( , , siMeshFamily) | |||
for each member in bodyparts | |||
logmessage "object name: " & member.name | |||
if not typename(member.Material.CurrentImageClip) = "Nothing" then | |||
logmessage "texture: " & member.Material.CurrentImageClip.source.filename.value | |||
'logmessage "material: " & member.Material.name | |||
'logmessage "shader: " & member.Material.shaders(0).name | |||
logmessage "X: " & member.Material.CurrentImageClip.source.Parameters("XRes").Value | |||
logmessage "Y: " & member.Material.CurrentImageClip.source.Parameters("YRes").Value | |||
end if | |||
logmessage "----------------------------------------------------------" | |||
next | |||
logmessage "counted body parts: " & bodyparts.count | |||
end if | |||
{{XML}} | {{XML}} |
Revision as of 19:20, 17 June 2020
TRMA : Texture Map Array | ||
---|---|---|
XML
TRGE << Other file types >> TRSC |
general information
- The xml code on this page is compatible with onisplit v0.9.61.0
- TRMA files are stored globally (in AE/AEInstaller/vanilla/level0_Final.dat)
- these files are used by ONCC to get textures for the 3D mesh (TRBS)
- the mesh has 19 body parts, so there are also 19 textures links in the TRMA
- the order of the TRMA links is determined by the mesh hierarchy (TRIA)
example
TRMAkonoko002_high_texture_generic.xml
<?xml version="1.0" encoding="utf-8"?> <Oni> <TRMA id="0"> <Textures> <Link>TXMPIteration001/KS_pelvis</Link> <Link>TXMPIteration001/KS_thigh_horiz</Link> <Link>TXMPIteration001/KS_calf_nobknee</Link> <Link>TXMPIteration001/KS_foot</Link> <Link>TXMPIteration001/KS_thigh_horiz</Link> <Link>TXMPIteration001/KS_calf_nobknee</Link> <Link>TXMPIteration001/KS_foot</Link> <Link>TXMPIteration001/KS_mid</Link> <Link>TXMPIteration001/KS_chestpack</Link> <Link>TXMPIteration001/KS_neck</Link> <Link>TXMPIteration001/KS_face</Link> <Link>TXMPIteration001/KS_shoulder</Link> <Link>TXMPIteration001/KS_bicep</Link> <Link>TXMPIteration001/KS_wrist</Link> <Link>TXMPIteration001/ks_fist</Link> <Link>TXMPIteration001/KS_shoulder</Link> <Link>TXMPIteration001/KS_bicep</Link> <Link>TXMPIteration001/KS_wrist</Link> <Link>TXMPIteration001/ks_fist</Link> </Textures> </TRMA> </Oni>
TRMA files contain sometimes a link with a "/" in it. The actual TXMP file use a "%2F" instead of the "/".
For example:
- TXMPIteration001%2FKS_pelvis.oni
- TXMPIteration001%2FKS_thigh_horiz.oni
- [...]
Code snippets
VBS for XSI
Gets file path, width and height of all textures of selected character. Could be extended to write XML for a TRMA and TXMP generator.
if selection.count > 0 then ' any part could be selected, let's find the root body part SelectNeighborObj selection(0), 4 ' get all members including the pelvis set bodyparts = selection(0).FindChildren( , , siMeshFamily) for each member in bodyparts logmessage "object name: " & member.name if not typename(member.Material.CurrentImageClip) = "Nothing" then logmessage "texture: " & member.Material.CurrentImageClip.source.filename.value 'logmessage "material: " & member.Material.name 'logmessage "shader: " & member.Material.shaders(0).name logmessage "X: " & member.Material.CurrentImageClip.source.Parameters("XRes").Value logmessage "Y: " & member.Material.CurrentImageClip.source.Parameters("YRes").Value end if logmessage "----------------------------------------------------------" next logmessage "counted body parts: " & bodyparts.count end if