BlueGit

golden-age paperdoll-renderer

Files

paperdoll-renderer / README.md

README.md

228e617a History
README.md 2.0 KiB Download Raw
1# Paperdoll Renderer
2
3Desktopprogramma voor een paperdoll-project. Je bewaart een projectmap, leest modellen uit, en bekijkt een glTF-lichaam als bewegend 3D-model.
4
5Rust 1.96.0 staat in `rust-toolchain.toml`. Voor het venster: `pkg-config`, `libxcb1-dev`, `libx11-dev`, `libxkbcommon-dev`, `libxkbcommon-x11-dev` en `libgl1-mesa-dev`.
6
7```bash
8cargo run
9cargo run -- --preview-fixture
10cargo run -- --status
11cargo test --locked
12```
13
14`--preview-fixture` opent de preview met de testlichamen uit `tests/fixtures/bodies/`.
15
16## Project
17
18**Nieuw** maakt een map met `character.ppd`, `assets/body/`, `assets/equipment/`, `presets/`, `cache/` en `renders/`. **Open** leest een `.ppd`. **Opslaan** schrijft het bestand via een tijdelijk buurbestand.
19
20In het bestand staan de projectnaam, de paden van het mannelijke en vrouwelijke model, de paden van equipment-presets, de uitvoermap, en breedte, hoogte en fps. Paden zijn relatief aan de projectmap. Een leeg geslachtsslot blijft leeg. **Lees man** en **Lees vrouw** tonen meshes, materialen, textures, joints en clips van glTF/GLB, FBX of OBJ+MTL.
21
22## 3D-preview
23
24Het middelste vlak tekent een geskind glTF/GLB-lichaam.
25
26- **Laad testlichamen** zet de man en de vrouw uit de fixture in de view.
27- **3D van project** gebruikt de `.glb`- of `.gltf`-paden van man en vrouw.
28- **Man** en **Vrouw** wisselen het lichaam. **walk** en **attack** wisselen de clip. **Pauze** / **Speel** zet de animatie stil of laat haar lopen.
29- Sleep in het vlak om te draaien. Scroll om te zoomen.
30- **Yaw −** en **Yaw +** stappen langs twaalf hoeken van 30°. **pitch -30**, **pitch 0** en **pitch 30** zetten de drie hoogtes. Yaw 0 kijkt op de voorkant; de testlichamen wijzen naar −Z.
31
32## Tests
33
34```bash
35cargo fmt --check
36cargo clippy --workspace --all-targets --locked -- -D warnings
37cargo test --workspace --locked
38```
39
40De testlichamen komen uit `scripts/generate_test_bodies.py`. Het FBX-bestand van de man komt uit `scripts/convert_test_body_to_fbx.py` met Blender.