# Synthetische testlichamen Deze twee GLB-bestanden zijn procedureel gegenereerd door `scripts/generate_test_bodies.py`. Er is geen extern model gedownload. Het zijn testassets voor latere import-, skeleton-, animatie-, render- en previewtests. Het zijn geen definitieve karakters en het programma laadt ze nog niet. | Bestand | Inhoud | |---|---| | `test-body-male.glb` | Bredere schouders, smallere heupen, hoger heuppunt | | `test-body-female.glb` | Smallere schouders, bredere heupen, lager heuppunt | Beide hebben een skin met 19 joints en twee clips: - `walk` — loopcyclus van 1 seconde, armen tegengesteld aan de benen, eerste en laatste sample gelijk - `attack` — zwaai van de rechterarm naar voren, 0,8 seconde, eindigt weer in de bindpose De bindpose heeft identiteitsrotaties. glTF-assen: +Y is omhoog, het gezicht wijst naar -Z. Elke vertex hoort met gewicht 1 bij één joint. De inverse-bindmatrix is de inverse translatie van de wereldpositie in die bindpose. Opnieuw genereren, vanaf de repositoryroot: ```bash python3 scripts/generate_test_bodies.py ``` Licentie van de gegenereerde meshes, rigs en clips: CC0-1.0. Zie `LICENSE` in deze map. `test-body-male.fbx` is dezelfde man, omgezet met Blender (`scripts/convert_test_body_to_fbx.py`). Blender hoort niet bij de applicatie; het bestand ligt in de repository zodat de FBX-import zonder Blender getest wordt. De clipnamen krijgen daar het suffix van de skin (`walk_test-body-male-skin`, `attack_test-body-male-skin`). `static/` bevat hetzelfde mannelijke testlichaam in bindpose **zonder skin**, gemaakt door `scripts/generate_static_bodies.py` (CC0-1.0, zie `LICENSE` in deze map): `static-body-male.obj` + `.mtl` + `static-body-albedo.png` (bovenste helft rood, onderste helft blauw, zodat de UV-oriëntatie testbaar is) en `static-body-male.glb` (geometrie onder een verschoven/geschaalde ouder-node en een geroteerde kind-node, plus één node-animatie die niet toegepast mag worden).