1 Allgemeines
Beide Lua-basierten Formate (.msh und .ani) besitzen als Grundstruktur die Funktion "data()", davor können zusätzliche Lua-Scripte geladen werden, sofern benötigt.
Die Meshdateien treten immer paarweise auf (.msh + .msh.blob) und ergänzen sich gegenseitig, daher unterschieden sich die enstprechenden Dateipfade auch nur in der Dateiendung.
2 Mesh (.msh)
Das Format in dem die Eckdaten des Meshes gespeichert sind (Animationen, Anzahl der Flächen/Vertices, Materialien).
Enthält innerhalb der Funktion "data()" folgende Variablen:
Code
animations = {
ANIMNAME = {
type = "KEYFRAME" //Wenn eine Keyframe-Animation erzeugt werden soll, vielleicht auch andere Werte möglich
params = {
origin = float[3] //Nullpunkt der Animation relativ zum Nullpunkt des Meshes
keyframes = KeyframeData[]
}
}
}
KeyframeData = {
time = int //Zeitangabe für den Keyframe in ms
rot = float[3] //Rotation des Meshes
transl = float[3] //Positionsänderung des Meshes
}
matConfigs = int[Anzahl der Submeshes][Anzahl der Materialien des Submeshs] //Einstellungen zu den Materialien (bis jetzt sind alle Einträge 0)
subMeshes = { //Informationen zu den Submeshes
indices = { //Informationen zur Speicherposition der Index-Daten in der gleichnamigen .msh.blob Datei
normal, position, uv0(, tangent) = {
count = int,
numComp = int,
offset = int,
}
}
materials = string[] //Liste der verwendeten Materialien
}
vertexAttr = { //Informationen zur Speicherposition der Vertex-Daten in der gleichnamigen .msh.blob-Datei
normal, position, uv0(, tangent) = {
count = int,
numComp = int,
offset = int,
}
}
Display More
3 Mesh (.msh.blob)
Enthält die Index- und Vertexdaten des Meshes in binärer Form.
Die Anzahl und Offsets der verschiedenen Einträge sind in der gleichnamigen .msh-Datei gespeichert, daher haben .msh.blob-Dateien kein festes Format.
4 Animationen (.ani)
Ein Format um Keyframe-Animationen unabhängig von Meshes speichern zu können (wird vor allem bei umfangreichen Animationen genutzt, z.B. bei Personen).
Enthält innerhalb der Funktion "data()" folgende Variablen: