BlueGit

golden-age paperdoll-renderer

Files

paperdoll-renderer / tests / fixtures / bodies / README.md

README.md

README.md 1.9 KiB Download Raw
1# Synthetische testlichamen
2
3Deze 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.
4
5| Bestand | Inhoud |
6|---|---|
7| `test-body-male.glb` | Bredere schouders, smallere heupen, hoger heuppunt |
8| `test-body-female.glb` | Smallere schouders, bredere heupen, lager heuppunt |
9
10Beide hebben een skin met 19 joints en twee clips:
11
12- `walk` — loopcyclus van 1 seconde, armen tegengesteld aan de benen, eerste en laatste sample gelijk
13- `attack` — zwaai van de rechterarm naar voren, 0,8 seconde, eindigt weer in de bindpose
14
15De 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.
16
17Opnieuw genereren, vanaf de repositoryroot:
18
19```bash
20python3 scripts/generate_test_bodies.py
21```
22
23Licentie van de gegenereerde meshes, rigs en clips: CC0-1.0. Zie `LICENSE` in deze map.
24
25`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`).
26
27`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).