XML:TRMA: Difference between revisions

From OniGalore
m (Dumping some old code snippet. Actually I remember I made a combined TRBS-TRMA-TXMP generator... Might be in the addons.)
m (correcting prev/next types in nav header)
Line 1: Line 1:
{{ XML_File_Header | type=TRMA | prev=TRGE | next=TRSC | name=Texture Map Array }}
{{ XML_File_Header | prev=TRIG | type=TRMA | next=TRSC | name=Texture Map Array}}


'''general information'''
'''general information'''

Revision as of 19:29, 27 March 2021

TRMA : Texture Map Array
XML modding tips
See HERE to start learning about XML modding.
See HERE if you are searching for information on how to handle object coordinates.
See HERE for some typical modding errors and their causes.
XML.png
XML

TRIG << Other file types >> TRSC

switch to OBD page

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