9f/9g: narrow fixed per-sex depth range (schema 5, .ppda v2 depth_near/far/encoding, clamp+report); light hold from raw pointer state
@@ -48,7 +48,7 @@ Vanuit **Body** of de bodyweergave opent **2D-preview** de gerenderde compositor
- Kies een clip uit de body-exportinventaris. **Speel / Pauze**, snelheid en export-fps sturen een looping frame-tijd (elapsed × fps); ontbrekende maps/frames tonen een diagnose in plaats van een stille vervanging.
- **Yaw − / Yaw +** wrappen over 0…330° (stap 30). **Pitch − / Pitch +** kiezen −60 / −30 / 0 / +30 / +60 met klemmen (start op 0). Hoekwijzigingen behouden de animatietijd.
- Kies weergavestand **Resultaat** (standaard; belichte compositie), **Alleen diffuse**, **Alleen normal map**, **Alleen depth map** of **Alleen specular map**. Mapstanden tonen de diepte-gecompositeerde winnende laag onbelicht (depth als grijswaarde, normal als opgeslagen RGB). Playback, hoek en equipment werken in elke stand; licht alleen in Resultaat.
- Houd **Azimut / Elevatie** ingedrukt voor continue lichtrotatie in °/s (delta-time); azimut wrapt over 360° zonder klem, elevatie blijft −80…+80. Loslaten, focusverlies of pointer-annulering stopt de beweging. Belichting is alleen voor Resultaat; opgeslagen diffuse blijft unlit albedo.
- Houd **Azimut / Elevatie** ingedrukt voor continue lichtrotatie in °/s (delta-time); azimut wrapt over 360° zonder klem, elevatie blijft −80…+80. De knoppen volgen de echte muisknopstatus, dus ze blijven draaien zolang je vasthoudt (ook langer dan een seconde). Loslaten, van de knop af bewegen, focusverlies of de pointer die het venster verlaat stopt de beweging. Belichting is alleen voor Resultaat; opgeslagen diffuse blijft unlit albedo.
- Playback loopt over exact `frames / fps` seconden, zodat ieder geëxporteerd frame (inclusief het laatste) even lang duurt (`1/fps`).
- Het samengestelde frame gebruikt nearest-neighbor weergave met uniforme schaal en gecentreerde letterboxing, gelijk aan de productie-passpreviews.
@@ -89,7 +89,7 @@ Bij sluiten of **Ander project / Nieuw project** met wijzigingen kies je **Opsla
De bodyknop rendert alleen het lichaam; **Render equipment alle hoeken** in de equipment-editor rendert het geselecteerde preset, geanimeerd op het gekozen lichaam maar **zonder body-occlusie of bodypixels**. De vaste camera van dat geslacht blijft gelijk, ook als je in de live preview vrij hebt ingezoomd.
Per beeld worden **alleen vier target-res PNGs** opgeslagen: `diffuse`, `normal`, `depth`, `specular`. Diffuse is **onbelichte albedo** (basiskleur/texture × vertexkleur, alpha behouden), nooit ingebakken lighting/schaduw/glans. Depth is lineaire 16-bit grayscale+alpha met gemeenschappelijke near/far; normal is view-space RGB+alpha; specular is lineaire sterkte (body nul, equipment inclusief ingestelde shinymap). Highres en detail zijn uitsluitend zichtbare hulpstappen en worden niet opgeslagen.
Per beeld worden **alleen vier target-res PNGs** opgeslagen: `diffuse`, `normal`, `depth`, `specular`. Diffuse is **onbelichte albedo** (basiskleur/texture × vertexkleur, alpha behouden), nooit ingebakken lighting/schaduw/glans. Depth is lineaire 16-bit grayscale+alpha binnen een vast, smal dieptebereik per geslacht rond het orbitpunt: `near/far = 10 m ∓ R`, met R = halve renderhoogte + |pivot Y − centrum Y| (minimaal 0,5 m); bij 2,6 m hoogte en nekpivot 1,46 m dus ca. 8,24–11,76 m. Alle clips, frames, hoeken en equipment van dat geslacht delen hetzelfde bereik; afstand = near + (grijs/65535)·(far − near). Geometrie buiten het bereik wordt geklemd (niet weggeknipt) en gemeld in de voortgang en in `complete.json` (`depth_clamped`); normal is view-space RGB+alpha; specular is lineaire sterkte (body nul, equipment inclusief ingestelde shinymap). Highres en detail zijn uitsluitend zichtbare hulpstappen en worden niet opgeslagen.
```text
renders/run-<tijd>-<pid>/male/body/clip001-walk/f000012/p-60_y330_diffuse.png
@@ -97,7 +97,7 @@ renders/run-<tijd>-<pid>/male-body-diffuse-atlas.png (en -normal, -depth, -spe
renders/run-<tijd>-<pid>/male-body-atlas.ppda
```
Ieder nieuw renderverzoek krijgt een eigen runmap; bestaande uitvoer wordt niet overschreven. `render.json` (schema 4) beschrijft projectidentiteit, bronfingerprints (SHA-256 van bodybestand en optioneel encoded equipment), camera/pivot/sample/materiaalcontract (pitches −60…+60, yaws 0…330), clipinventaris en telling. Alleen `complete.json` (zelfde schema, met per-PNG SHA-256 en de namen en SHA-256 van atlassen en `.ppda`) betekent een volledige set. Exports met een ouder schema worden door de lezers geweigerd. `cancelled.json`/`failed.json` markeren een gedeeltelijke run zonder compleet-marker. De bibliotheekmodule `export_set` opent uitsluitend voltooide runs met overeenkomende identiteit en geverifieerde checksums, en leest de echte RGBA8-/depth16-maps met strikte pad-/formaatvalidatie. De map-/camera-/pixelcontracten staan in `design.md`.
Ieder nieuw renderverzoek krijgt een eigen runmap; bestaande uitvoer wordt niet overschreven. `render.json` (schema 5; met `depth_near`, `depth_far`, `depth_encoding`) beschrijft projectidentiteit, bronfingerprints (SHA-256 van bodybestand en optioneel encoded equipment), camera/pivot/sample/materiaalcontract (pitches −60…+60, yaws 0…330), clipinventaris en telling. Alleen `complete.json` (zelfde schema, met per-PNG SHA-256 en de namen en SHA-256 van atlassen en `.ppda`) betekent een volledige set. Exports met een ouder schema (o.a. schema 4 met het oude globale bereik 0,05–40 m) worden door de lezers geweigerd en niet gemengd; render die opnieuw. `cancelled.json`/`failed.json` markeren een gedeeltelijke run zonder compleet-marker. De bibliotheekmodule `export_set` opent uitsluitend voltooide runs met overeenkomende identiteit en geverifieerde checksums, en leest de echte RGBA8-/depth16-maps met strikte pad-/formaatvalidatie. De map-/camera-/pixelcontracten staan in `design.md`.
### Atlassen en .ppda
@@ -106,7 +106,7 @@ Als alle losse maps klaar en geverifieerd zijn, ook na hervatten, schrijft de re
- Een cel is exact de doelresolutie, zonder rand of schaling. Iedere rij is één (clip, frame) in bronvolgorde. De 60 kolommen zijn pitch −60→+60 en daarbinnen yaw 0→330. De vier atlassen hebben dezelfde celcoördinaten. Diffuse houdt het sRGB-kenmerk; depth blijft 16-bit grijs+alpha.
- De atlassen worden rij voor rij uit de geverifieerde losse PNG's opgebouwd, atomair gepubliceerd en overschrijven niets. Staat er na een crash al een atlas, dan blijft die staan als hij byte-gelijk is aan de nieuwe; anders wordt hij als `.corrupt-aNNN-K` bewaard en opnieuw geschreven.
- Wordt een atlas groter dan 16384 pixels in breedte of hoogte, dan weigert de render vóór de start met een duidelijke melding (verlaag fps, resolutie of animatieduur). Atlassen worden nooit gesplitst.
- `.ppda` (PaPerDollAtlas) is strikte UTF-8 JSON met `format_version` 1, `sex`, `settype`, `project` (id/naam), `identity` (body- en equipment-SHA-256, framing, pivotbron, near/far, cameraafstand, normal- en depthcodering), `fps`, `cell_width`/`cell_height`, `pitches`, `yaws`, `maps` (per maptype bestandsnaam, SHA-256, breedte, hoogte) en `clips` (bronindex, naam, token, `frame_count`, `duration` en per frame alle 60 hoeken als `{pitch, yaw, x, y, w, h}` in atlaspixels).
- `.ppda` (PaPerDollAtlas) is strikte UTF-8 JSON met `format_version` 2, `sex`, `settype`, `project` (id/naam), `identity` (body- en equipment-SHA-256, framing, pivotbron, near/far, cameraafstand, normal- en depthcodering), `fps`, `depth_near`/`depth_far` (meters bij grijs 0 / 65535) en `depth_encoding`, `cell_width`/`cell_height`, `pitches`, `yaws`, `maps` (per maptype bestandsnaam, SHA-256, breedte, hoogte) en `clips` (bronindex, naam, token, `frame_count`, `duration` en per frame alle 60 hoeken als `{pitch, yaw, x, y, w, h}` in atlaspixels).
- De bibliotheeklezer `atlas::AtlasSet` weigert onbekende velden of versies, bestandsnamen die niet de verwachte naam in dezelfde map zijn, symlinks, afwijkende atlasafmetingen of kleurtypes, celcoördinaten die niet op het raster liggen en SHA-256-fouten. `load()` decodeert de vier atlassen met dezelfde pixelregels als de losse maps; `cell()` knipt één hoek eruit. `atlas::cross_check_run` vergelijkt iedere atlascel met de losse PNG.
### Hervatten
@@ -48,7 +48,7 @@ Vanuit **Body** of de bodyweergave opent **2D-preview** de gerenderde compositor- Kies een clip uit de body-exportinventaris. **Speel / Pauze**, snelheid en export-fps sturen een looping frame-tijd (elapsed × fps); ontbrekende maps/frames tonen een diagnose in plaats van een stille vervanging.- Kies een clip uit de body-exportinventaris. **Speel / Pauze**, snelheid en export-fps sturen een looping frame-tijd (elapsed × fps); ontbrekende maps/frames tonen een diagnose in plaats van een stille vervanging.- **Yaw − / Yaw +** wrappen over 0…330° (stap 30). **Pitch − / Pitch +** kiezen −60 / −30 / 0 / +30 / +60 met klemmen (start op 0). Hoekwijzigingen behouden de animatietijd.- **Yaw − / Yaw +** wrappen over 0…330° (stap 30). **Pitch − / Pitch +** kiezen −60 / −30 / 0 / +30 / +60 met klemmen (start op 0). Hoekwijzigingen behouden de animatietijd.- Kies weergavestand **Resultaat** (standaard; belichte compositie), **Alleen diffuse**, **Alleen normal map**, **Alleen depth map** of **Alleen specular map**. Mapstanden tonen de diepte-gecompositeerde winnende laag onbelicht (depth als grijswaarde, normal als opgeslagen RGB). Playback, hoek en equipment werken in elke stand; licht alleen in Resultaat.- Kies weergavestand **Resultaat** (standaard; belichte compositie), **Alleen diffuse**, **Alleen normal map**, **Alleen depth map** of **Alleen specular map**. Mapstanden tonen de diepte-gecompositeerde winnende laag onbelicht (depth als grijswaarde, normal als opgeslagen RGB). Playback, hoek en equipment werken in elke stand; licht alleen in Resultaat.- Houd **Azimut / Elevatie** ingedrukt voor continue lichtrotatie in °/s (delta-time); azimut wrapt over 360° zonder klem, elevatie blijft −80…+80. Loslaten, focusverlies of pointer-annulering stopt de beweging. Belichting is alleen voor Resultaat; opgeslagen diffuse blijft unlit albedo.- Houd **Azimut / Elevatie** ingedrukt voor continue lichtrotatie in °/s (delta-time); azimut wrapt over 360° zonder klem, elevatie blijft −80…+80. De knoppen volgen de echte muisknopstatus, dus ze blijven draaien zolang je vasthoudt (ook langer dan een seconde). Loslaten, van de knop af bewegen, focusverlies of de pointer die het venster verlaat stopt de beweging. Belichting is alleen voor Resultaat; opgeslagen diffuse blijft unlit albedo.- Playback loopt over exact `frames / fps` seconden, zodat ieder geëxporteerd frame (inclusief het laatste) even lang duurt (`1/fps`).- Playback loopt over exact `frames / fps` seconden, zodat ieder geëxporteerd frame (inclusief het laatste) even lang duurt (`1/fps`).- Het samengestelde frame gebruikt nearest-neighbor weergave met uniforme schaal en gecentreerde letterboxing, gelijk aan de productie-passpreviews.- Het samengestelde frame gebruikt nearest-neighbor weergave met uniforme schaal en gecentreerde letterboxing, gelijk aan de productie-passpreviews.@@ -89,7 +89,7 @@ Bij sluiten of **Ander project / Nieuw project** met wijzigingen kies je **OpslaDe bodyknop rendert alleen het lichaam; **Render equipment alle hoeken** in de equipment-editor rendert het geselecteerde preset, geanimeerd op het gekozen lichaam maar **zonder body-occlusie of bodypixels**. De vaste camera van dat geslacht blijft gelijk, ook als je in de live preview vrij hebt ingezoomd.De bodyknop rendert alleen het lichaam; **Render equipment alle hoeken** in de equipment-editor rendert het geselecteerde preset, geanimeerd op het gekozen lichaam maar **zonder body-occlusie of bodypixels**. De vaste camera van dat geslacht blijft gelijk, ook als je in de live preview vrij hebt ingezoomd.Per beeld worden **alleen vier target-res PNGs** opgeslagen: `diffuse`, `normal`, `depth`, `specular`. Diffuse is **onbelichte albedo** (basiskleur/texture × vertexkleur, alpha behouden), nooit ingebakken lighting/schaduw/glans. Depth is lineaire 16-bit grayscale+alpha met gemeenschappelijke near/far; normal is view-space RGB+alpha; specular is lineaire sterkte (body nul, equipment inclusief ingestelde shinymap). Highres en detail zijn uitsluitend zichtbare hulpstappen en worden niet opgeslagen.Per beeld worden **alleen vier target-res PNGs** opgeslagen: `diffuse`, `normal`, `depth`, `specular`. Diffuse is **onbelichte albedo** (basiskleur/texture × vertexkleur, alpha behouden), nooit ingebakken lighting/schaduw/glans. Depth is lineaire 16-bit grayscale+alpha binnen een vast, smal dieptebereik per geslacht rond het orbitpunt: `near/far = 10 m ∓ R`, met R = halve renderhoogte + |pivot Y − centrum Y| (minimaal 0,5 m); bij 2,6 m hoogte en nekpivot 1,46 m dus ca. 8,24–11,76 m. Alle clips, frames, hoeken en equipment van dat geslacht delen hetzelfde bereik; afstand = near + (grijs/65535)·(far − near). Geometrie buiten het bereik wordt geklemd (niet weggeknipt) en gemeld in de voortgang en in `complete.json` (`depth_clamped`); normal is view-space RGB+alpha; specular is lineaire sterkte (body nul, equipment inclusief ingestelde shinymap). Highres en detail zijn uitsluitend zichtbare hulpstappen en worden niet opgeslagen.```text```textrenders/run-<tijd>-<pid>/male/body/clip001-walk/f000012/p-60_y330_diffuse.pngrenders/run-<tijd>-<pid>/male/body/clip001-walk/f000012/p-60_y330_diffuse.png@@ -97,7 +97,7 @@ renders/run-<tijd>-<pid>/male-body-diffuse-atlas.png (en -normal, -depth, -sperenders/run-<tijd>-<pid>/male-body-atlas.ppdarenders/run-<tijd>-<pid>/male-body-atlas.ppda``````Ieder nieuw renderverzoek krijgt een eigen runmap; bestaande uitvoer wordt niet overschreven. `render.json` (schema 4) beschrijft projectidentiteit, bronfingerprints (SHA-256 van bodybestand en optioneel encoded equipment), camera/pivot/sample/materiaalcontract (pitches −60…+60, yaws 0…330), clipinventaris en telling. Alleen `complete.json` (zelfde schema, met per-PNG SHA-256 en de namen en SHA-256 van atlassen en `.ppda`) betekent een volledige set. Exports met een ouder schema worden door de lezers geweigerd. `cancelled.json`/`failed.json` markeren een gedeeltelijke run zonder compleet-marker. De bibliotheekmodule `export_set` opent uitsluitend voltooide runs met overeenkomende identiteit en geverifieerde checksums, en leest de echte RGBA8-/depth16-maps met strikte pad-/formaatvalidatie. De map-/camera-/pixelcontracten staan in `design.md`.Ieder nieuw renderverzoek krijgt een eigen runmap; bestaande uitvoer wordt niet overschreven. `render.json` (schema 5; met `depth_near`, `depth_far`, `depth_encoding`) beschrijft projectidentiteit, bronfingerprints (SHA-256 van bodybestand en optioneel encoded equipment), camera/pivot/sample/materiaalcontract (pitches −60…+60, yaws 0…330), clipinventaris en telling. Alleen `complete.json` (zelfde schema, met per-PNG SHA-256 en de namen en SHA-256 van atlassen en `.ppda`) betekent een volledige set. Exports met een ouder schema (o.a. schema 4 met het oude globale bereik 0,05–40 m) worden door de lezers geweigerd en niet gemengd; render die opnieuw. `cancelled.json`/`failed.json` markeren een gedeeltelijke run zonder compleet-marker. De bibliotheekmodule `export_set` opent uitsluitend voltooide runs met overeenkomende identiteit en geverifieerde checksums, en leest de echte RGBA8-/depth16-maps met strikte pad-/formaatvalidatie. De map-/camera-/pixelcontracten staan in `design.md`.### Atlassen en .ppda### Atlassen en .ppda@@ -106,7 +106,7 @@ Als alle losse maps klaar en geverifieerd zijn, ook na hervatten, schrijft de re- Een cel is exact de doelresolutie, zonder rand of schaling. Iedere rij is één (clip, frame) in bronvolgorde. De 60 kolommen zijn pitch −60→+60 en daarbinnen yaw 0→330. De vier atlassen hebben dezelfde celcoördinaten. Diffuse houdt het sRGB-kenmerk; depth blijft 16-bit grijs+alpha.- Een cel is exact de doelresolutie, zonder rand of schaling. Iedere rij is één (clip, frame) in bronvolgorde. De 60 kolommen zijn pitch −60→+60 en daarbinnen yaw 0→330. De vier atlassen hebben dezelfde celcoördinaten. Diffuse houdt het sRGB-kenmerk; depth blijft 16-bit grijs+alpha.- De atlassen worden rij voor rij uit de geverifieerde losse PNG's opgebouwd, atomair gepubliceerd en overschrijven niets. Staat er na een crash al een atlas, dan blijft die staan als hij byte-gelijk is aan de nieuwe; anders wordt hij als `.corrupt-aNNN-K` bewaard en opnieuw geschreven.- De atlassen worden rij voor rij uit de geverifieerde losse PNG's opgebouwd, atomair gepubliceerd en overschrijven niets. Staat er na een crash al een atlas, dan blijft die staan als hij byte-gelijk is aan de nieuwe; anders wordt hij als `.corrupt-aNNN-K` bewaard en opnieuw geschreven.- Wordt een atlas groter dan 16384 pixels in breedte of hoogte, dan weigert de render vóór de start met een duidelijke melding (verlaag fps, resolutie of animatieduur). Atlassen worden nooit gesplitst.- Wordt een atlas groter dan 16384 pixels in breedte of hoogte, dan weigert de render vóór de start met een duidelijke melding (verlaag fps, resolutie of animatieduur). Atlassen worden nooit gesplitst.- `.ppda` (PaPerDollAtlas) is strikte UTF-8 JSON met `format_version` 1, `sex`, `settype`, `project` (id/naam), `identity` (body- en equipment-SHA-256, framing, pivotbron, near/far, cameraafstand, normal- en depthcodering), `fps`, `cell_width`/`cell_height`, `pitches`, `yaws`, `maps` (per maptype bestandsnaam, SHA-256, breedte, hoogte) en `clips` (bronindex, naam, token, `frame_count`, `duration` en per frame alle 60 hoeken als `{pitch, yaw, x, y, w, h}` in atlaspixels).- `.ppda` (PaPerDollAtlas) is strikte UTF-8 JSON met `format_version` 2, `sex`, `settype`, `project` (id/naam), `identity` (body- en equipment-SHA-256, framing, pivotbron, near/far, cameraafstand, normal- en depthcodering), `fps`, `depth_near`/`depth_far` (meters bij grijs 0 / 65535) en `depth_encoding`, `cell_width`/`cell_height`, `pitches`, `yaws`, `maps` (per maptype bestandsnaam, SHA-256, breedte, hoogte) en `clips` (bronindex, naam, token, `frame_count`, `duration` en per frame alle 60 hoeken als `{pitch, yaw, x, y, w, h}` in atlaspixels).- De bibliotheeklezer `atlas::AtlasSet` weigert onbekende velden of versies, bestandsnamen die niet de verwachte naam in dezelfde map zijn, symlinks, afwijkende atlasafmetingen of kleurtypes, celcoördinaten die niet op het raster liggen en SHA-256-fouten. `load()` decodeert de vier atlassen met dezelfde pixelregels als de losse maps; `cell()` knipt één hoek eruit. `atlas::cross_check_run` vergelijkt iedere atlascel met de losse PNG.- De bibliotheeklezer `atlas::AtlasSet` weigert onbekende velden of versies, bestandsnamen die niet de verwachte naam in dezelfde map zijn, symlinks, afwijkende atlasafmetingen of kleurtypes, celcoördinaten die niet op het raster liggen en SHA-256-fouten. `load()` decodeert de vier atlassen met dezelfde pixelregels als de losse maps; `cell()` knipt één hoek eruit. `atlas::cross_check_run` vergelijkt iedere atlascel met de losse PNG.### Hervatten### Hervatten@@ -0,0 +1,14 @@
Creative Commons Legal Code
CC0 1.0 Universal
The procedurally generated meshes, skeletons and animation clips in this
directory (test-body-male.glb and test-body-female.glb) are dedicated to the
public domain under CC0 1.0 Universal by their generator,
scripts/generate_test_bodies.py.
https://creativecommons.org/publicdomain/zero/1.0/legalcode
The person who generated these files waives all copyright and related rights
in them, to the extent allowed by law. They are synthetic test assets, not
finished characters, and they depict no real person.
@@ -0,0 +1,14 @@Creative Commons Legal CodeCC0 1.0 UniversalThe procedurally generated meshes, skeletons and animation clips in thisdirectory (test-body-male.glb and test-body-female.glb) are dedicated to thepublic domain under CC0 1.0 Universal by their generator,scripts/generate_test_bodies.py.https://creativecommons.org/publicdomain/zero/1.0/legalcodeThe person who generated these files waives all copyright and related rightsin them, to the extent allowed by law. They are synthetic test assets, notfinished characters, and they depict no real person.The contents of this binary file are not shown.
The contents of this binary file are not shown.
@@ -0,0 +1,28 @@
{
"format_version": 3,
"id": "ppd-18e5be694a41d971",
"name": "Nieuw project",
"male_model": "tests/fixtures/bodies/static/static-body-male.obj",
"female_model": "tests/fixtures/bodies/static/static-body-male.glb",
"equipment_presets": [
"presets/sword-e2b9f732-1031.ppe"
],
"output_directory": "renders",
"render": {
"target_width": 16,
"target_height": 24,
"fps": 2,
"framing": [
{
"height_milli": 2600,
"center_y_milli": 1000,
"pivot_y_milli": null
},
{
"height_milli": 2600,
"center_y_milli": 1000,
"pivot_y_milli": null
}
]
}
}
@@ -0,0 +1,28 @@{ "format_version": 3, "id": "ppd-18e5be694a41d971", "name": "Nieuw project", "male_model": "tests/fixtures/bodies/static/static-body-male.obj", "female_model": "tests/fixtures/bodies/static/static-body-male.glb", "equipment_presets": [ "presets/sword-e2b9f732-1031.ppe" ], "output_directory": "renders", "render": { "target_width": 16, "target_height": 24, "fps": 2, "framing": [ { "height_milli": 2600, "center_y_milli": 1000, "pivot_y_milli": null }, { "height_milli": 2600, "center_y_milli": 1000, "pivot_y_milli": null } ] }}@@ -388,6 +388,13 @@ Cause found: the 2D preview wrapped its clock on the source clip duration, while
- **Depth range:** the exported depth no longer uses the global near 0.05 / far 40, where a body filled only about 1.3% of the 16-bit range. Each sex gets a **fixed, narrow depth interval around the orbit pivot**, derived deterministically from its fixed framing: `near = camera_distance − R`, `far = camera_distance + R`, where R is a half-depth derived from the framing height (default R = framing height × 0.5, at least 0.5 m). For the default 2.6 m framing, that is roughly 8.7 m to 11.3 m. All clips, frames, views and the equipment of that sex share exactly the same interval, so depth compositing stays consistent. Geometry outside the interval is clamped and reported as a diagnostic, never silently rescaled per frame. The encoding stays `distance = near + (gray/65535)·(far−near)`. near/far per sex are stored in `render.json`, the export contract and the **`.ppda` metadata** (`depth_near`, `depth_far`, `depth_encoding`), so a renderer can convert depth back to distance. Exports that use the old global range are recognized as such through their contract and are not mixed with exports that use the new range.
- **Light hold buttons:** holding Azimut ± / Elevatie ± in the 2D previewer stops after about 1 second. The likely cause is egui's click-sense, which stops reporting a press as `is_pointer_button_down_on` once it lasts longer than a click. Fix: drive holds from the raw pointer state (primary button down, press started on the button, pointer still over the button), so a hold lasts as long as it is held. Release, losing focus or the pointer leaving the window still stop it. Add a test that a hold of several seconds keeps rotating.
## Implementation note 2026-11-07 (9f/9g)
- **Depth half-range R amended:** with pitch ±60, `R = height × 0.5` clamped about 14% of the covered pixels at pitch −60 on Tim's planar male rig (feet below the neck pivot come towards the camera). R is now `max(height × 0.5 + |pivot_y − center_y|, 0.5 m)`: the radius from the pivot to the farthest frame edge, still derived only from the fixed per-sex framing. Default framing with pivot = center keeps 8.7–11.3 m; with a 1.46 m neck pivot it is 8.24–11.76 m. On the planar rigs nothing clamps and covered depth spans roughly gray 28–222 of 255 (previously only a few gray tones).
- Clamping uses GL depth clamp (out-of-range geometry is kept at near/far, not clipped away); covered highres pixels on a plane are counted, shown as a progress warning and stored in `complete.json` `depth_clamped`.
- render.json schema 5 (`near`/`far` = `depth_near`/`depth_far`, `depth_encoding`); `.ppda` format_version 2 with top-level `depth_near`, `depth_far`, `depth_encoding` (identity.near/far kept equal). Readers recompute the range from the recorded framing and reject mismatches; schema 4 / `.ppda` v1 (global 0.05–40 m) are refused with a "re-render" message, so old and new ranges are never mixed. The compositor and 2D preview use the per-run near/far.
- Light hold buttons: held = primary down ∧ press origin on the button ∧ pointer over the button (`preview2d::raw_pointer_hold`); the egui test reproduces the old drop after ~0.8 s and passes a 3.5 s hold with the new logic.
## Decision 2026-11-07 (Tim t966u): "Render alles" button
A **Render alles** button renders the whole project in one batch: every configured body (male and female, when present) and then every configured equipment preset for each applicable sex. Each item gets its full production export (all clips × frames × all views, four maps, atlases + `.ppda`) at the project's target resolution and framerate. It is a queue of the existing per-item jobs, sharing the same progress/preview, cancel and resume behavior. Overall progress shows the item and pass counts. Items that cannot be rendered (no body, equipment without a binding for that sex, invalid setup) are skipped with a clear diagnostic per item, and the rest of the queue continues. Afterwards, a summary lists what was rendered, what was skipped and what failed.
@@ -388,6 +388,13 @@ Cause found: the 2D preview wrapped its clock on the source clip duration, while- **Depth range:** the exported depth no longer uses the global near 0.05 / far 40, where a body filled only about 1.3% of the 16-bit range. Each sex gets a **fixed, narrow depth interval around the orbit pivot**, derived deterministically from its fixed framing: `near = camera_distance − R`, `far = camera_distance + R`, where R is a half-depth derived from the framing height (default R = framing height × 0.5, at least 0.5 m). For the default 2.6 m framing, that is roughly 8.7 m to 11.3 m. All clips, frames, views and the equipment of that sex share exactly the same interval, so depth compositing stays consistent. Geometry outside the interval is clamped and reported as a diagnostic, never silently rescaled per frame. The encoding stays `distance = near + (gray/65535)·(far−near)`. near/far per sex are stored in `render.json`, the export contract and the **`.ppda` metadata** (`depth_near`, `depth_far`, `depth_encoding`), so a renderer can convert depth back to distance. Exports that use the old global range are recognized as such through their contract and are not mixed with exports that use the new range.- **Depth range:** the exported depth no longer uses the global near 0.05 / far 40, where a body filled only about 1.3% of the 16-bit range. Each sex gets a **fixed, narrow depth interval around the orbit pivot**, derived deterministically from its fixed framing: `near = camera_distance − R`, `far = camera_distance + R`, where R is a half-depth derived from the framing height (default R = framing height × 0.5, at least 0.5 m). For the default 2.6 m framing, that is roughly 8.7 m to 11.3 m. All clips, frames, views and the equipment of that sex share exactly the same interval, so depth compositing stays consistent. Geometry outside the interval is clamped and reported as a diagnostic, never silently rescaled per frame. The encoding stays `distance = near + (gray/65535)·(far−near)`. near/far per sex are stored in `render.json`, the export contract and the **`.ppda` metadata** (`depth_near`, `depth_far`, `depth_encoding`), so a renderer can convert depth back to distance. Exports that use the old global range are recognized as such through their contract and are not mixed with exports that use the new range.- **Light hold buttons:** holding Azimut ± / Elevatie ± in the 2D previewer stops after about 1 second. The likely cause is egui's click-sense, which stops reporting a press as `is_pointer_button_down_on` once it lasts longer than a click. Fix: drive holds from the raw pointer state (primary button down, press started on the button, pointer still over the button), so a hold lasts as long as it is held. Release, losing focus or the pointer leaving the window still stop it. Add a test that a hold of several seconds keeps rotating.- **Light hold buttons:** holding Azimut ± / Elevatie ± in the 2D previewer stops after about 1 second. The likely cause is egui's click-sense, which stops reporting a press as `is_pointer_button_down_on` once it lasts longer than a click. Fix: drive holds from the raw pointer state (primary button down, press started on the button, pointer still over the button), so a hold lasts as long as it is held. Release, losing focus or the pointer leaving the window still stop it. Add a test that a hold of several seconds keeps rotating.## Implementation note 2026-11-07 (9f/9g)- **Depth half-range R amended:** with pitch ±60, `R = height × 0.5` clamped about 14% of the covered pixels at pitch −60 on Tim's planar male rig (feet below the neck pivot come towards the camera). R is now `max(height × 0.5 + |pivot_y − center_y|, 0.5 m)`: the radius from the pivot to the farthest frame edge, still derived only from the fixed per-sex framing. Default framing with pivot = center keeps 8.7–11.3 m; with a 1.46 m neck pivot it is 8.24–11.76 m. On the planar rigs nothing clamps and covered depth spans roughly gray 28–222 of 255 (previously only a few gray tones).- Clamping uses GL depth clamp (out-of-range geometry is kept at near/far, not clipped away); covered highres pixels on a plane are counted, shown as a progress warning and stored in `complete.json` `depth_clamped`.- render.json schema 5 (`near`/`far` = `depth_near`/`depth_far`, `depth_encoding`); `.ppda` format_version 2 with top-level `depth_near`, `depth_far`, `depth_encoding` (identity.near/far kept equal). Readers recompute the range from the recorded framing and reject mismatches; schema 4 / `.ppda` v1 (global 0.05–40 m) are refused with a "re-render" message, so old and new ranges are never mixed. The compositor and 2D preview use the per-run near/far.- Light hold buttons: held = primary down ∧ press origin on the button ∧ pointer over the button (`preview2d::raw_pointer_hold`); the egui test reproduces the old drop after ~0.8 s and passes a 3.5 s hold with the new logic.## Decision 2026-11-07 (Tim t966u): "Render alles" button## Decision 2026-11-07 (Tim t966u): "Render alles" buttonA **Render alles** button renders the whole project in one batch: every configured body (male and female, when present) and then every configured equipment preset for each applicable sex. Each item gets its full production export (all clips × frames × all views, four maps, atlases + `.ppda`) at the project's target resolution and framerate. It is a queue of the existing per-item jobs, sharing the same progress/preview, cancel and resume behavior. Overall progress shows the item and pass counts. Items that cannot be rendered (no body, equipment without a binding for that sex, invalid setup) are skipped with a clear diagnostic per item, and the rest of the queue continues. Afterwards, a summary lists what was rendered, what was skipped and what failed.A **Render alles** button renders the whole project in one batch: every configured body (male and female, when present) and then every configured equipment preset for each applicable sex. Each item gets its full production export (all clips × frames × all views, four maps, atlases + `.ppda`) at the project's target resolution and framerate. It is a queue of the existing per-item jobs, sharing the same progress/preview, cancel and resume behavior. Overall progress shows the item and pass counts. Items that cannot be rendered (no body, equipment without a binding for that sex, invalid setup) are skipped with a clear diagnostic per item, and the rest of the queue continues. Afterwards, a summary lists what was rendered, what was skipped and what failed.The contents of this binary file are not shown.
@@ -0,0 +1,313 @@
{
"atlas": {
"maps": {
"depth": {
"file": "male-body-depth-atlas.png",
"sha256": "73c1e8e889385009600ba7d08774f7cd2d7963781578ec9f09e41f68be63d3e6"
},
"diffuse": {
"file": "male-body-diffuse-atlas.png",
"sha256": "a4856a59e885fa9cf595f30bd4efcb5aad8c1f29dbad1ea493910437109e1700"
},
"normal": {
"file": "male-body-normal-atlas.png",
"sha256": "c30328a6fc323e96df30b303a8dece4b95538d91797fc7bbfa94571f4d2baea9"
},
"specular": {
"file": "male-body-specular-atlas.png",
"sha256": "2af936f4d835da83d6447d42a212bef0adbd2a2624408ea3d4633f055752609f"
}
},
"ppda": "male-body-atlas.ppda",
"ppda_sha256": "88789525cb16eccaf64bea676f34cc5fc6503cf252678408054d86936bf3e704"
},
"depth_clamped": {
"highres_pixels": 0,
"note": "rendered this attempt; kept files from a resumed run are not re-counted",
"views": 0
},
"format_version": 5,
"identity": {
"body_model_sha256": "f4f05cb8764aec8a8ba9f47d81933e5e613f8457b424435258b3d87552a7339e",
"clips": [
{
"duration": 0.0,
"frames": 1,
"name": "",
"token": "clip000-bind"
}
],
"equipment_preset_sha256": null,
"far": 11.300000190734863,
"fps": 2,
"framing": {
"center_y_milli": 1000,
"height_milli": 2600,
"pivot_y_milli": 1000
},
"near": 8.699999809265137,
"pivot_source": {
"kind": "fallback",
"reason": "Statisch lichaam zonder skeleton: geen nekbot"
},
"project_id": "ppd-18e5be694a41d971",
"project_name": "Nieuw project",
"saved_maps": [
"diffuse",
"depth",
"normal",
"specular"
],
"set": "body",
"sex": "male",
"target": [
16,
24
]
},
"passes": 360,
"png_files": 240,
"png_sha256": {
"male/body/clip000-bind/f000000/p+00_y000_depth.png": "d0d147693b595ca69203875fa272c4da6e1b4f36dafd35abed09c423e698476b",
"male/body/clip000-bind/f000000/p+00_y000_diffuse.png": "c423f919204965bd134bcaf03c8972637b7680586b2f224447da0573ea473985",
"male/body/clip000-bind/f000000/p+00_y000_normal.png": "e94459bf831426f6a7f18e25a851736eebacb11a9b9ad055843a74f9c20ef1ff",
"male/body/clip000-bind/f000000/p+00_y000_specular.png": "603a9ef8a14a1707bb6c44356a08e766839b4331ba569acb238240ec09c83008",
"male/body/clip000-bind/f000000/p+00_y030_depth.png": "08f13444bf028cc0da4b39c286806e7df5a305f52bcd3f11403f5edcdbb098aa",
"male/body/clip000-bind/f000000/p+00_y030_diffuse.png": "c0debdf30ac6e0210235a62451a6774c4cae1c0c653ff360f1fad30d1e18a4bd",
"male/body/clip000-bind/f000000/p+00_y030_normal.png": "1bbed3e7a1f2719c67bde3971f3d89eb4c984d530981a7e705fe36943a5de095",
"male/body/clip000-bind/f000000/p+00_y030_specular.png": "d37be2ca979f881709a368d9920925f000a68dbc040d4c8aa5c65ea576a27d87",
"male/body/clip000-bind/f000000/p+00_y060_depth.png": "a5adadf1ca5515b5e04387d9eb04e1f80590cc4f563db806709bf34ab28f46c6",
"male/body/clip000-bind/f000000/p+00_y060_diffuse.png": "0191030593d19241782dec10b88892182f31c3ba7f27f7f1e3d85ec87bae2376",
"male/body/clip000-bind/f000000/p+00_y060_normal.png": "83b7d2035002d5e0fdcba8298007abb6de95ada35eec16809f8ac9a7aa2bdc68",
"male/body/clip000-bind/f000000/p+00_y060_specular.png": "dfd71b73f05c8f731d4e6de3ec7fab55a5b7b1589e8d73dee8f809764b040c94",
"male/body/clip000-bind/f000000/p+00_y090_depth.png": "3dfa6feaf34b8572aefe3d4b86e3d20d9e68d44b830375b0fc5a7ddf8fce5c56",
"male/body/clip000-bind/f000000/p+00_y090_diffuse.png": "ab028dec445caa2d45692522023100d16907b2d5a946dab49b5168b86a5ab926",
"male/body/clip000-bind/f000000/p+00_y090_normal.png": "bf4923fd6f687162e8a0f6077d821862ebae36bec64b3ae1c65fc76481759ccd",
"male/body/clip000-bind/f000000/p+00_y090_specular.png": "c5a1a711bd93b544371a2e565a74666d9be53e8be289ffcf574d2a99b3c8581c",
"male/body/clip000-bind/f000000/p+00_y120_depth.png": "b5824f4462903401040cc0108319f566437dd3ccd2a8ba8940914b85c3b17911",
"male/body/clip000-bind/f000000/p+00_y120_diffuse.png": "e7b52bd398a822959b27120cdac77a418a141b0be1af1c8cf8295891d63fad9c",
"male/body/clip000-bind/f000000/p+00_y120_normal.png": "87f0d296a1c2d8daadc039118a4b6a279f8803175de54e4a3a664d3afe177924",
"male/body/clip000-bind/f000000/p+00_y120_specular.png": "dfd71b73f05c8f731d4e6de3ec7fab55a5b7b1589e8d73dee8f809764b040c94",
"male/body/clip000-bind/f000000/p+00_y150_depth.png": "50cfa38a47da56a7a938fafd768bd1750fb5d076c6318281218bed6b0b567276",
"male/body/clip000-bind/f000000/p+00_y150_diffuse.png": "70926d465b87c09fd84f87e50316f0a8f4b059676031bafd22ea3395b95ece7a",
"male/body/clip000-bind/f000000/p+00_y150_normal.png": "d25647157dca638ee01073c347a49a807e494850cba78550d8345bda7e616d21",
"male/body/clip000-bind/f000000/p+00_y150_specular.png": "d37be2ca979f881709a368d9920925f000a68dbc040d4c8aa5c65ea576a27d87",
"male/body/clip000-bind/f000000/p+00_y180_depth.png": "30f22bf4e9fe6de168fb57f82d798066c0f08e07c40c65c402c8391beb100409",
"male/body/clip000-bind/f000000/p+00_y180_diffuse.png": "c423f919204965bd134bcaf03c8972637b7680586b2f224447da0573ea473985",
"male/body/clip000-bind/f000000/p+00_y180_normal.png": "9fe4065078878c069c87bf95ca0c945b679d2a3d330a79579cfdb2a57009e524",
"male/body/clip000-bind/f000000/p+00_y180_specular.png": "603a9ef8a14a1707bb6c44356a08e766839b4331ba569acb238240ec09c83008",
"male/body/clip000-bind/f000000/p+00_y210_depth.png": "c3697cf0d66e87746c96066c8bc791ddaf54f42c11810e995904479d3ef0ef33",
"male/body/clip000-bind/f000000/p+00_y210_diffuse.png": "bdea0ca0d09113f78ce6f8b02034a520117c52bd5e6a5e78724740fdfef421af",
"male/body/clip000-bind/f000000/p+00_y210_normal.png": "e47a96f0f5f997b88e2a142ad6a3c2f49e7cc73d9e3232d3e9ff262c102b87dd",
"male/body/clip000-bind/f000000/p+00_y210_specular.png": "0cc9f5fd8947655582f32f24b046f0abea2d210ffaa3a8e00d7f7ce4bdbe4f4f",
"male/body/clip000-bind/f000000/p+00_y240_depth.png": "1295345bbc5bf9b812a14c8eb9ba5ecfb6f134870b6985ce8369b4b5cdf3cef5",
"male/body/clip000-bind/f000000/p+00_y240_diffuse.png": "98b940a19e26a457b0bed469ba338cddd6be9acb0f722ca177919e214224fb2f",
"male/body/clip000-bind/f000000/p+00_y240_normal.png": "f0edb4d440b1b69fc0c4e5fccc9fc7d24d0675e64fd9b30bac551afdc3d914a2",
"male/body/clip000-bind/f000000/p+00_y240_specular.png": "12bb9c834900d1c65355faa90ccb097406cf85f483ebc56ae098dd69af5574fd",
"male/body/clip000-bind/f000000/p+00_y270_depth.png": "fae867f2adbfecf82325bc9d05bc2f52fa63c21411b1b80959eac1a12f95f0ba",
"male/body/clip000-bind/f000000/p+00_y270_diffuse.png": "c9f7c6c5f7bf487e7d178131571f4bff3164aa1db2dc4e99d8cbc44b0eebfc08",
"male/body/clip000-bind/f000000/p+00_y270_normal.png": "8cfaa080dcb42073ced360ff76cd7af9f874fa732b0185439f68d2cad967496a",
"male/body/clip000-bind/f000000/p+00_y270_specular.png": "ef516345cf4877b36f920d3f08831d861488eef83052cfb93377d4d2b3e5eb14",
"male/body/clip000-bind/f000000/p+00_y300_depth.png": "4e92778592ce85cec82be2ec3b53b2efb92e7aa70809276d304869c0b2312627",
"male/body/clip000-bind/f000000/p+00_y300_diffuse.png": "cf46951f8ea82b861141ebc2c92170aeedffe3efecad724b5d2637ce3597f78b",
"male/body/clip000-bind/f000000/p+00_y300_normal.png": "dd88fffa00f736bf2e7870416b540593ee1157cc9ed5c1b3494e7612a0c540b9",
"male/body/clip000-bind/f000000/p+00_y300_specular.png": "12bb9c834900d1c65355faa90ccb097406cf85f483ebc56ae098dd69af5574fd",
"male/body/clip000-bind/f000000/p+00_y330_depth.png": "267600816e03db623c8a92de901ff07293361379c1682f8cc8ef01620f075cf5",
"male/body/clip000-bind/f000000/p+00_y330_diffuse.png": "66496fdd34514b10c349af2e5f44726ab20dc035ce3a0c14798595b3a77d694b",
"male/body/clip000-bind/f000000/p+00_y330_normal.png": "4bf732e4001dae0ad732adab6e86b23e1d4c644e27a79f6b457c4be9ac259481",
"male/body/clip000-bind/f000000/p+00_y330_specular.png": "0cc9f5fd8947655582f32f24b046f0abea2d210ffaa3a8e00d7f7ce4bdbe4f4f",
"male/body/clip000-bind/f000000/p+30_y000_depth.png": "3c0c691168b29a0212aa4255c313b7ec682a1b9d8cc75b35df0297da8b3e1c4b",
"male/body/clip000-bind/f000000/p+30_y000_diffuse.png": "b6ce88868d57927e6e7ac6190c3d9172c5819eeeb7e95b7813a6095b9ce6353a",
"male/body/clip000-bind/f000000/p+30_y000_normal.png": "1a6b934da173d455cfc588bb6f1859ddb41604803080243a421d9874d15a0523",
"male/body/clip000-bind/f000000/p+30_y000_specular.png": "9673f9dafa397e95702509fa38fe971d8e54b8c3e87797777ef6464eccaccf2e",
"male/body/clip000-bind/f000000/p+30_y030_depth.png": "30a7f984329341872c5135bf3ad96f8718ed243b8f3274b0c81c9ba8b0c3a406",
"male/body/clip000-bind/f000000/p+30_y030_diffuse.png": "267088c19fddab61be13f5ecbb7619026a3fbd486584eeedf71e46fb81a6acdd",
"male/body/clip000-bind/f000000/p+30_y030_normal.png": "7ff4fe359807f82327d4c3eb2e2241e4e620e2ede2faf8b9428403c12eb8f365",
"male/body/clip000-bind/f000000/p+30_y030_specular.png": "4c5f8058f46af71285dc19d21cb85d338264d5c2adc3f6bd3737d5965d5e1a0c",
"male/body/clip000-bind/f000000/p+30_y060_depth.png": "28013e2c5072016215e8a15765abe0258a134f7a59ee09e65c24814b1116eb1c",
"male/body/clip000-bind/f000000/p+30_y060_diffuse.png": "42ae882a122a9adee586dcf0322bc8ce824c7185d12bcf9b51d2a2b63e0f9152",
"male/body/clip000-bind/f000000/p+30_y060_normal.png": "214f56be7469723537b5872886704b6f8a8fed2e2b6a668f7423ac79ceca5d78",
"male/body/clip000-bind/f000000/p+30_y060_specular.png": "bab1a3a87ddd015e649d9393ff99d6b22ca831176454802a4dd58eb463ea5e68",
"male/body/clip000-bind/f000000/p+30_y090_depth.png": "5f9237c8f2f1dd9503cfc1e7f8bb447558586ee68c922e9a4aafed6776b5a300",
"male/body/clip000-bind/f000000/p+30_y090_diffuse.png": "6b93cf6557b8e6301d8bede8e000d1368bb8f7055e1e00ef7a2140adea64fd05",
"male/body/clip000-bind/f000000/p+30_y090_normal.png": "1cc9f5ac55861be9bb6cc5b9299c3f0ca737c613df5f502f21fa9b922f8c9c2d",
"male/body/clip000-bind/f000000/p+30_y090_specular.png": "0d16fe69d09c07c334d6799a3609d3ca2288c08adedcc6f79cf94162d1592c34",
"male/body/clip000-bind/f000000/p+30_y120_depth.png": "ac94a5701cc7ad8220da59d5abe35ade2f88056645be844a1b0b52d08ff59f29",
"male/body/clip000-bind/f000000/p+30_y120_diffuse.png": "12b8a84c5f8a73dfbb6a13d94e89c49b954d77b2b9b2d68b1070a079516b0b42",
"male/body/clip000-bind/f000000/p+30_y120_normal.png": "fb64938dee7c981cc5388a01f3c213a2d2d4ca163ee3d37b36a6b8119ee3e929",
"male/body/clip000-bind/f000000/p+30_y120_specular.png": "8fa92ad0ff49c33004d182e1282f98c646304753014a39c4c23b45223b45b8a8",
"male/body/clip000-bind/f000000/p+30_y150_depth.png": "03d728d83872cb7deb55acb34d537472e7ae1df83eabc07e133329fda3f72be9",
"male/body/clip000-bind/f000000/p+30_y150_diffuse.png": "6a04aa6a8910f5fa31d25724444af17fe40ff69749550c3bebf16cd301377dd6",
"male/body/clip000-bind/f000000/p+30_y150_normal.png": "8f82a49318d222a618ca545443eb82b6ad4a03d8ddfd7dfc935caf5927329cc5",
"male/body/clip000-bind/f000000/p+30_y150_specular.png": "2d377867995fde1f7952587fe0b519c4bd4af7f23e42dbe2f59ff64c190622ed",
"male/body/clip000-bind/f000000/p+30_y180_depth.png": "9e4d08755f508ebda744caf46d94b2bc82e9f116408ab2a0b84841ec524bfa04",
"male/body/clip000-bind/f000000/p+30_y180_diffuse.png": "6240309a2c1cbef8057e7b36cad938be5b3332fd50a32ae133e8781b35549392",
"male/body/clip000-bind/f000000/p+30_y180_normal.png": "866eba267d0632b2e8aecdfb7ac24e6e9ee6ed48241ccf7bd77f1bad14a1d94e",
"male/body/clip000-bind/f000000/p+30_y180_specular.png": "324cc04a566333ed8c55d4ae258570cf146656158532b0335051af71458d640f",
"male/body/clip000-bind/f000000/p+30_y210_depth.png": "3e8d0e19ccbb57e4ef4a83ab4ffc01d2a8040e70862f5183944c1c831662a27b",
"male/body/clip000-bind/f000000/p+30_y210_diffuse.png": "9e906c3393dd4147f477ce29099c6d900fa62a6b11b6dc56a1d2bdede756ecef",
"male/body/clip000-bind/f000000/p+30_y210_normal.png": "1cf99f027f4833110ea2c5423a7aa7f06a85fe86e03ee65572329a6fb65c4a21",
"male/body/clip000-bind/f000000/p+30_y210_specular.png": "e5557ab6258fff357496721a8dcf64d975bee41c6b58e19004e8d99d7260cb04",
"male/body/clip000-bind/f000000/p+30_y240_depth.png": "be9397e6372c2a17fcf94f2dd33eb5d9cccf14d82e8e62d5c97e71e986c780cc",
"male/body/clip000-bind/f000000/p+30_y240_diffuse.png": "7c10a7cb1c1c03fec464499ed517ab052c1ced39f695f9ae415fd1a7f27e7230",
"male/body/clip000-bind/f000000/p+30_y240_normal.png": "a118c91fe423853a59a7f844020c7b5acbabc3a7152071e4ed8c4a19f392ecdb",
"male/body/clip000-bind/f000000/p+30_y240_specular.png": "41323efd35b41f3b7ad0def7bacb05dbad522ef9db77f69ff545ad5a41a67ef4",
"male/body/clip000-bind/f000000/p+30_y270_depth.png": "c06f29b55194a89a00ffa5a5a728ef8b2cc5deed08cb19d8d285c810e276368c",
"male/body/clip000-bind/f000000/p+30_y270_diffuse.png": "0a5f34568eb6dd1ad4ca5a3133958d06275c1e2f28c42aef17e9985ca145363e",
"male/body/clip000-bind/f000000/p+30_y270_normal.png": "62198e745c335fd3d351530b6b37148855c78b27295d79433bf60f8703345c6a",
"male/body/clip000-bind/f000000/p+30_y270_specular.png": "def640d3fcada94f8d0736aca7c9a5547193691f31fcd14e3199facf49c4c846",
"male/body/clip000-bind/f000000/p+30_y300_depth.png": "d9691024262f18406f7722c8c0c52c831c807fcf6b5fe5ac5b6c259f3f0dbc63",
"male/body/clip000-bind/f000000/p+30_y300_diffuse.png": "0396224d65e40650e89bb9e202035acf39bb1a74d3405e1a329febcce02536b7",
"male/body/clip000-bind/f000000/p+30_y300_normal.png": "144f29e6c9d7cadd70968e73a693b3aae4a773837b687c5f8f78adac94944c7e",
"male/body/clip000-bind/f000000/p+30_y300_specular.png": "2c5c9dfa335e54a37b71dc5dda0f0b3eb6eddeac2e6730f8dd260da3be4394bf",
"male/body/clip000-bind/f000000/p+30_y330_depth.png": "e39902bbf1c5f06bcf8436763aa7a737fb6f2e0afe0a4aa261f95d1630452b76",
"male/body/clip000-bind/f000000/p+30_y330_diffuse.png": "9726e504cb4c584c962da7ee09dd388df049a7e6171fe8942f9bc69957fc9ffc",
"male/body/clip000-bind/f000000/p+30_y330_normal.png": "6cec64448cb3129c67c197c47715480c070e1d59d178122d680f64c9fbd3e9dd",
"male/body/clip000-bind/f000000/p+30_y330_specular.png": "b4c65be93980e8774687af2f54be50777595dda0c8cc5df88153924164386400",
"male/body/clip000-bind/f000000/p+60_y000_depth.png": "c4c96e07593ebf8f43feab481bcbeb1ee0cce39048725bae329db7a0511a6ae7",
"male/body/clip000-bind/f000000/p+60_y000_diffuse.png": "660ace3a24ee8c7d4dea8ea27c60d602dafa18624b0994b2fe5ec59a31f79a28",
"male/body/clip000-bind/f000000/p+60_y000_normal.png": "1444c526fd274a68a19203f24578e13f97449a3b0d0169bcdc4b668b38446cae",
"male/body/clip000-bind/f000000/p+60_y000_specular.png": "c7fb38fe5d40857cf230fa561343b50bf810cd6dafc58f60e8c33464564529d5",
"male/body/clip000-bind/f000000/p+60_y030_depth.png": "f1b57a410f4a463da3c818b51d1e5c5832ab31d22fb0ce7d15066c9dbcadb48e",
"male/body/clip000-bind/f000000/p+60_y030_diffuse.png": "22f312be90fb8b58a59f116b7339280842c29483fa867063f3c720c9669dcaf0",
"male/body/clip000-bind/f000000/p+60_y030_normal.png": "8c702e8014b0ed0f2e6f14ad988ab314eeff51f6ef61e3a7badef7bddc101555",
"male/body/clip000-bind/f000000/p+60_y030_specular.png": "87a5090095182ab1fe8e4913d5900fd4009c8e794eaef38352e835be73deae90",
"male/body/clip000-bind/f000000/p+60_y060_depth.png": "52e25876e1353eac16008408698289b96a85a87f40899389e9b60fa364050a44",
"male/body/clip000-bind/f000000/p+60_y060_diffuse.png": "9e627cf8c37b3c33a733b3afaeae53d649fdf689623d7787bc160f31607f1783",
"male/body/clip000-bind/f000000/p+60_y060_normal.png": "9ffb387e01c429bddd7185eb110fa9686a03bd4e068cbf9395b8ea318b116125",
"male/body/clip000-bind/f000000/p+60_y060_specular.png": "5bc7f328c93f5cbdc91e278ed9fa29a66bf10b68924368d021f1d71145a00604",
"male/body/clip000-bind/f000000/p+60_y090_depth.png": "6cb452800635b6033975053b221673d9a2d1256ec9b911a87a3d69b71a9c120f",
"male/body/clip000-bind/f000000/p+60_y090_diffuse.png": "28625f40fdbee24eb6bca0e343e62ee02a23a5cc4a6213f182dc6aa6e21f2711",
"male/body/clip000-bind/f000000/p+60_y090_normal.png": "ca3b83f912ccf459542d7f15007f20c0baa34bfb81acbb54a6159aecea13c79c",
"male/body/clip000-bind/f000000/p+60_y090_specular.png": "7e5d53242af0feacc023ca241e3dfbce42b76bee82e5d24e018ad2accf4b53ae",
"male/body/clip000-bind/f000000/p+60_y120_depth.png": "6c2ecf6ba066a53d9618ed7bbcc4ae2efb41101aa7be1307e206976b367436cf",
"male/body/clip000-bind/f000000/p+60_y120_diffuse.png": "392dc463b8d1c3c2d9494d12caf19f8d2d9a8f7c71f7deae51d432b0110401bf",
"male/body/clip000-bind/f000000/p+60_y120_normal.png": "5fff4aeed846b05f2f26cd359c4e6e32efc8d8663ba92e4f77aa8f732380db95",
"male/body/clip000-bind/f000000/p+60_y120_specular.png": "387edd2bf133ceb8d156544743ce6c1b6b1967fd90c7e0435f9b391ebc5e9a15",
"male/body/clip000-bind/f000000/p+60_y150_depth.png": "f101ed8387e46176dc649b66a099f7cc4228f149259f2ae66a33e3124ccc8b0a",
"male/body/clip000-bind/f000000/p+60_y150_diffuse.png": "c599507f769d693a0cbc09f6f44c8d10da566d622a6b05f6594ff43c13f29e12",
"male/body/clip000-bind/f000000/p+60_y150_normal.png": "b95299d07bfd54aa6c19e0ef1c7863cbfc8d39fbbf645b7766500e9d8478f616",
"male/body/clip000-bind/f000000/p+60_y150_specular.png": "fd4f6dd0ec91ea31c00facb88a301d76fe6190ee31f5a9d818a67d81958b7375",
"male/body/clip000-bind/f000000/p+60_y180_depth.png": "eab0a63b6147df70c041ce63e4c2cf67fbfb2134804e55dd4633f40e200dd91b",
"male/body/clip000-bind/f000000/p+60_y180_diffuse.png": "6f2d016371935ab1f1a77bed2c7e0be71fef53fd73b4b68d24b0812a8677c617",
"male/body/clip000-bind/f000000/p+60_y180_normal.png": "7c3aaec3d3a48919cd2fefcd86d7aab8d486f1a31f081238c48924c9300fb3d6",
"male/body/clip000-bind/f000000/p+60_y180_specular.png": "fee033e18cb1ba1571049fc88043a99c7edcbbb16d5be73bb0094dcf391f19a3",
"male/body/clip000-bind/f000000/p+60_y210_depth.png": "a7c9c8fedc0c3a55c298efa6ea1355d0008417735d4d302181c520bc2f9ff5da",
"male/body/clip000-bind/f000000/p+60_y210_diffuse.png": "16cd0f3e2e04b85adcd146799b363e6dfa423a41805b302f47d5a8dba4f00021",
"male/body/clip000-bind/f000000/p+60_y210_normal.png": "90b705a2694c817312a8db054825634e08147e0999fc13b8a5ed6a76df0b39cc",
"male/body/clip000-bind/f000000/p+60_y210_specular.png": "31c34d2e368393bcbed604c6da0e5e0cfa17197ceef59ea6d60c64b482952a98",
"male/body/clip000-bind/f000000/p+60_y240_depth.png": "076654d58585d839f6ffa3acba4a6bf049b4474a99b1d490841c4b405ce09c7e",
"male/body/clip000-bind/f000000/p+60_y240_diffuse.png": "976bd4958ad9716361b11f67418c5fc41938c286aaa36448f18bd3bf7f6c3afb",
"male/body/clip000-bind/f000000/p+60_y240_normal.png": "44578198dea17749bac6d87c1e879420f5ae1010bb3241b405fa649d0b7e33f4",
"male/body/clip000-bind/f000000/p+60_y240_specular.png": "537b832ffc6aa1bbe21faa6670cc1caad41aab283eefcbc03debc7d47961a90b",
"male/body/clip000-bind/f000000/p+60_y270_depth.png": "3d35a269cb64b579eb2620c54f407d439ab7c2a0bf71518c08514084c5b3178c",
"male/body/clip000-bind/f000000/p+60_y270_diffuse.png": "22e2c045155a7b76f6b2fbb2a294baca83facf0b523516b37a1baf32c7a14830",
"male/body/clip000-bind/f000000/p+60_y270_normal.png": "dc160871e4940cb0667fe28a68b5160b1b4ce2087e1757887568e81e45ebd45c",
"male/body/clip000-bind/f000000/p+60_y270_specular.png": "8d4820d4c508b2d08e16221a01c4a42b057f5eff9bbc8bf889d860f6bf3566b3",
"male/body/clip000-bind/f000000/p+60_y300_depth.png": "4c1d660d43f0ea3ad2561517fbc639c69c2001e91ce36ed44089e3bc80884f05",
"male/body/clip000-bind/f000000/p+60_y300_diffuse.png": "67dbf1f01422b3f7897f9fc76fe0d9f8f45c4242db58393df4ee05b6d5f0bc21",
"male/body/clip000-bind/f000000/p+60_y300_normal.png": "a72432ddf15c088e86dde2955b88c24174ea3de43de611e62435d2913a0d34b6",
"male/body/clip000-bind/f000000/p+60_y300_specular.png": "f1fcc92887665ef411b19121ad7517f90b8dca5b4cfe8eb0a8979de0d23f3fbe",
"male/body/clip000-bind/f000000/p+60_y330_depth.png": "b33cb3274b8de53051c028b1c4564628c4a8685c8e4e9c77a2827580459613c2",
"male/body/clip000-bind/f000000/p+60_y330_diffuse.png": "94924592a6585d0f8f19dc917d197b28f6be2cf5199646c2cd5bae11415f8352",
"male/body/clip000-bind/f000000/p+60_y330_normal.png": "395dae6030daa9e837dbdb9f3f888fb642c9d5fbbbcaf4b45bb961fc9c730923",
"male/body/clip000-bind/f000000/p+60_y330_specular.png": "4672e0e1f2c26ac7450dcf2b4a10b00f15c42cbb04775e5d215adc242367ef00",
"male/body/clip000-bind/f000000/p-30_y000_depth.png": "3d1aad2678c32171ef0ef44da24fa3341352f4d7ea8e1b5256748aa645ad3e6c",
"male/body/clip000-bind/f000000/p-30_y000_diffuse.png": "f1524104b9daa3547fbb830c591eb8bc48ee1f94b0b62306e47767e13435cc3f",
"male/body/clip000-bind/f000000/p-30_y000_normal.png": "65ae5754e73e1167493d326d233ac93aff93d7942763a8e7837cb0f78a433286",
"male/body/clip000-bind/f000000/p-30_y000_specular.png": "324cc04a566333ed8c55d4ae258570cf146656158532b0335051af71458d640f",
"male/body/clip000-bind/f000000/p-30_y030_depth.png": "95af5bb67fa051102826daf62a8923ecba74688d558a5f7654886fcf8792ce38",
"male/body/clip000-bind/f000000/p-30_y030_diffuse.png": "a8e50d999e5e14fa969001747c51077973817a15999e74c6c7959ef58f75da56",
"male/body/clip000-bind/f000000/p-30_y030_normal.png": "d5b22ed41c625f0b2aa30cd85fbc0b49f31da4d08fe45c2a9cdad033db15b0b5",
"male/body/clip000-bind/f000000/p-30_y030_specular.png": "2d377867995fde1f7952587fe0b519c4bd4af7f23e42dbe2f59ff64c190622ed",
"male/body/clip000-bind/f000000/p-30_y060_depth.png": "8d409bd2357ba65114166840ceabfc625d926e579519f1e39e9e433d9a91ea99",
"male/body/clip000-bind/f000000/p-30_y060_diffuse.png": "b716325575f6785c780863f65aa07a4582c3b924bf94ca306102f8b2f38445ae",
"male/body/clip000-bind/f000000/p-30_y060_normal.png": "6e3e0cb5e0de839742e4cd8e1c770d05c0aeb65ddaec3fb8c02091bb2211f9a2",
"male/body/clip000-bind/f000000/p-30_y060_specular.png": "8fa92ad0ff49c33004d182e1282f98c646304753014a39c4c23b45223b45b8a8",
"male/body/clip000-bind/f000000/p-30_y090_depth.png": "2b16e54b8ba82e273a5e3d1987e2d76ebf1ee849d4fe91ffe19e7b897c15e9e7",
"male/body/clip000-bind/f000000/p-30_y090_diffuse.png": "2a7fb58f7bff4e1475f8d062c21ab75336dc869d1f8a397e77e7c4463d308567",
"male/body/clip000-bind/f000000/p-30_y090_normal.png": "3de47a941ff92d7ceca01134df4dc08cbdca09788f7f019f48faf9ab7e154140",
"male/body/clip000-bind/f000000/p-30_y090_specular.png": "0d16fe69d09c07c334d6799a3609d3ca2288c08adedcc6f79cf94162d1592c34",
"male/body/clip000-bind/f000000/p-30_y120_depth.png": "caa24a97bcf3f71fa2fe96b00e921bb2c7e368243269460162a989733765ca02",
"male/body/clip000-bind/f000000/p-30_y120_diffuse.png": "993a7417288717e355e06426be2fa6c02c8634bbd7eac19ba30a07b0c8ee6232",
"male/body/clip000-bind/f000000/p-30_y120_normal.png": "80c596d11f80385e12c570f0e057972d9d5a01fcc7d992b0096145a16bedd801",
"male/body/clip000-bind/f000000/p-30_y120_specular.png": "bab1a3a87ddd015e649d9393ff99d6b22ca831176454802a4dd58eb463ea5e68",
"male/body/clip000-bind/f000000/p-30_y150_depth.png": "6cc0428c0895cfc05b6ee7911fd943becebf1aaee5e5b5a2fcd39253b5faa2ff",
"male/body/clip000-bind/f000000/p-30_y150_diffuse.png": "755683c44b4541e38604df1ed3c0baa206e4530bef0d3dc5185cd8f3059966c7",
"male/body/clip000-bind/f000000/p-30_y150_normal.png": "3be8177399550b8ead0845ca2a5590ba4556fa680fef0367b5a9828ee0f646d4",
"male/body/clip000-bind/f000000/p-30_y150_specular.png": "4c5f8058f46af71285dc19d21cb85d338264d5c2adc3f6bd3737d5965d5e1a0c",
"male/body/clip000-bind/f000000/p-30_y180_depth.png": "0d7c6de43a0565915f5ce8d08e5dbfba483b1ab28a99fdfd124e6ae967ed78b8",
"male/body/clip000-bind/f000000/p-30_y180_diffuse.png": "9adfb52252e8d8198c95829d753de8467282483f29da0404a617c52f59138800",
"male/body/clip000-bind/f000000/p-30_y180_normal.png": "e0cba1c55aaedd2b8108280fb5ce5d6f35c18210938fa79e20c652310632d0bd",
"male/body/clip000-bind/f000000/p-30_y180_specular.png": "9673f9dafa397e95702509fa38fe971d8e54b8c3e87797777ef6464eccaccf2e",
"male/body/clip000-bind/f000000/p-30_y210_depth.png": "d9f010884ed721db8e8efec486432841b84638112fe2925d5d533df4dbde7488",
"male/body/clip000-bind/f000000/p-30_y210_diffuse.png": "583943addbd1a5aaa730c0742c5172503edbf00e77204d17e98f2a58b57471bd",
"male/body/clip000-bind/f000000/p-30_y210_normal.png": "98b8cfea4698846d3cbb6b48d34895fa0f6ba51e274b75299a8354edf296773d",
"male/body/clip000-bind/f000000/p-30_y210_specular.png": "b4c65be93980e8774687af2f54be50777595dda0c8cc5df88153924164386400",
"male/body/clip000-bind/f000000/p-30_y240_depth.png": "9633da136d3ae4b8138752fd12b9cda0d57e0b3429d99182b83cceb9a11bacac",
"male/body/clip000-bind/f000000/p-30_y240_diffuse.png": "e9aeba459501356314b4160bcbdbf4746853d002e8d45dde8a23f5ca43aafaa9",
"male/body/clip000-bind/f000000/p-30_y240_normal.png": "ed708ca9e7c716d6403c352d34c7f4bc4e7957796e067b38e20339f0634dc576",
"male/body/clip000-bind/f000000/p-30_y240_specular.png": "2c5c9dfa335e54a37b71dc5dda0f0b3eb6eddeac2e6730f8dd260da3be4394bf",
"male/body/clip000-bind/f000000/p-30_y270_depth.png": "d1277e9241794131524fbd344790ce57cac0fd7f9017f7f76221e5237cab6c43",
"male/body/clip000-bind/f000000/p-30_y270_diffuse.png": "9fe3c3b0acb77af8dc6b6bee7358cca7b526cf82a3627ca92d57d2471cce1b7d",
"male/body/clip000-bind/f000000/p-30_y270_normal.png": "2328b9635cb9c7100b04f2761efb9865d51a5d69b2c1e91d7b3d863c75dbe387",
"male/body/clip000-bind/f000000/p-30_y270_specular.png": "def640d3fcada94f8d0736aca7c9a5547193691f31fcd14e3199facf49c4c846",
"male/body/clip000-bind/f000000/p-30_y300_depth.png": "6b41f67d0ebb9e7e8946886abb5b3c0aca59d9ce66032f64813e321d493e4236",
"male/body/clip000-bind/f000000/p-30_y300_diffuse.png": "b2bbd94075c693a27789a8f4bc52de78b7aefe5d8bb410a5407deccde3cda6f4",
"male/body/clip000-bind/f000000/p-30_y300_normal.png": "c7d44a5497410d9c0b4cc1ea59c794bf9ac0bc1305e317d26a2d485f7d1c0e7d",
"male/body/clip000-bind/f000000/p-30_y300_specular.png": "41323efd35b41f3b7ad0def7bacb05dbad522ef9db77f69ff545ad5a41a67ef4",
"male/body/clip000-bind/f000000/p-30_y330_depth.png": "cad7ce15ad476bbf98bf2f140165afb328bf033ad61acf8b860bf507f318edd5",
"male/body/clip000-bind/f000000/p-30_y330_diffuse.png": "910ef6223ace6609218524d2e57d50e53162cc01f0d4ab03fb5dc51bee5d208b",
"male/body/clip000-bind/f000000/p-30_y330_normal.png": "b83adaebae364eb98db6360825b268b5a0a5aa8fa8f92e0fb6512e302c0e67e0",
"male/body/clip000-bind/f000000/p-30_y330_specular.png": "e5557ab6258fff357496721a8dcf64d975bee41c6b58e19004e8d99d7260cb04",
"male/body/clip000-bind/f000000/p-60_y000_depth.png": "6deae0247d9d1c9e9e24321c25656ef151686e79d72089e7fca864460a02b6ac",
"male/body/clip000-bind/f000000/p-60_y000_diffuse.png": "c0960cd0d8b424c8d1b8091dfebd2eceaae7b20e7812aaf6d61f100737c9505a",
"male/body/clip000-bind/f000000/p-60_y000_normal.png": "f698c219df80999041de100fb98e5f8e6fb6cfe7737a8a42556419d3f005a3ff",
"male/body/clip000-bind/f000000/p-60_y000_specular.png": "fee033e18cb1ba1571049fc88043a99c7edcbbb16d5be73bb0094dcf391f19a3",
"male/body/clip000-bind/f000000/p-60_y030_depth.png": "f6d65ebd10b15fe8881028c868fab48d44938164e2f917a5cbd53994266e7062",
"male/body/clip000-bind/f000000/p-60_y030_diffuse.png": "772dc81e7955e46c1c6450ec50484205439e4c406a4d442e225678dfc398c2e6",
"male/body/clip000-bind/f000000/p-60_y030_normal.png": "652a9db04e0f64cce0fa8df5103de7606b203d296298e5bf2547c52e44b8c1a9",
"male/body/clip000-bind/f000000/p-60_y030_specular.png": "fd4f6dd0ec91ea31c00facb88a301d76fe6190ee31f5a9d818a67d81958b7375",
"male/body/clip000-bind/f000000/p-60_y060_depth.png": "2a78b5ea8d50fc4bb6b5a6a3f3def5f37991738a4e06ba08d4daec3b5426bff8",
"male/body/clip000-bind/f000000/p-60_y060_diffuse.png": "843272ad6f61067bd0d45f364ebbacdb790ec29b8c97a8bf400fc9834268710d",
"male/body/clip000-bind/f000000/p-60_y060_normal.png": "b68a417cb56d7b00dbda41f315c870cf417f62695324972d7eddbfc2cc9b4d6d",
"male/body/clip000-bind/f000000/p-60_y060_specular.png": "387edd2bf133ceb8d156544743ce6c1b6b1967fd90c7e0435f9b391ebc5e9a15",
"male/body/clip000-bind/f000000/p-60_y090_depth.png": "0c81fcf417257fec9a266eec711e0b37d6ee684e3eeec9953a3fc2eb9319b7ec",
"male/body/clip000-bind/f000000/p-60_y090_diffuse.png": "cf0343b732cbae7831c1bbf6fbae8e8014fb893a3527ee1aee6fdd30bc4a0f81",
"male/body/clip000-bind/f000000/p-60_y090_normal.png": "3bef596b354aa50905afda697e8e61c1ec4d26b9369f342c28a9e4f05ac7bc8a",
"male/body/clip000-bind/f000000/p-60_y090_specular.png": "7e5d53242af0feacc023ca241e3dfbce42b76bee82e5d24e018ad2accf4b53ae",
"male/body/clip000-bind/f000000/p-60_y120_depth.png": "ca2de2787d20a46f4a7999008b86b863cfdadd835254aa09df3a5d7a0be527b9",
"male/body/clip000-bind/f000000/p-60_y120_diffuse.png": "0f40acf174ccc59355a6603f6563b01ce19880b7db0c074521edc63ad38f7137",
"male/body/clip000-bind/f000000/p-60_y120_normal.png": "db29607c180577806a0ab3bddc1518121f27478355c281c84a1d5b2186ffee22",
"male/body/clip000-bind/f000000/p-60_y120_specular.png": "5bc7f328c93f5cbdc91e278ed9fa29a66bf10b68924368d021f1d71145a00604",
"male/body/clip000-bind/f000000/p-60_y150_depth.png": "03925d28699600946a300694f94542641b410fdc5e373ccd236a70da8feb4439",
"male/body/clip000-bind/f000000/p-60_y150_diffuse.png": "49f119758e227dd92d4cabf21392b016bf68ecd2eb2ddf8b9f22fc45a33dc416",
"male/body/clip000-bind/f000000/p-60_y150_normal.png": "874485137026ae22fdae1bd82b319312b5e179738164482c2b429efebc46a983",
"male/body/clip000-bind/f000000/p-60_y150_specular.png": "87a5090095182ab1fe8e4913d5900fd4009c8e794eaef38352e835be73deae90",
"male/body/clip000-bind/f000000/p-60_y180_depth.png": "fbccdf2b0e57d0d17f11bf1d21f3727f24bf79ee12b5c07c78c2fc6bb360c1c7",
"male/body/clip000-bind/f000000/p-60_y180_diffuse.png": "43d20d0d7d7c686d831059914822fd7b6590ce7608dbdd4ec352bb3437eb68e1",
"male/body/clip000-bind/f000000/p-60_y180_normal.png": "1a5303ccf899782daac4b5adacece52d198f427a3e33fb1697e9e81b70cc7d8c",
"male/body/clip000-bind/f000000/p-60_y180_specular.png": "c7fb38fe5d40857cf230fa561343b50bf810cd6dafc58f60e8c33464564529d5",
"male/body/clip000-bind/f000000/p-60_y210_depth.png": "cf0cba505e57e8d44c2caecb196117be513ea4c8db62a2b3d93318ea0d7acb28",
"male/body/clip000-bind/f000000/p-60_y210_diffuse.png": "5d3cf1ed09acb216335c7f84ec78b1344d366131708031d278b383b18ae10569",
"male/body/clip000-bind/f000000/p-60_y210_normal.png": "4852d765e0cd40e02145ede4a5c7be82cc74971430ae676430804cf3eddcfb6b",
"male/body/clip000-bind/f000000/p-60_y210_specular.png": "4672e0e1f2c26ac7450dcf2b4a10b00f15c42cbb04775e5d215adc242367ef00",
"male/body/clip000-bind/f000000/p-60_y240_depth.png": "502b9fd8cac9b5dbbb04eea94989ef54282e7260b239c2a4b56239fb8f0c2ffb",
"male/body/clip000-bind/f000000/p-60_y240_diffuse.png": "9977b9e22cede0d2353225089819bfed488ec59ec98198350f28286b1afd730a",
"male/body/clip000-bind/f000000/p-60_y240_normal.png": "b88e7d6fbae330d5c613bb572bc390140e5c36d0483d268839ebd19133a4772e",
"male/body/clip000-bind/f000000/p-60_y240_specular.png": "f1fcc92887665ef411b19121ad7517f90b8dca5b4cfe8eb0a8979de0d23f3fbe",
"male/body/clip000-bind/f000000/p-60_y270_depth.png": "beaa1614c03cd1236af3fd4297c62a4f22d684d125404a5b8a63c7935bf9f274",
"male/body/clip000-bind/f000000/p-60_y270_diffuse.png": "ff05444ef4d273cd51b9a83187671cd449747abf41ce509127c880284e99bbbc",
"male/body/clip000-bind/f000000/p-60_y270_normal.png": "a7fbefd14abca1a800d1b5499307c2b01d6686aeeea4a576c439c687809c4a62",
"male/body/clip000-bind/f000000/p-60_y270_specular.png": "8d4820d4c508b2d08e16221a01c4a42b057f5eff9bbc8bf889d860f6bf3566b3",
"male/body/clip000-bind/f000000/p-60_y300_depth.png": "7c77c75a6cf832633da570d75e59e1b7b14ea53441512d30ed32ae532f826c88",
"male/body/clip000-bind/f000000/p-60_y300_diffuse.png": "ca737f4cf52d3fa5e48167d3d14fcf9c3ca1c8f045ff10b5cb197471263cb669",
"male/body/clip000-bind/f000000/p-60_y300_normal.png": "bdb5e1f38746ab8b927d4fdec614b3a4ea7159a65917c81d647b42d7de23ec31",
"male/body/clip000-bind/f000000/p-60_y300_specular.png": "537b832ffc6aa1bbe21faa6670cc1caad41aab283eefcbc03debc7d47961a90b",
"male/body/clip000-bind/f000000/p-60_y330_depth.png": "c4f5165acd35f2627235ebce92e6831b9e84105ece63a1091b6e2a8637657de1",
"male/body/clip000-bind/f000000/p-60_y330_diffuse.png": "e9287c1b75be66031d75a8d7f4c25855ced0e9b8eabef0ba70c1d1673952ad16",
"male/body/clip000-bind/f000000/p-60_y330_normal.png": "27af30dd5ba13f1f8016650fc7f7782611b7584f49bbca38ee833ca40c70b372",
"male/body/clip000-bind/f000000/p-60_y330_specular.png": "31c34d2e368393bcbed604c6da0e5e0cfa17197ceef59ea6d60c64b482952a98"
},
"status": "complete"
}
@@ -0,0 +1,313 @@{ "atlas": { "maps": { "depth": { "file": "male-body-depth-atlas.png", "sha256": "73c1e8e889385009600ba7d08774f7cd2d7963781578ec9f09e41f68be63d3e6" }, "diffuse": { "file": "male-body-diffuse-atlas.png", "sha256": "a4856a59e885fa9cf595f30bd4efcb5aad8c1f29dbad1ea493910437109e1700" }, "normal": { "file": "male-body-normal-atlas.png", "sha256": "c30328a6fc323e96df30b303a8dece4b95538d91797fc7bbfa94571f4d2baea9" }, "specular": { "file": "male-body-specular-atlas.png", "sha256": "2af936f4d835da83d6447d42a212bef0adbd2a2624408ea3d4633f055752609f" } }, "ppda": "male-body-atlas.ppda", "ppda_sha256": "88789525cb16eccaf64bea676f34cc5fc6503cf252678408054d86936bf3e704" }, "depth_clamped": { "highres_pixels": 0, "note": "rendered this attempt; kept files from a resumed run are not re-counted", "views": 0 }, "format_version": 5, "identity": { "body_model_sha256": "f4f05cb8764aec8a8ba9f47d81933e5e613f8457b424435258b3d87552a7339e", "clips": [ { "duration": 0.0, "frames": 1, "name": "", "token": "clip000-bind" } ], "equipment_preset_sha256": null, "far": 11.300000190734863, "fps": 2, "framing": { "center_y_milli": 1000, "height_milli": 2600, "pivot_y_milli": 1000 }, "near": 8.699999809265137, "pivot_source": { "kind": "fallback", "reason": "Statisch lichaam zonder skeleton: geen nekbot" }, "project_id": "ppd-18e5be694a41d971", "project_name": "Nieuw project", "saved_maps": [ "diffuse", "depth", "normal", "specular" ], "set": "body", "sex": "male", "target": [ 16, 24 ] }, "passes": 360, "png_files": 240, "png_sha256": { "male/body/clip000-bind/f000000/p+00_y000_depth.png": "d0d147693b595ca69203875fa272c4da6e1b4f36dafd35abed09c423e698476b", "male/body/clip000-bind/f000000/p+00_y000_diffuse.png": "c423f919204965bd134bcaf03c8972637b7680586b2f224447da0573ea473985", "male/body/clip000-bind/f000000/p+00_y000_normal.png": "e94459bf831426f6a7f18e25a851736eebacb11a9b9ad055843a74f9c20ef1ff", "male/body/clip000-bind/f000000/p+00_y000_specular.png": "603a9ef8a14a1707bb6c44356a08e766839b4331ba569acb238240ec09c83008", "male/body/clip000-bind/f000000/p+00_y030_depth.png": "08f13444bf028cc0da4b39c286806e7df5a305f52bcd3f11403f5edcdbb098aa", "male/body/clip000-bind/f000000/p+00_y030_diffuse.png": "c0debdf30ac6e0210235a62451a6774c4cae1c0c653ff360f1fad30d1e18a4bd", "male/body/clip000-bind/f000000/p+00_y030_normal.png": "1bbed3e7a1f2719c67bde3971f3d89eb4c984d530981a7e705fe36943a5de095", "male/body/clip000-bind/f000000/p+00_y030_specular.png": "d37be2ca979f881709a368d9920925f000a68dbc040d4c8aa5c65ea576a27d87", "male/body/clip000-bind/f000000/p+00_y060_depth.png": "a5adadf1ca5515b5e04387d9eb04e1f80590cc4f563db806709bf34ab28f46c6", "male/body/clip000-bind/f000000/p+00_y060_diffuse.png": "0191030593d19241782dec10b88892182f31c3ba7f27f7f1e3d85ec87bae2376", "male/body/clip000-bind/f000000/p+00_y060_normal.png": "83b7d2035002d5e0fdcba8298007abb6de95ada35eec16809f8ac9a7aa2bdc68", "male/body/clip000-bind/f000000/p+00_y060_specular.png": "dfd71b73f05c8f731d4e6de3ec7fab55a5b7b1589e8d73dee8f809764b040c94", "male/body/clip000-bind/f000000/p+00_y090_depth.png": "3dfa6feaf34b8572aefe3d4b86e3d20d9e68d44b830375b0fc5a7ddf8fce5c56", "male/body/clip000-bind/f000000/p+00_y090_diffuse.png": "ab028dec445caa2d45692522023100d16907b2d5a946dab49b5168b86a5ab926", "male/body/clip000-bind/f000000/p+00_y090_normal.png": "bf4923fd6f687162e8a0f6077d821862ebae36bec64b3ae1c65fc76481759ccd", "male/body/clip000-bind/f000000/p+00_y090_specular.png": "c5a1a711bd93b544371a2e565a74666d9be53e8be289ffcf574d2a99b3c8581c", "male/body/clip000-bind/f000000/p+00_y120_depth.png": "b5824f4462903401040cc0108319f566437dd3ccd2a8ba8940914b85c3b17911", "male/body/clip000-bind/f000000/p+00_y120_diffuse.png": "e7b52bd398a822959b27120cdac77a418a141b0be1af1c8cf8295891d63fad9c", "male/body/clip000-bind/f000000/p+00_y120_normal.png": "87f0d296a1c2d8daadc039118a4b6a279f8803175de54e4a3a664d3afe177924", "male/body/clip000-bind/f000000/p+00_y120_specular.png": "dfd71b73f05c8f731d4e6de3ec7fab55a5b7b1589e8d73dee8f809764b040c94", "male/body/clip000-bind/f000000/p+00_y150_depth.png": "50cfa38a47da56a7a938fafd768bd1750fb5d076c6318281218bed6b0b567276", "male/body/clip000-bind/f000000/p+00_y150_diffuse.png": "70926d465b87c09fd84f87e50316f0a8f4b059676031bafd22ea3395b95ece7a", "male/body/clip000-bind/f000000/p+00_y150_normal.png": "d25647157dca638ee01073c347a49a807e494850cba78550d8345bda7e616d21", "male/body/clip000-bind/f000000/p+00_y150_specular.png": "d37be2ca979f881709a368d9920925f000a68dbc040d4c8aa5c65ea576a27d87", "male/body/clip000-bind/f000000/p+00_y180_depth.png": "30f22bf4e9fe6de168fb57f82d798066c0f08e07c40c65c402c8391beb100409", "male/body/clip000-bind/f000000/p+00_y180_diffuse.png": "c423f919204965bd134bcaf03c8972637b7680586b2f224447da0573ea473985", "male/body/clip000-bind/f000000/p+00_y180_normal.png": "9fe4065078878c069c87bf95ca0c945b679d2a3d330a79579cfdb2a57009e524", "male/body/clip000-bind/f000000/p+00_y180_specular.png": "603a9ef8a14a1707bb6c44356a08e766839b4331ba569acb238240ec09c83008", "male/body/clip000-bind/f000000/p+00_y210_depth.png": "c3697cf0d66e87746c96066c8bc791ddaf54f42c11810e995904479d3ef0ef33", "male/body/clip000-bind/f000000/p+00_y210_diffuse.png": "bdea0ca0d09113f78ce6f8b02034a520117c52bd5e6a5e78724740fdfef421af", "male/body/clip000-bind/f000000/p+00_y210_normal.png": "e47a96f0f5f997b88e2a142ad6a3c2f49e7cc73d9e3232d3e9ff262c102b87dd", "male/body/clip000-bind/f000000/p+00_y210_specular.png": "0cc9f5fd8947655582f32f24b046f0abea2d210ffaa3a8e00d7f7ce4bdbe4f4f", "male/body/clip000-bind/f000000/p+00_y240_depth.png": "1295345bbc5bf9b812a14c8eb9ba5ecfb6f134870b6985ce8369b4b5cdf3cef5", "male/body/clip000-bind/f000000/p+00_y240_diffuse.png": "98b940a19e26a457b0bed469ba338cddd6be9acb0f722ca177919e214224fb2f", "male/body/clip000-bind/f000000/p+00_y240_normal.png": "f0edb4d440b1b69fc0c4e5fccc9fc7d24d0675e64fd9b30bac551afdc3d914a2", "male/body/clip000-bind/f000000/p+00_y240_specular.png": "12bb9c834900d1c65355faa90ccb097406cf85f483ebc56ae098dd69af5574fd", "male/body/clip000-bind/f000000/p+00_y270_depth.png": "fae867f2adbfecf82325bc9d05bc2f52fa63c21411b1b80959eac1a12f95f0ba", "male/body/clip000-bind/f000000/p+00_y270_diffuse.png": "c9f7c6c5f7bf487e7d178131571f4bff3164aa1db2dc4e99d8cbc44b0eebfc08", "male/body/clip000-bind/f000000/p+00_y270_normal.png": "8cfaa080dcb42073ced360ff76cd7af9f874fa732b0185439f68d2cad967496a", "male/body/clip000-bind/f000000/p+00_y270_specular.png": "ef516345cf4877b36f920d3f08831d861488eef83052cfb93377d4d2b3e5eb14", "male/body/clip000-bind/f000000/p+00_y300_depth.png": "4e92778592ce85cec82be2ec3b53b2efb92e7aa70809276d304869c0b2312627", "male/body/clip000-bind/f000000/p+00_y300_diffuse.png": "cf46951f8ea82b861141ebc2c92170aeedffe3efecad724b5d2637ce3597f78b", "male/body/clip000-bind/f000000/p+00_y300_normal.png": "dd88fffa00f736bf2e7870416b540593ee1157cc9ed5c1b3494e7612a0c540b9", "male/body/clip000-bind/f000000/p+00_y300_specular.png": "12bb9c834900d1c65355faa90ccb097406cf85f483ebc56ae098dd69af5574fd", "male/body/clip000-bind/f000000/p+00_y330_depth.png": "267600816e03db623c8a92de901ff07293361379c1682f8cc8ef01620f075cf5", "male/body/clip000-bind/f000000/p+00_y330_diffuse.png": "66496fdd34514b10c349af2e5f44726ab20dc035ce3a0c14798595b3a77d694b", "male/body/clip000-bind/f000000/p+00_y330_normal.png": "4bf732e4001dae0ad732adab6e86b23e1d4c644e27a79f6b457c4be9ac259481", "male/body/clip000-bind/f000000/p+00_y330_specular.png": "0cc9f5fd8947655582f32f24b046f0abea2d210ffaa3a8e00d7f7ce4bdbe4f4f", "male/body/clip000-bind/f000000/p+30_y000_depth.png": "3c0c691168b29a0212aa4255c313b7ec682a1b9d8cc75b35df0297da8b3e1c4b", "male/body/clip000-bind/f000000/p+30_y000_diffuse.png": "b6ce88868d57927e6e7ac6190c3d9172c5819eeeb7e95b7813a6095b9ce6353a", "male/body/clip000-bind/f000000/p+30_y000_normal.png": "1a6b934da173d455cfc588bb6f1859ddb41604803080243a421d9874d15a0523", "male/body/clip000-bind/f000000/p+30_y000_specular.png": "9673f9dafa397e95702509fa38fe971d8e54b8c3e87797777ef6464eccaccf2e", "male/body/clip000-bind/f000000/p+30_y030_depth.png": "30a7f984329341872c5135bf3ad96f8718ed243b8f3274b0c81c9ba8b0c3a406", "male/body/clip000-bind/f000000/p+30_y030_diffuse.png": "267088c19fddab61be13f5ecbb7619026a3fbd486584eeedf71e46fb81a6acdd", "male/body/clip000-bind/f000000/p+30_y030_normal.png": "7ff4fe359807f82327d4c3eb2e2241e4e620e2ede2faf8b9428403c12eb8f365", "male/body/clip000-bind/f000000/p+30_y030_specular.png": "4c5f8058f46af71285dc19d21cb85d338264d5c2adc3f6bd3737d5965d5e1a0c", "male/body/clip000-bind/f000000/p+30_y060_depth.png": "28013e2c5072016215e8a15765abe0258a134f7a59ee09e65c24814b1116eb1c", "male/body/clip000-bind/f000000/p+30_y060_diffuse.png": "42ae882a122a9adee586dcf0322bc8ce824c7185d12bcf9b51d2a2b63e0f9152", "male/body/clip000-bind/f000000/p+30_y060_normal.png": "214f56be7469723537b5872886704b6f8a8fed2e2b6a668f7423ac79ceca5d78", "male/body/clip000-bind/f000000/p+30_y060_specular.png": "bab1a3a87ddd015e649d9393ff99d6b22ca831176454802a4dd58eb463ea5e68", "male/body/clip000-bind/f000000/p+30_y090_depth.png": "5f9237c8f2f1dd9503cfc1e7f8bb447558586ee68c922e9a4aafed6776b5a300", "male/body/clip000-bind/f000000/p+30_y090_diffuse.png": "6b93cf6557b8e6301d8bede8e000d1368bb8f7055e1e00ef7a2140adea64fd05", "male/body/clip000-bind/f000000/p+30_y090_normal.png": "1cc9f5ac55861be9bb6cc5b9299c3f0ca737c613df5f502f21fa9b922f8c9c2d", "male/body/clip000-bind/f000000/p+30_y090_specular.png": "0d16fe69d09c07c334d6799a3609d3ca2288c08adedcc6f79cf94162d1592c34", "male/body/clip000-bind/f000000/p+30_y120_depth.png": "ac94a5701cc7ad8220da59d5abe35ade2f88056645be844a1b0b52d08ff59f29", "male/body/clip000-bind/f000000/p+30_y120_diffuse.png": "12b8a84c5f8a73dfbb6a13d94e89c49b954d77b2b9b2d68b1070a079516b0b42", "male/body/clip000-bind/f000000/p+30_y120_normal.png": "fb64938dee7c981cc5388a01f3c213a2d2d4ca163ee3d37b36a6b8119ee3e929", "male/body/clip000-bind/f000000/p+30_y120_specular.png": "8fa92ad0ff49c33004d182e1282f98c646304753014a39c4c23b45223b45b8a8", "male/body/clip000-bind/f000000/p+30_y150_depth.png": "03d728d83872cb7deb55acb34d537472e7ae1df83eabc07e133329fda3f72be9", "male/body/clip000-bind/f000000/p+30_y150_diffuse.png": "6a04aa6a8910f5fa31d25724444af17fe40ff69749550c3bebf16cd301377dd6", "male/body/clip000-bind/f000000/p+30_y150_normal.png": "8f82a49318d222a618ca545443eb82b6ad4a03d8ddfd7dfc935caf5927329cc5", "male/body/clip000-bind/f000000/p+30_y150_specular.png": "2d377867995fde1f7952587fe0b519c4bd4af7f23e42dbe2f59ff64c190622ed", "male/body/clip000-bind/f000000/p+30_y180_depth.png": "9e4d08755f508ebda744caf46d94b2bc82e9f116408ab2a0b84841ec524bfa04", "male/body/clip000-bind/f000000/p+30_y180_diffuse.png": "6240309a2c1cbef8057e7b36cad938be5b3332fd50a32ae133e8781b35549392", "male/body/clip000-bind/f000000/p+30_y180_normal.png": "866eba267d0632b2e8aecdfb7ac24e6e9ee6ed48241ccf7bd77f1bad14a1d94e", "male/body/clip000-bind/f000000/p+30_y180_specular.png": "324cc04a566333ed8c55d4ae258570cf146656158532b0335051af71458d640f", "male/body/clip000-bind/f000000/p+30_y210_depth.png": "3e8d0e19ccbb57e4ef4a83ab4ffc01d2a8040e70862f5183944c1c831662a27b", "male/body/clip000-bind/f000000/p+30_y210_diffuse.png": "9e906c3393dd4147f477ce29099c6d900fa62a6b11b6dc56a1d2bdede756ecef", "male/body/clip000-bind/f000000/p+30_y210_normal.png": "1cf99f027f4833110ea2c5423a7aa7f06a85fe86e03ee65572329a6fb65c4a21", "male/body/clip000-bind/f000000/p+30_y210_specular.png": "e5557ab6258fff357496721a8dcf64d975bee41c6b58e19004e8d99d7260cb04", "male/body/clip000-bind/f000000/p+30_y240_depth.png": "be9397e6372c2a17fcf94f2dd33eb5d9cccf14d82e8e62d5c97e71e986c780cc", "male/body/clip000-bind/f000000/p+30_y240_diffuse.png": "7c10a7cb1c1c03fec464499ed517ab052c1ced39f695f9ae415fd1a7f27e7230", "male/body/clip000-bind/f000000/p+30_y240_normal.png": "a118c91fe423853a59a7f844020c7b5acbabc3a7152071e4ed8c4a19f392ecdb", "male/body/clip000-bind/f000000/p+30_y240_specular.png": "41323efd35b41f3b7ad0def7bacb05dbad522ef9db77f69ff545ad5a41a67ef4", "male/body/clip000-bind/f000000/p+30_y270_depth.png": "c06f29b55194a89a00ffa5a5a728ef8b2cc5deed08cb19d8d285c810e276368c", "male/body/clip000-bind/f000000/p+30_y270_diffuse.png": "0a5f34568eb6dd1ad4ca5a3133958d06275c1e2f28c42aef17e9985ca145363e", "male/body/clip000-bind/f000000/p+30_y270_normal.png": "62198e745c335fd3d351530b6b37148855c78b27295d79433bf60f8703345c6a", "male/body/clip000-bind/f000000/p+30_y270_specular.png": "def640d3fcada94f8d0736aca7c9a5547193691f31fcd14e3199facf49c4c846", "male/body/clip000-bind/f000000/p+30_y300_depth.png": "d9691024262f18406f7722c8c0c52c831c807fcf6b5fe5ac5b6c259f3f0dbc63", "male/body/clip000-bind/f000000/p+30_y300_diffuse.png": "0396224d65e40650e89bb9e202035acf39bb1a74d3405e1a329febcce02536b7", "male/body/clip000-bind/f000000/p+30_y300_normal.png": "144f29e6c9d7cadd70968e73a693b3aae4a773837b687c5f8f78adac94944c7e", "male/body/clip000-bind/f000000/p+30_y300_specular.png": "2c5c9dfa335e54a37b71dc5dda0f0b3eb6eddeac2e6730f8dd260da3be4394bf", "male/body/clip000-bind/f000000/p+30_y330_depth.png": "e39902bbf1c5f06bcf8436763aa7a737fb6f2e0afe0a4aa261f95d1630452b76", "male/body/clip000-bind/f000000/p+30_y330_diffuse.png": "9726e504cb4c584c962da7ee09dd388df049a7e6171fe8942f9bc69957fc9ffc", "male/body/clip000-bind/f000000/p+30_y330_normal.png": "6cec64448cb3129c67c197c47715480c070e1d59d178122d680f64c9fbd3e9dd", "male/body/clip000-bind/f000000/p+30_y330_specular.png": "b4c65be93980e8774687af2f54be50777595dda0c8cc5df88153924164386400", "male/body/clip000-bind/f000000/p+60_y000_depth.png": "c4c96e07593ebf8f43feab481bcbeb1ee0cce39048725bae329db7a0511a6ae7", "male/body/clip000-bind/f000000/p+60_y000_diffuse.png": "660ace3a24ee8c7d4dea8ea27c60d602dafa18624b0994b2fe5ec59a31f79a28", "male/body/clip000-bind/f000000/p+60_y000_normal.png": "1444c526fd274a68a19203f24578e13f97449a3b0d0169bcdc4b668b38446cae", "male/body/clip000-bind/f000000/p+60_y000_specular.png": "c7fb38fe5d40857cf230fa561343b50bf810cd6dafc58f60e8c33464564529d5", "male/body/clip000-bind/f000000/p+60_y030_depth.png": "f1b57a410f4a463da3c818b51d1e5c5832ab31d22fb0ce7d15066c9dbcadb48e", "male/body/clip000-bind/f000000/p+60_y030_diffuse.png": "22f312be90fb8b58a59f116b7339280842c29483fa867063f3c720c9669dcaf0", "male/body/clip000-bind/f000000/p+60_y030_normal.png": "8c702e8014b0ed0f2e6f14ad988ab314eeff51f6ef61e3a7badef7bddc101555", "male/body/clip000-bind/f000000/p+60_y030_specular.png": "87a5090095182ab1fe8e4913d5900fd4009c8e794eaef38352e835be73deae90", "male/body/clip000-bind/f000000/p+60_y060_depth.png": "52e25876e1353eac16008408698289b96a85a87f40899389e9b60fa364050a44", "male/body/clip000-bind/f000000/p+60_y060_diffuse.png": "9e627cf8c37b3c33a733b3afaeae53d649fdf689623d7787bc160f31607f1783", "male/body/clip000-bind/f000000/p+60_y060_normal.png": "9ffb387e01c429bddd7185eb110fa9686a03bd4e068cbf9395b8ea318b116125", "male/body/clip000-bind/f000000/p+60_y060_specular.png": "5bc7f328c93f5cbdc91e278ed9fa29a66bf10b68924368d021f1d71145a00604", "male/body/clip000-bind/f000000/p+60_y090_depth.png": "6cb452800635b6033975053b221673d9a2d1256ec9b911a87a3d69b71a9c120f", "male/body/clip000-bind/f000000/p+60_y090_diffuse.png": "28625f40fdbee24eb6bca0e343e62ee02a23a5cc4a6213f182dc6aa6e21f2711", "male/body/clip000-bind/f000000/p+60_y090_normal.png": "ca3b83f912ccf459542d7f15007f20c0baa34bfb81acbb54a6159aecea13c79c", "male/body/clip000-bind/f000000/p+60_y090_specular.png": "7e5d53242af0feacc023ca241e3dfbce42b76bee82e5d24e018ad2accf4b53ae", "male/body/clip000-bind/f000000/p+60_y120_depth.png": "6c2ecf6ba066a53d9618ed7bbcc4ae2efb41101aa7be1307e206976b367436cf", "male/body/clip000-bind/f000000/p+60_y120_diffuse.png": "392dc463b8d1c3c2d9494d12caf19f8d2d9a8f7c71f7deae51d432b0110401bf", "male/body/clip000-bind/f000000/p+60_y120_normal.png": "5fff4aeed846b05f2f26cd359c4e6e32efc8d8663ba92e4f77aa8f732380db95", "male/body/clip000-bind/f000000/p+60_y120_specular.png": "387edd2bf133ceb8d156544743ce6c1b6b1967fd90c7e0435f9b391ebc5e9a15", "male/body/clip000-bind/f000000/p+60_y150_depth.png": "f101ed8387e46176dc649b66a099f7cc4228f149259f2ae66a33e3124ccc8b0a", "male/body/clip000-bind/f000000/p+60_y150_diffuse.png": "c599507f769d693a0cbc09f6f44c8d10da566d622a6b05f6594ff43c13f29e12", "male/body/clip000-bind/f000000/p+60_y150_normal.png": "b95299d07bfd54aa6c19e0ef1c7863cbfc8d39fbbf645b7766500e9d8478f616", "male/body/clip000-bind/f000000/p+60_y150_specular.png": "fd4f6dd0ec91ea31c00facb88a301d76fe6190ee31f5a9d818a67d81958b7375", "male/body/clip000-bind/f000000/p+60_y180_depth.png": "eab0a63b6147df70c041ce63e4c2cf67fbfb2134804e55dd4633f40e200dd91b", "male/body/clip000-bind/f000000/p+60_y180_diffuse.png": "6f2d016371935ab1f1a77bed2c7e0be71fef53fd73b4b68d24b0812a8677c617", "male/body/clip000-bind/f000000/p+60_y180_normal.png": "7c3aaec3d3a48919cd2fefcd86d7aab8d486f1a31f081238c48924c9300fb3d6", "male/body/clip000-bind/f000000/p+60_y180_specular.png": "fee033e18cb1ba1571049fc88043a99c7edcbbb16d5be73bb0094dcf391f19a3", "male/body/clip000-bind/f000000/p+60_y210_depth.png": "a7c9c8fedc0c3a55c298efa6ea1355d0008417735d4d302181c520bc2f9ff5da", "male/body/clip000-bind/f000000/p+60_y210_diffuse.png": "16cd0f3e2e04b85adcd146799b363e6dfa423a41805b302f47d5a8dba4f00021", "male/body/clip000-bind/f000000/p+60_y210_normal.png": "90b705a2694c817312a8db054825634e08147e0999fc13b8a5ed6a76df0b39cc", "male/body/clip000-bind/f000000/p+60_y210_specular.png": "31c34d2e368393bcbed604c6da0e5e0cfa17197ceef59ea6d60c64b482952a98", "male/body/clip000-bind/f000000/p+60_y240_depth.png": "076654d58585d839f6ffa3acba4a6bf049b4474a99b1d490841c4b405ce09c7e", "male/body/clip000-bind/f000000/p+60_y240_diffuse.png": "976bd4958ad9716361b11f67418c5fc41938c286aaa36448f18bd3bf7f6c3afb", "male/body/clip000-bind/f000000/p+60_y240_normal.png": "44578198dea17749bac6d87c1e879420f5ae1010bb3241b405fa649d0b7e33f4", "male/body/clip000-bind/f000000/p+60_y240_specular.png": "537b832ffc6aa1bbe21faa6670cc1caad41aab283eefcbc03debc7d47961a90b", "male/body/clip000-bind/f000000/p+60_y270_depth.png": "3d35a269cb64b579eb2620c54f407d439ab7c2a0bf71518c08514084c5b3178c", "male/body/clip000-bind/f000000/p+60_y270_diffuse.png": "22e2c045155a7b76f6b2fbb2a294baca83facf0b523516b37a1baf32c7a14830", "male/body/clip000-bind/f000000/p+60_y270_normal.png": "dc160871e4940cb0667fe28a68b5160b1b4ce2087e1757887568e81e45ebd45c", "male/body/clip000-bind/f000000/p+60_y270_specular.png": "8d4820d4c508b2d08e16221a01c4a42b057f5eff9bbc8bf889d860f6bf3566b3", "male/body/clip000-bind/f000000/p+60_y300_depth.png": "4c1d660d43f0ea3ad2561517fbc639c69c2001e91ce36ed44089e3bc80884f05", "male/body/clip000-bind/f000000/p+60_y300_diffuse.png": "67dbf1f01422b3f7897f9fc76fe0d9f8f45c4242db58393df4ee05b6d5f0bc21", "male/body/clip000-bind/f000000/p+60_y300_normal.png": "a72432ddf15c088e86dde2955b88c24174ea3de43de611e62435d2913a0d34b6", "male/body/clip000-bind/f000000/p+60_y300_specular.png": "f1fcc92887665ef411b19121ad7517f90b8dca5b4cfe8eb0a8979de0d23f3fbe", "male/body/clip000-bind/f000000/p+60_y330_depth.png": "b33cb3274b8de53051c028b1c4564628c4a8685c8e4e9c77a2827580459613c2", "male/body/clip000-bind/f000000/p+60_y330_diffuse.png": "94924592a6585d0f8f19dc917d197b28f6be2cf5199646c2cd5bae11415f8352", "male/body/clip000-bind/f000000/p+60_y330_normal.png": "395dae6030daa9e837dbdb9f3f888fb642c9d5fbbbcaf4b45bb961fc9c730923", "male/body/clip000-bind/f000000/p+60_y330_specular.png": "4672e0e1f2c26ac7450dcf2b4a10b00f15c42cbb04775e5d215adc242367ef00", "male/body/clip000-bind/f000000/p-30_y000_depth.png": "3d1aad2678c32171ef0ef44da24fa3341352f4d7ea8e1b5256748aa645ad3e6c", "male/body/clip000-bind/f000000/p-30_y000_diffuse.png": "f1524104b9daa3547fbb830c591eb8bc48ee1f94b0b62306e47767e13435cc3f", "male/body/clip000-bind/f000000/p-30_y000_normal.png": "65ae5754e73e1167493d326d233ac93aff93d7942763a8e7837cb0f78a433286", "male/body/clip000-bind/f000000/p-30_y000_specular.png": "324cc04a566333ed8c55d4ae258570cf146656158532b0335051af71458d640f", "male/body/clip000-bind/f000000/p-30_y030_depth.png": "95af5bb67fa051102826daf62a8923ecba74688d558a5f7654886fcf8792ce38", "male/body/clip000-bind/f000000/p-30_y030_diffuse.png": "a8e50d999e5e14fa969001747c51077973817a15999e74c6c7959ef58f75da56", "male/body/clip000-bind/f000000/p-30_y030_normal.png": "d5b22ed41c625f0b2aa30cd85fbc0b49f31da4d08fe45c2a9cdad033db15b0b5", "male/body/clip000-bind/f000000/p-30_y030_specular.png": "2d377867995fde1f7952587fe0b519c4bd4af7f23e42dbe2f59ff64c190622ed", "male/body/clip000-bind/f000000/p-30_y060_depth.png": "8d409bd2357ba65114166840ceabfc625d926e579519f1e39e9e433d9a91ea99", "male/body/clip000-bind/f000000/p-30_y060_diffuse.png": "b716325575f6785c780863f65aa07a4582c3b924bf94ca306102f8b2f38445ae", "male/body/clip000-bind/f000000/p-30_y060_normal.png": "6e3e0cb5e0de839742e4cd8e1c770d05c0aeb65ddaec3fb8c02091bb2211f9a2", "male/body/clip000-bind/f000000/p-30_y060_specular.png": "8fa92ad0ff49c33004d182e1282f98c646304753014a39c4c23b45223b45b8a8", "male/body/clip000-bind/f000000/p-30_y090_depth.png": "2b16e54b8ba82e273a5e3d1987e2d76ebf1ee849d4fe91ffe19e7b897c15e9e7", "male/body/clip000-bind/f000000/p-30_y090_diffuse.png": "2a7fb58f7bff4e1475f8d062c21ab75336dc869d1f8a397e77e7c4463d308567", "male/body/clip000-bind/f000000/p-30_y090_normal.png": "3de47a941ff92d7ceca01134df4dc08cbdca09788f7f019f48faf9ab7e154140", "male/body/clip000-bind/f000000/p-30_y090_specular.png": "0d16fe69d09c07c334d6799a3609d3ca2288c08adedcc6f79cf94162d1592c34", "male/body/clip000-bind/f000000/p-30_y120_depth.png": "caa24a97bcf3f71fa2fe96b00e921bb2c7e368243269460162a989733765ca02", "male/body/clip000-bind/f000000/p-30_y120_diffuse.png": "993a7417288717e355e06426be2fa6c02c8634bbd7eac19ba30a07b0c8ee6232", "male/body/clip000-bind/f000000/p-30_y120_normal.png": "80c596d11f80385e12c570f0e057972d9d5a01fcc7d992b0096145a16bedd801", "male/body/clip000-bind/f000000/p-30_y120_specular.png": "bab1a3a87ddd015e649d9393ff99d6b22ca831176454802a4dd58eb463ea5e68", "male/body/clip000-bind/f000000/p-30_y150_depth.png": "6cc0428c0895cfc05b6ee7911fd943becebf1aaee5e5b5a2fcd39253b5faa2ff", "male/body/clip000-bind/f000000/p-30_y150_diffuse.png": "755683c44b4541e38604df1ed3c0baa206e4530bef0d3dc5185cd8f3059966c7", "male/body/clip000-bind/f000000/p-30_y150_normal.png": "3be8177399550b8ead0845ca2a5590ba4556fa680fef0367b5a9828ee0f646d4", "male/body/clip000-bind/f000000/p-30_y150_specular.png": "4c5f8058f46af71285dc19d21cb85d338264d5c2adc3f6bd3737d5965d5e1a0c", "male/body/clip000-bind/f000000/p-30_y180_depth.png": "0d7c6de43a0565915f5ce8d08e5dbfba483b1ab28a99fdfd124e6ae967ed78b8", "male/body/clip000-bind/f000000/p-30_y180_diffuse.png": "9adfb52252e8d8198c95829d753de8467282483f29da0404a617c52f59138800", "male/body/clip000-bind/f000000/p-30_y180_normal.png": "e0cba1c55aaedd2b8108280fb5ce5d6f35c18210938fa79e20c652310632d0bd", "male/body/clip000-bind/f000000/p-30_y180_specular.png": "9673f9dafa397e95702509fa38fe971d8e54b8c3e87797777ef6464eccaccf2e", "male/body/clip000-bind/f000000/p-30_y210_depth.png": "d9f010884ed721db8e8efec486432841b84638112fe2925d5d533df4dbde7488", "male/body/clip000-bind/f000000/p-30_y210_diffuse.png": "583943addbd1a5aaa730c0742c5172503edbf00e77204d17e98f2a58b57471bd", "male/body/clip000-bind/f000000/p-30_y210_normal.png": "98b8cfea4698846d3cbb6b48d34895fa0f6ba51e274b75299a8354edf296773d", "male/body/clip000-bind/f000000/p-30_y210_specular.png": "b4c65be93980e8774687af2f54be50777595dda0c8cc5df88153924164386400", "male/body/clip000-bind/f000000/p-30_y240_depth.png": "9633da136d3ae4b8138752fd12b9cda0d57e0b3429d99182b83cceb9a11bacac", "male/body/clip000-bind/f000000/p-30_y240_diffuse.png": "e9aeba459501356314b4160bcbdbf4746853d002e8d45dde8a23f5ca43aafaa9", "male/body/clip000-bind/f000000/p-30_y240_normal.png": "ed708ca9e7c716d6403c352d34c7f4bc4e7957796e067b38e20339f0634dc576", "male/body/clip000-bind/f000000/p-30_y240_specular.png": "2c5c9dfa335e54a37b71dc5dda0f0b3eb6eddeac2e6730f8dd260da3be4394bf", "male/body/clip000-bind/f000000/p-30_y270_depth.png": "d1277e9241794131524fbd344790ce57cac0fd7f9017f7f76221e5237cab6c43", "male/body/clip000-bind/f000000/p-30_y270_diffuse.png": "9fe3c3b0acb77af8dc6b6bee7358cca7b526cf82a3627ca92d57d2471cce1b7d", "male/body/clip000-bind/f000000/p-30_y270_normal.png": "2328b9635cb9c7100b04f2761efb9865d51a5d69b2c1e91d7b3d863c75dbe387", "male/body/clip000-bind/f000000/p-30_y270_specular.png": "def640d3fcada94f8d0736aca7c9a5547193691f31fcd14e3199facf49c4c846", "male/body/clip000-bind/f000000/p-30_y300_depth.png": "6b41f67d0ebb9e7e8946886abb5b3c0aca59d9ce66032f64813e321d493e4236", "male/body/clip000-bind/f000000/p-30_y300_diffuse.png": "b2bbd94075c693a27789a8f4bc52de78b7aefe5d8bb410a5407deccde3cda6f4", "male/body/clip000-bind/f000000/p-30_y300_normal.png": "c7d44a5497410d9c0b4cc1ea59c794bf9ac0bc1305e317d26a2d485f7d1c0e7d", "male/body/clip000-bind/f000000/p-30_y300_specular.png": "41323efd35b41f3b7ad0def7bacb05dbad522ef9db77f69ff545ad5a41a67ef4", "male/body/clip000-bind/f000000/p-30_y330_depth.png": "cad7ce15ad476bbf98bf2f140165afb328bf033ad61acf8b860bf507f318edd5", "male/body/clip000-bind/f000000/p-30_y330_diffuse.png": "910ef6223ace6609218524d2e57d50e53162cc01f0d4ab03fb5dc51bee5d208b", "male/body/clip000-bind/f000000/p-30_y330_normal.png": "b83adaebae364eb98db6360825b268b5a0a5aa8fa8f92e0fb6512e302c0e67e0", "male/body/clip000-bind/f000000/p-30_y330_specular.png": "e5557ab6258fff357496721a8dcf64d975bee41c6b58e19004e8d99d7260cb04", "male/body/clip000-bind/f000000/p-60_y000_depth.png": "6deae0247d9d1c9e9e24321c25656ef151686e79d72089e7fca864460a02b6ac", "male/body/clip000-bind/f000000/p-60_y000_diffuse.png": "c0960cd0d8b424c8d1b8091dfebd2eceaae7b20e7812aaf6d61f100737c9505a", "male/body/clip000-bind/f000000/p-60_y000_normal.png": "f698c219df80999041de100fb98e5f8e6fb6cfe7737a8a42556419d3f005a3ff", "male/body/clip000-bind/f000000/p-60_y000_specular.png": "fee033e18cb1ba1571049fc88043a99c7edcbbb16d5be73bb0094dcf391f19a3", "male/body/clip000-bind/f000000/p-60_y030_depth.png": "f6d65ebd10b15fe8881028c868fab48d44938164e2f917a5cbd53994266e7062", "male/body/clip000-bind/f000000/p-60_y030_diffuse.png": "772dc81e7955e46c1c6450ec50484205439e4c406a4d442e225678dfc398c2e6", "male/body/clip000-bind/f000000/p-60_y030_normal.png": "652a9db04e0f64cce0fa8df5103de7606b203d296298e5bf2547c52e44b8c1a9", "male/body/clip000-bind/f000000/p-60_y030_specular.png": "fd4f6dd0ec91ea31c00facb88a301d76fe6190ee31f5a9d818a67d81958b7375", "male/body/clip000-bind/f000000/p-60_y060_depth.png": "2a78b5ea8d50fc4bb6b5a6a3f3def5f37991738a4e06ba08d4daec3b5426bff8", "male/body/clip000-bind/f000000/p-60_y060_diffuse.png": "843272ad6f61067bd0d45f364ebbacdb790ec29b8c97a8bf400fc9834268710d", "male/body/clip000-bind/f000000/p-60_y060_normal.png": "b68a417cb56d7b00dbda41f315c870cf417f62695324972d7eddbfc2cc9b4d6d", "male/body/clip000-bind/f000000/p-60_y060_specular.png": "387edd2bf133ceb8d156544743ce6c1b6b1967fd90c7e0435f9b391ebc5e9a15", "male/body/clip000-bind/f000000/p-60_y090_depth.png": "0c81fcf417257fec9a266eec711e0b37d6ee684e3eeec9953a3fc2eb9319b7ec", "male/body/clip000-bind/f000000/p-60_y090_diffuse.png": "cf0343b732cbae7831c1bbf6fbae8e8014fb893a3527ee1aee6fdd30bc4a0f81", "male/body/clip000-bind/f000000/p-60_y090_normal.png": "3bef596b354aa50905afda697e8e61c1ec4d26b9369f342c28a9e4f05ac7bc8a", "male/body/clip000-bind/f000000/p-60_y090_specular.png": "7e5d53242af0feacc023ca241e3dfbce42b76bee82e5d24e018ad2accf4b53ae", "male/body/clip000-bind/f000000/p-60_y120_depth.png": "ca2de2787d20a46f4a7999008b86b863cfdadd835254aa09df3a5d7a0be527b9", "male/body/clip000-bind/f000000/p-60_y120_diffuse.png": "0f40acf174ccc59355a6603f6563b01ce19880b7db0c074521edc63ad38f7137", "male/body/clip000-bind/f000000/p-60_y120_normal.png": "db29607c180577806a0ab3bddc1518121f27478355c281c84a1d5b2186ffee22", "male/body/clip000-bind/f000000/p-60_y120_specular.png": "5bc7f328c93f5cbdc91e278ed9fa29a66bf10b68924368d021f1d71145a00604", "male/body/clip000-bind/f000000/p-60_y150_depth.png": "03925d28699600946a300694f94542641b410fdc5e373ccd236a70da8feb4439", "male/body/clip000-bind/f000000/p-60_y150_diffuse.png": "49f119758e227dd92d4cabf21392b016bf68ecd2eb2ddf8b9f22fc45a33dc416", "male/body/clip000-bind/f000000/p-60_y150_normal.png": "874485137026ae22fdae1bd82b319312b5e179738164482c2b429efebc46a983", "male/body/clip000-bind/f000000/p-60_y150_specular.png": "87a5090095182ab1fe8e4913d5900fd4009c8e794eaef38352e835be73deae90", "male/body/clip000-bind/f000000/p-60_y180_depth.png": "fbccdf2b0e57d0d17f11bf1d21f3727f24bf79ee12b5c07c78c2fc6bb360c1c7", "male/body/clip000-bind/f000000/p-60_y180_diffuse.png": "43d20d0d7d7c686d831059914822fd7b6590ce7608dbdd4ec352bb3437eb68e1", "male/body/clip000-bind/f000000/p-60_y180_normal.png": "1a5303ccf899782daac4b5adacece52d198f427a3e33fb1697e9e81b70cc7d8c", "male/body/clip000-bind/f000000/p-60_y180_specular.png": "c7fb38fe5d40857cf230fa561343b50bf810cd6dafc58f60e8c33464564529d5", "male/body/clip000-bind/f000000/p-60_y210_depth.png": "cf0cba505e57e8d44c2caecb196117be513ea4c8db62a2b3d93318ea0d7acb28", "male/body/clip000-bind/f000000/p-60_y210_diffuse.png": "5d3cf1ed09acb216335c7f84ec78b1344d366131708031d278b383b18ae10569", "male/body/clip000-bind/f000000/p-60_y210_normal.png": "4852d765e0cd40e02145ede4a5c7be82cc74971430ae676430804cf3eddcfb6b", "male/body/clip000-bind/f000000/p-60_y210_specular.png": "4672e0e1f2c26ac7450dcf2b4a10b00f15c42cbb04775e5d215adc242367ef00", "male/body/clip000-bind/f000000/p-60_y240_depth.png": "502b9fd8cac9b5dbbb04eea94989ef54282e7260b239c2a4b56239fb8f0c2ffb", "male/body/clip000-bind/f000000/p-60_y240_diffuse.png": "9977b9e22cede0d2353225089819bfed488ec59ec98198350f28286b1afd730a", "male/body/clip000-bind/f000000/p-60_y240_normal.png": "b88e7d6fbae330d5c613bb572bc390140e5c36d0483d268839ebd19133a4772e", "male/body/clip000-bind/f000000/p-60_y240_specular.png": "f1fcc92887665ef411b19121ad7517f90b8dca5b4cfe8eb0a8979de0d23f3fbe", "male/body/clip000-bind/f000000/p-60_y270_depth.png": "beaa1614c03cd1236af3fd4297c62a4f22d684d125404a5b8a63c7935bf9f274", "male/body/clip000-bind/f000000/p-60_y270_diffuse.png": "ff05444ef4d273cd51b9a83187671cd449747abf41ce509127c880284e99bbbc", "male/body/clip000-bind/f000000/p-60_y270_normal.png": "a7fbefd14abca1a800d1b5499307c2b01d6686aeeea4a576c439c687809c4a62", "male/body/clip000-bind/f000000/p-60_y270_specular.png": "8d4820d4c508b2d08e16221a01c4a42b057f5eff9bbc8bf889d860f6bf3566b3", "male/body/clip000-bind/f000000/p-60_y300_depth.png": "7c77c75a6cf832633da570d75e59e1b7b14ea53441512d30ed32ae532f826c88", "male/body/clip000-bind/f000000/p-60_y300_diffuse.png": "ca737f4cf52d3fa5e48167d3d14fcf9c3ca1c8f045ff10b5cb197471263cb669", "male/body/clip000-bind/f000000/p-60_y300_normal.png": "bdb5e1f38746ab8b927d4fdec614b3a4ea7159a65917c81d647b42d7de23ec31", "male/body/clip000-bind/f000000/p-60_y300_specular.png": "537b832ffc6aa1bbe21faa6670cc1caad41aab283eefcbc03debc7d47961a90b", "male/body/clip000-bind/f000000/p-60_y330_depth.png": "c4f5165acd35f2627235ebce92e6831b9e84105ece63a1091b6e2a8637657de1", "male/body/clip000-bind/f000000/p-60_y330_diffuse.png": "e9287c1b75be66031d75a8d7f4c25855ced0e9b8eabef0ba70c1d1673952ad16", "male/body/clip000-bind/f000000/p-60_y330_normal.png": "27af30dd5ba13f1f8016650fc7f7782611b7584f49bbca38ee833ca40c70b372", "male/body/clip000-bind/f000000/p-60_y330_specular.png": "31c34d2e368393bcbed604c6da0e5e0cfa17197ceef59ea6d60c64b482952a98" }, "status": "complete"}@@ -0,0 +1,573 @@
{
"format_version": 2,
"sex": "male",
"settype": "body",
"project": {
"id": "ppd-18e5be694a41d971",
"name": "Nieuw project"
},
"identity": {
"body_model_sha256": "f4f05cb8764aec8a8ba9f47d81933e5e613f8457b424435258b3d87552a7339e",
"equipment_preset_sha256": null,
"framing": {
"height_milli": 2600,
"center_y_milli": 1000,
"pivot_y_milli": 1000
},
"pivot_source": "fallback",
"near": 8.7,
"far": 11.3,
"camera_distance": 10.0,
"normal_space": "view (+Y up), PNG rows top-down",
"depth": "16-bit gray+alpha; distance=near+(sample/65535)*(far-near); per-sex fixed range, out-of-range clamped"
},
"fps": 2,
"depth_near": 8.7,
"depth_far": 11.3,
"depth_encoding": "linear: distance = depth_near + (sample/65535)*(depth_far-depth_near); 16-bit gray+alpha; clamped to [near,far]",
"cell_width": 16,
"cell_height": 24,
"pitches": [
-60,
-30,
0,
30,
60
],
"yaws": [
0,
30,
60,
90,
120,
150,
180,
210,
240,
270,
300,
330
],
"maps": {
"depth": {
"file": "male-body-depth-atlas.png",
"sha256": "73c1e8e889385009600ba7d08774f7cd2d7963781578ec9f09e41f68be63d3e6",
"width": 960,
"height": 24
},
"diffuse": {
"file": "male-body-diffuse-atlas.png",
"sha256": "a4856a59e885fa9cf595f30bd4efcb5aad8c1f29dbad1ea493910437109e1700",
"width": 960,
"height": 24
},
"normal": {
"file": "male-body-normal-atlas.png",
"sha256": "c30328a6fc323e96df30b303a8dece4b95538d91797fc7bbfa94571f4d2baea9",
"width": 960,
"height": 24
},
"specular": {
"file": "male-body-specular-atlas.png",
"sha256": "2af936f4d835da83d6447d42a212bef0adbd2a2624408ea3d4633f055752609f",
"width": 960,
"height": 24
}
},
"clips": [
{
"source_index": 0,
"name": "",
"token": "clip000-bind",
"frame_count": 1,
"duration": 0.0,
"frames": [
{
"index": 0,
"views": [
{
"pitch": -60,
"yaw": 0,
"x": 0,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": -60,
"yaw": 30,
"x": 16,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": -60,
"yaw": 60,
"x": 32,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": -60,
"yaw": 90,
"x": 48,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": -60,
"yaw": 120,
"x": 64,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": -60,
"yaw": 150,
"x": 80,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": -60,
"yaw": 180,
"x": 96,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": -60,
"yaw": 210,
"x": 112,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": -60,
"yaw": 240,
"x": 128,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": -60,
"yaw": 270,
"x": 144,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": -60,
"yaw": 300,
"x": 160,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": -60,
"yaw": 330,
"x": 176,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": -30,
"yaw": 0,
"x": 192,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": -30,
"yaw": 30,
"x": 208,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": -30,
"yaw": 60,
"x": 224,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": -30,
"yaw": 90,
"x": 240,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": -30,
"yaw": 120,
"x": 256,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": -30,
"yaw": 150,
"x": 272,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": -30,
"yaw": 180,
"x": 288,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": -30,
"yaw": 210,
"x": 304,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": -30,
"yaw": 240,
"x": 320,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": -30,
"yaw": 270,
"x": 336,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": -30,
"yaw": 300,
"x": 352,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": -30,
"yaw": 330,
"x": 368,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": 0,
"yaw": 0,
"x": 384,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": 0,
"yaw": 30,
"x": 400,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": 0,
"yaw": 60,
"x": 416,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": 0,
"yaw": 90,
"x": 432,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": 0,
"yaw": 120,
"x": 448,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": 0,
"yaw": 150,
"x": 464,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": 0,
"yaw": 180,
"x": 480,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": 0,
"yaw": 210,
"x": 496,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": 0,
"yaw": 240,
"x": 512,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": 0,
"yaw": 270,
"x": 528,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": 0,
"yaw": 300,
"x": 544,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": 0,
"yaw": 330,
"x": 560,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": 30,
"yaw": 0,
"x": 576,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": 30,
"yaw": 30,
"x": 592,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": 30,
"yaw": 60,
"x": 608,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": 30,
"yaw": 90,
"x": 624,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": 30,
"yaw": 120,
"x": 640,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": 30,
"yaw": 150,
"x": 656,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": 30,
"yaw": 180,
"x": 672,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": 30,
"yaw": 210,
"x": 688,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": 30,
"yaw": 240,
"x": 704,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": 30,
"yaw": 270,
"x": 720,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": 30,
"yaw": 300,
"x": 736,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": 30,
"yaw": 330,
"x": 752,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": 60,
"yaw": 0,
"x": 768,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": 60,
"yaw": 30,
"x": 784,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": 60,
"yaw": 60,
"x": 800,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": 60,
"yaw": 90,
"x": 816,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": 60,
"yaw": 120,
"x": 832,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": 60,
"yaw": 150,
"x": 848,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": 60,
"yaw": 180,
"x": 864,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": 60,
"yaw": 210,
"x": 880,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": 60,
"yaw": 240,
"x": 896,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": 60,
"yaw": 270,
"x": 912,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": 60,
"yaw": 300,
"x": 928,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": 60,
"yaw": 330,
"x": 944,
"y": 0,
"w": 16,
"h": 24
}
]
}
]
}
]
}
@@ -0,0 +1,573 @@{ "format_version": 2, "sex": "male", "settype": "body", "project": { "id": "ppd-18e5be694a41d971", "name": "Nieuw project" }, "identity": { "body_model_sha256": "f4f05cb8764aec8a8ba9f47d81933e5e613f8457b424435258b3d87552a7339e", "equipment_preset_sha256": null, "framing": { "height_milli": 2600, "center_y_milli": 1000, "pivot_y_milli": 1000 }, "pivot_source": "fallback", "near": 8.7, "far": 11.3, "camera_distance": 10.0, "normal_space": "view (+Y up), PNG rows top-down", "depth": "16-bit gray+alpha; distance=near+(sample/65535)*(far-near); per-sex fixed range, out-of-range clamped" }, "fps": 2, "depth_near": 8.7, "depth_far": 11.3, "depth_encoding": "linear: distance = depth_near + (sample/65535)*(depth_far-depth_near); 16-bit gray+alpha; clamped to [near,far]", "cell_width": 16, "cell_height": 24, "pitches": [ -60, -30, 0, 30, 60 ], "yaws": [ 0, 30, 60, 90, 120, 150, 180, 210, 240, 270, 300, 330 ], "maps": { "depth": { "file": "male-body-depth-atlas.png", "sha256": "73c1e8e889385009600ba7d08774f7cd2d7963781578ec9f09e41f68be63d3e6", "width": 960, "height": 24 }, "diffuse": { "file": "male-body-diffuse-atlas.png", "sha256": "a4856a59e885fa9cf595f30bd4efcb5aad8c1f29dbad1ea493910437109e1700", "width": 960, "height": 24 }, "normal": { "file": "male-body-normal-atlas.png", "sha256": "c30328a6fc323e96df30b303a8dece4b95538d91797fc7bbfa94571f4d2baea9", "width": 960, "height": 24 }, "specular": { "file": "male-body-specular-atlas.png", "sha256": "2af936f4d835da83d6447d42a212bef0adbd2a2624408ea3d4633f055752609f", "width": 960, "height": 24 } }, "clips": [ { "source_index": 0, "name": "", "token": "clip000-bind", "frame_count": 1, "duration": 0.0, "frames": [ { "index": 0, "views": [ { "pitch": -60, "yaw": 0, "x": 0, "y": 0, "w": 16, "h": 24 }, { "pitch": -60, "yaw": 30, "x": 16, "y": 0, "w": 16, "h": 24 }, { "pitch": -60, "yaw": 60, "x": 32, "y": 0, "w": 16, "h": 24 }, { "pitch": -60, "yaw": 90, "x": 48, "y": 0, "w": 16, "h": 24 }, { "pitch": -60, "yaw": 120, "x": 64, "y": 0, "w": 16, "h": 24 }, { "pitch": -60, "yaw": 150, "x": 80, "y": 0, "w": 16, "h": 24 }, { "pitch": -60, "yaw": 180, "x": 96, "y": 0, "w": 16, "h": 24 }, { "pitch": -60, "yaw": 210, "x": 112, "y": 0, "w": 16, "h": 24 }, { "pitch": -60, "yaw": 240, "x": 128, "y": 0, "w": 16, "h": 24 }, { "pitch": -60, "yaw": 270, "x": 144, "y": 0, "w": 16, "h": 24 }, { "pitch": -60, "yaw": 300, "x": 160, "y": 0, "w": 16, "h": 24 }, { "pitch": -60, "yaw": 330, "x": 176, "y": 0, "w": 16, "h": 24 }, { "pitch": -30, "yaw": 0, "x": 192, "y": 0, "w": 16, "h": 24 }, { "pitch": -30, "yaw": 30, "x": 208, "y": 0, "w": 16, "h": 24 }, { "pitch": -30, "yaw": 60, "x": 224, "y": 0, "w": 16, "h": 24 }, { "pitch": -30, "yaw": 90, "x": 240, "y": 0, "w": 16, "h": 24 }, { "pitch": -30, "yaw": 120, "x": 256, "y": 0, "w": 16, "h": 24 }, { "pitch": -30, "yaw": 150, "x": 272, "y": 0, "w": 16, "h": 24 }, { "pitch": -30, "yaw": 180, "x": 288, "y": 0, "w": 16, "h": 24 }, { "pitch": -30, "yaw": 210, "x": 304, "y": 0, "w": 16, "h": 24 }, { "pitch": -30, "yaw": 240, "x": 320, "y": 0, "w": 16, "h": 24 }, { "pitch": -30, "yaw": 270, "x": 336, "y": 0, "w": 16, "h": 24 }, { "pitch": -30, "yaw": 300, "x": 352, "y": 0, "w": 16, "h": 24 }, { "pitch": -30, "yaw": 330, "x": 368, "y": 0, "w": 16, "h": 24 }, { "pitch": 0, "yaw": 0, "x": 384, "y": 0, "w": 16, "h": 24 }, { "pitch": 0, "yaw": 30, "x": 400, "y": 0, "w": 16, "h": 24 }, { "pitch": 0, "yaw": 60, "x": 416, "y": 0, "w": 16, "h": 24 }, { "pitch": 0, "yaw": 90, "x": 432, "y": 0, "w": 16, "h": 24 }, { "pitch": 0, "yaw": 120, "x": 448, "y": 0, "w": 16, "h": 24 }, { "pitch": 0, "yaw": 150, "x": 464, "y": 0, "w": 16, "h": 24 }, { "pitch": 0, "yaw": 180, "x": 480, "y": 0, "w": 16, "h": 24 }, { "pitch": 0, "yaw": 210, "x": 496, "y": 0, "w": 16, "h": 24 }, { "pitch": 0, "yaw": 240, "x": 512, "y": 0, "w": 16, "h": 24 }, { "pitch": 0, "yaw": 270, "x": 528, "y": 0, "w": 16, "h": 24 }, { "pitch": 0, "yaw": 300, "x": 544, "y": 0, "w": 16, "h": 24 }, { "pitch": 0, "yaw": 330, "x": 560, "y": 0, "w": 16, "h": 24 }, { "pitch": 30, "yaw": 0, "x": 576, "y": 0, "w": 16, "h": 24 }, { "pitch": 30, "yaw": 30, "x": 592, "y": 0, "w": 16, "h": 24 }, { "pitch": 30, "yaw": 60, "x": 608, "y": 0, "w": 16, "h": 24 }, { "pitch": 30, "yaw": 90, "x": 624, "y": 0, "w": 16, "h": 24 }, { "pitch": 30, "yaw": 120, "x": 640, "y": 0, "w": 16, "h": 24 }, { "pitch": 30, "yaw": 150, "x": 656, "y": 0, "w": 16, "h": 24 }, { "pitch": 30, "yaw": 180, "x": 672, "y": 0, "w": 16, "h": 24 }, { "pitch": 30, "yaw": 210, "x": 688, "y": 0, "w": 16, "h": 24 }, { "pitch": 30, "yaw": 240, "x": 704, "y": 0, "w": 16, "h": 24 }, { "pitch": 30, "yaw": 270, "x": 720, "y": 0, "w": 16, "h": 24 }, { "pitch": 30, "yaw": 300, "x": 736, "y": 0, "w": 16, "h": 24 }, { "pitch": 30, "yaw": 330, "x": 752, "y": 0, "w": 16, "h": 24 }, { "pitch": 60, "yaw": 0, "x": 768, "y": 0, "w": 16, "h": 24 }, { "pitch": 60, "yaw": 30, "x": 784, "y": 0, "w": 16, "h": 24 }, { "pitch": 60, "yaw": 60, "x": 800, "y": 0, "w": 16, "h": 24 }, { "pitch": 60, "yaw": 90, "x": 816, "y": 0, "w": 16, "h": 24 }, { "pitch": 60, "yaw": 120, "x": 832, "y": 0, "w": 16, "h": 24 }, { "pitch": 60, "yaw": 150, "x": 848, "y": 0, "w": 16, "h": 24 }, { "pitch": 60, "yaw": 180, "x": 864, "y": 0, "w": 16, "h": 24 }, { "pitch": 60, "yaw": 210, "x": 880, "y": 0, "w": 16, "h": 24 }, { "pitch": 60, "yaw": 240, "x": 896, "y": 0, "w": 16, "h": 24 }, { "pitch": 60, "yaw": 270, "x": 912, "y": 0, "w": 16, "h": 24 }, { "pitch": 60, "yaw": 300, "x": 928, "y": 0, "w": 16, "h": 24 }, { "pitch": 60, "yaw": 330, "x": 944, "y": 0, "w": 16, "h": 24 } ] } ] } ]}The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
@@ -0,0 +1,240 @@
{"path":"male/body/clip000-bind/f000000/p-60_y000_diffuse.png","sha256":"c0960cd0d8b424c8d1b8091dfebd2eceaae7b20e7812aaf6d61f100737c9505a"}
{"path":"male/body/clip000-bind/f000000/p-60_y000_depth.png","sha256":"6deae0247d9d1c9e9e24321c25656ef151686e79d72089e7fca864460a02b6ac"}
{"path":"male/body/clip000-bind/f000000/p-60_y000_normal.png","sha256":"f698c219df80999041de100fb98e5f8e6fb6cfe7737a8a42556419d3f005a3ff"}
{"path":"male/body/clip000-bind/f000000/p-60_y000_specular.png","sha256":"fee033e18cb1ba1571049fc88043a99c7edcbbb16d5be73bb0094dcf391f19a3"}
{"path":"male/body/clip000-bind/f000000/p-60_y030_diffuse.png","sha256":"772dc81e7955e46c1c6450ec50484205439e4c406a4d442e225678dfc398c2e6"}
{"path":"male/body/clip000-bind/f000000/p-60_y030_depth.png","sha256":"f6d65ebd10b15fe8881028c868fab48d44938164e2f917a5cbd53994266e7062"}
{"path":"male/body/clip000-bind/f000000/p-60_y030_normal.png","sha256":"652a9db04e0f64cce0fa8df5103de7606b203d296298e5bf2547c52e44b8c1a9"}
{"path":"male/body/clip000-bind/f000000/p-60_y030_specular.png","sha256":"fd4f6dd0ec91ea31c00facb88a301d76fe6190ee31f5a9d818a67d81958b7375"}
{"path":"male/body/clip000-bind/f000000/p-60_y060_diffuse.png","sha256":"843272ad6f61067bd0d45f364ebbacdb790ec29b8c97a8bf400fc9834268710d"}
{"path":"male/body/clip000-bind/f000000/p-60_y060_depth.png","sha256":"2a78b5ea8d50fc4bb6b5a6a3f3def5f37991738a4e06ba08d4daec3b5426bff8"}
{"path":"male/body/clip000-bind/f000000/p-60_y060_normal.png","sha256":"b68a417cb56d7b00dbda41f315c870cf417f62695324972d7eddbfc2cc9b4d6d"}
{"path":"male/body/clip000-bind/f000000/p-60_y060_specular.png","sha256":"387edd2bf133ceb8d156544743ce6c1b6b1967fd90c7e0435f9b391ebc5e9a15"}
{"path":"male/body/clip000-bind/f000000/p-60_y090_diffuse.png","sha256":"cf0343b732cbae7831c1bbf6fbae8e8014fb893a3527ee1aee6fdd30bc4a0f81"}
{"path":"male/body/clip000-bind/f000000/p-60_y090_depth.png","sha256":"0c81fcf417257fec9a266eec711e0b37d6ee684e3eeec9953a3fc2eb9319b7ec"}
{"path":"male/body/clip000-bind/f000000/p-60_y090_normal.png","sha256":"3bef596b354aa50905afda697e8e61c1ec4d26b9369f342c28a9e4f05ac7bc8a"}
{"path":"male/body/clip000-bind/f000000/p-60_y090_specular.png","sha256":"7e5d53242af0feacc023ca241e3dfbce42b76bee82e5d24e018ad2accf4b53ae"}
{"path":"male/body/clip000-bind/f000000/p-60_y120_diffuse.png","sha256":"0f40acf174ccc59355a6603f6563b01ce19880b7db0c074521edc63ad38f7137"}
{"path":"male/body/clip000-bind/f000000/p-60_y120_depth.png","sha256":"ca2de2787d20a46f4a7999008b86b863cfdadd835254aa09df3a5d7a0be527b9"}
{"path":"male/body/clip000-bind/f000000/p-60_y120_normal.png","sha256":"db29607c180577806a0ab3bddc1518121f27478355c281c84a1d5b2186ffee22"}
{"path":"male/body/clip000-bind/f000000/p-60_y120_specular.png","sha256":"5bc7f328c93f5cbdc91e278ed9fa29a66bf10b68924368d021f1d71145a00604"}
{"path":"male/body/clip000-bind/f000000/p-60_y150_diffuse.png","sha256":"49f119758e227dd92d4cabf21392b016bf68ecd2eb2ddf8b9f22fc45a33dc416"}
{"path":"male/body/clip000-bind/f000000/p-60_y150_depth.png","sha256":"03925d28699600946a300694f94542641b410fdc5e373ccd236a70da8feb4439"}
{"path":"male/body/clip000-bind/f000000/p-60_y150_normal.png","sha256":"874485137026ae22fdae1bd82b319312b5e179738164482c2b429efebc46a983"}
{"path":"male/body/clip000-bind/f000000/p-60_y150_specular.png","sha256":"87a5090095182ab1fe8e4913d5900fd4009c8e794eaef38352e835be73deae90"}
{"path":"male/body/clip000-bind/f000000/p-60_y180_diffuse.png","sha256":"43d20d0d7d7c686d831059914822fd7b6590ce7608dbdd4ec352bb3437eb68e1"}
{"path":"male/body/clip000-bind/f000000/p-60_y180_depth.png","sha256":"fbccdf2b0e57d0d17f11bf1d21f3727f24bf79ee12b5c07c78c2fc6bb360c1c7"}
{"path":"male/body/clip000-bind/f000000/p-60_y180_normal.png","sha256":"1a5303ccf899782daac4b5adacece52d198f427a3e33fb1697e9e81b70cc7d8c"}
{"path":"male/body/clip000-bind/f000000/p-60_y180_specular.png","sha256":"c7fb38fe5d40857cf230fa561343b50bf810cd6dafc58f60e8c33464564529d5"}
{"path":"male/body/clip000-bind/f000000/p-60_y210_diffuse.png","sha256":"5d3cf1ed09acb216335c7f84ec78b1344d366131708031d278b383b18ae10569"}
{"path":"male/body/clip000-bind/f000000/p-60_y210_depth.png","sha256":"cf0cba505e57e8d44c2caecb196117be513ea4c8db62a2b3d93318ea0d7acb28"}
{"path":"male/body/clip000-bind/f000000/p-60_y210_normal.png","sha256":"4852d765e0cd40e02145ede4a5c7be82cc74971430ae676430804cf3eddcfb6b"}
{"path":"male/body/clip000-bind/f000000/p-60_y210_specular.png","sha256":"4672e0e1f2c26ac7450dcf2b4a10b00f15c42cbb04775e5d215adc242367ef00"}
{"path":"male/body/clip000-bind/f000000/p-60_y240_diffuse.png","sha256":"9977b9e22cede0d2353225089819bfed488ec59ec98198350f28286b1afd730a"}
{"path":"male/body/clip000-bind/f000000/p-60_y240_depth.png","sha256":"502b9fd8cac9b5dbbb04eea94989ef54282e7260b239c2a4b56239fb8f0c2ffb"}
{"path":"male/body/clip000-bind/f000000/p-60_y240_normal.png","sha256":"b88e7d6fbae330d5c613bb572bc390140e5c36d0483d268839ebd19133a4772e"}
{"path":"male/body/clip000-bind/f000000/p-60_y240_specular.png","sha256":"f1fcc92887665ef411b19121ad7517f90b8dca5b4cfe8eb0a8979de0d23f3fbe"}
{"path":"male/body/clip000-bind/f000000/p-60_y270_diffuse.png","sha256":"ff05444ef4d273cd51b9a83187671cd449747abf41ce509127c880284e99bbbc"}
{"path":"male/body/clip000-bind/f000000/p-60_y270_depth.png","sha256":"beaa1614c03cd1236af3fd4297c62a4f22d684d125404a5b8a63c7935bf9f274"}
{"path":"male/body/clip000-bind/f000000/p-60_y270_normal.png","sha256":"a7fbefd14abca1a800d1b5499307c2b01d6686aeeea4a576c439c687809c4a62"}
{"path":"male/body/clip000-bind/f000000/p-60_y270_specular.png","sha256":"8d4820d4c508b2d08e16221a01c4a42b057f5eff9bbc8bf889d860f6bf3566b3"}
{"path":"male/body/clip000-bind/f000000/p-60_y300_diffuse.png","sha256":"ca737f4cf52d3fa5e48167d3d14fcf9c3ca1c8f045ff10b5cb197471263cb669"}
{"path":"male/body/clip000-bind/f000000/p-60_y300_depth.png","sha256":"7c77c75a6cf832633da570d75e59e1b7b14ea53441512d30ed32ae532f826c88"}
{"path":"male/body/clip000-bind/f000000/p-60_y300_normal.png","sha256":"bdb5e1f38746ab8b927d4fdec614b3a4ea7159a65917c81d647b42d7de23ec31"}
{"path":"male/body/clip000-bind/f000000/p-60_y300_specular.png","sha256":"537b832ffc6aa1bbe21faa6670cc1caad41aab283eefcbc03debc7d47961a90b"}
{"path":"male/body/clip000-bind/f000000/p-60_y330_diffuse.png","sha256":"e9287c1b75be66031d75a8d7f4c25855ced0e9b8eabef0ba70c1d1673952ad16"}
{"path":"male/body/clip000-bind/f000000/p-60_y330_depth.png","sha256":"c4f5165acd35f2627235ebce92e6831b9e84105ece63a1091b6e2a8637657de1"}
{"path":"male/body/clip000-bind/f000000/p-60_y330_normal.png","sha256":"27af30dd5ba13f1f8016650fc7f7782611b7584f49bbca38ee833ca40c70b372"}
{"path":"male/body/clip000-bind/f000000/p-60_y330_specular.png","sha256":"31c34d2e368393bcbed604c6da0e5e0cfa17197ceef59ea6d60c64b482952a98"}
{"path":"male/body/clip000-bind/f000000/p-30_y000_diffuse.png","sha256":"f1524104b9daa3547fbb830c591eb8bc48ee1f94b0b62306e47767e13435cc3f"}
{"path":"male/body/clip000-bind/f000000/p-30_y000_depth.png","sha256":"3d1aad2678c32171ef0ef44da24fa3341352f4d7ea8e1b5256748aa645ad3e6c"}
{"path":"male/body/clip000-bind/f000000/p-30_y000_normal.png","sha256":"65ae5754e73e1167493d326d233ac93aff93d7942763a8e7837cb0f78a433286"}
{"path":"male/body/clip000-bind/f000000/p-30_y000_specular.png","sha256":"324cc04a566333ed8c55d4ae258570cf146656158532b0335051af71458d640f"}
{"path":"male/body/clip000-bind/f000000/p-30_y030_diffuse.png","sha256":"a8e50d999e5e14fa969001747c51077973817a15999e74c6c7959ef58f75da56"}
{"path":"male/body/clip000-bind/f000000/p-30_y030_depth.png","sha256":"95af5bb67fa051102826daf62a8923ecba74688d558a5f7654886fcf8792ce38"}
{"path":"male/body/clip000-bind/f000000/p-30_y030_normal.png","sha256":"d5b22ed41c625f0b2aa30cd85fbc0b49f31da4d08fe45c2a9cdad033db15b0b5"}
{"path":"male/body/clip000-bind/f000000/p-30_y030_specular.png","sha256":"2d377867995fde1f7952587fe0b519c4bd4af7f23e42dbe2f59ff64c190622ed"}
{"path":"male/body/clip000-bind/f000000/p-30_y060_diffuse.png","sha256":"b716325575f6785c780863f65aa07a4582c3b924bf94ca306102f8b2f38445ae"}
{"path":"male/body/clip000-bind/f000000/p-30_y060_depth.png","sha256":"8d409bd2357ba65114166840ceabfc625d926e579519f1e39e9e433d9a91ea99"}
{"path":"male/body/clip000-bind/f000000/p-30_y060_normal.png","sha256":"6e3e0cb5e0de839742e4cd8e1c770d05c0aeb65ddaec3fb8c02091bb2211f9a2"}
{"path":"male/body/clip000-bind/f000000/p-30_y060_specular.png","sha256":"8fa92ad0ff49c33004d182e1282f98c646304753014a39c4c23b45223b45b8a8"}
{"path":"male/body/clip000-bind/f000000/p-30_y090_diffuse.png","sha256":"2a7fb58f7bff4e1475f8d062c21ab75336dc869d1f8a397e77e7c4463d308567"}
{"path":"male/body/clip000-bind/f000000/p-30_y090_depth.png","sha256":"2b16e54b8ba82e273a5e3d1987e2d76ebf1ee849d4fe91ffe19e7b897c15e9e7"}
{"path":"male/body/clip000-bind/f000000/p-30_y090_normal.png","sha256":"3de47a941ff92d7ceca01134df4dc08cbdca09788f7f019f48faf9ab7e154140"}
{"path":"male/body/clip000-bind/f000000/p-30_y090_specular.png","sha256":"0d16fe69d09c07c334d6799a3609d3ca2288c08adedcc6f79cf94162d1592c34"}
{"path":"male/body/clip000-bind/f000000/p-30_y120_diffuse.png","sha256":"993a7417288717e355e06426be2fa6c02c8634bbd7eac19ba30a07b0c8ee6232"}
{"path":"male/body/clip000-bind/f000000/p-30_y120_depth.png","sha256":"caa24a97bcf3f71fa2fe96b00e921bb2c7e368243269460162a989733765ca02"}
{"path":"male/body/clip000-bind/f000000/p-30_y120_normal.png","sha256":"80c596d11f80385e12c570f0e057972d9d5a01fcc7d992b0096145a16bedd801"}
{"path":"male/body/clip000-bind/f000000/p-30_y120_specular.png","sha256":"bab1a3a87ddd015e649d9393ff99d6b22ca831176454802a4dd58eb463ea5e68"}
{"path":"male/body/clip000-bind/f000000/p-30_y150_diffuse.png","sha256":"755683c44b4541e38604df1ed3c0baa206e4530bef0d3dc5185cd8f3059966c7"}
{"path":"male/body/clip000-bind/f000000/p-30_y150_depth.png","sha256":"6cc0428c0895cfc05b6ee7911fd943becebf1aaee5e5b5a2fcd39253b5faa2ff"}
{"path":"male/body/clip000-bind/f000000/p-30_y150_normal.png","sha256":"3be8177399550b8ead0845ca2a5590ba4556fa680fef0367b5a9828ee0f646d4"}
{"path":"male/body/clip000-bind/f000000/p-30_y150_specular.png","sha256":"4c5f8058f46af71285dc19d21cb85d338264d5c2adc3f6bd3737d5965d5e1a0c"}
{"path":"male/body/clip000-bind/f000000/p-30_y180_diffuse.png","sha256":"9adfb52252e8d8198c95829d753de8467282483f29da0404a617c52f59138800"}
{"path":"male/body/clip000-bind/f000000/p-30_y180_depth.png","sha256":"0d7c6de43a0565915f5ce8d08e5dbfba483b1ab28a99fdfd124e6ae967ed78b8"}
{"path":"male/body/clip000-bind/f000000/p-30_y180_normal.png","sha256":"e0cba1c55aaedd2b8108280fb5ce5d6f35c18210938fa79e20c652310632d0bd"}
{"path":"male/body/clip000-bind/f000000/p-30_y180_specular.png","sha256":"9673f9dafa397e95702509fa38fe971d8e54b8c3e87797777ef6464eccaccf2e"}
{"path":"male/body/clip000-bind/f000000/p-30_y210_diffuse.png","sha256":"583943addbd1a5aaa730c0742c5172503edbf00e77204d17e98f2a58b57471bd"}
{"path":"male/body/clip000-bind/f000000/p-30_y210_depth.png","sha256":"d9f010884ed721db8e8efec486432841b84638112fe2925d5d533df4dbde7488"}
{"path":"male/body/clip000-bind/f000000/p-30_y210_normal.png","sha256":"98b8cfea4698846d3cbb6b48d34895fa0f6ba51e274b75299a8354edf296773d"}
{"path":"male/body/clip000-bind/f000000/p-30_y210_specular.png","sha256":"b4c65be93980e8774687af2f54be50777595dda0c8cc5df88153924164386400"}
{"path":"male/body/clip000-bind/f000000/p-30_y240_diffuse.png","sha256":"e9aeba459501356314b4160bcbdbf4746853d002e8d45dde8a23f5ca43aafaa9"}
{"path":"male/body/clip000-bind/f000000/p-30_y240_depth.png","sha256":"9633da136d3ae4b8138752fd12b9cda0d57e0b3429d99182b83cceb9a11bacac"}
{"path":"male/body/clip000-bind/f000000/p-30_y240_normal.png","sha256":"ed708ca9e7c716d6403c352d34c7f4bc4e7957796e067b38e20339f0634dc576"}
{"path":"male/body/clip000-bind/f000000/p-30_y240_specular.png","sha256":"2c5c9dfa335e54a37b71dc5dda0f0b3eb6eddeac2e6730f8dd260da3be4394bf"}
{"path":"male/body/clip000-bind/f000000/p-30_y270_diffuse.png","sha256":"9fe3c3b0acb77af8dc6b6bee7358cca7b526cf82a3627ca92d57d2471cce1b7d"}
{"path":"male/body/clip000-bind/f000000/p-30_y270_depth.png","sha256":"d1277e9241794131524fbd344790ce57cac0fd7f9017f7f76221e5237cab6c43"}
{"path":"male/body/clip000-bind/f000000/p-30_y270_normal.png","sha256":"2328b9635cb9c7100b04f2761efb9865d51a5d69b2c1e91d7b3d863c75dbe387"}
{"path":"male/body/clip000-bind/f000000/p-30_y270_specular.png","sha256":"def640d3fcada94f8d0736aca7c9a5547193691f31fcd14e3199facf49c4c846"}
{"path":"male/body/clip000-bind/f000000/p-30_y300_diffuse.png","sha256":"b2bbd94075c693a27789a8f4bc52de78b7aefe5d8bb410a5407deccde3cda6f4"}
{"path":"male/body/clip000-bind/f000000/p-30_y300_depth.png","sha256":"6b41f67d0ebb9e7e8946886abb5b3c0aca59d9ce66032f64813e321d493e4236"}
{"path":"male/body/clip000-bind/f000000/p-30_y300_normal.png","sha256":"c7d44a5497410d9c0b4cc1ea59c794bf9ac0bc1305e317d26a2d485f7d1c0e7d"}
{"path":"male/body/clip000-bind/f000000/p-30_y300_specular.png","sha256":"41323efd35b41f3b7ad0def7bacb05dbad522ef9db77f69ff545ad5a41a67ef4"}
{"path":"male/body/clip000-bind/f000000/p-30_y330_diffuse.png","sha256":"910ef6223ace6609218524d2e57d50e53162cc01f0d4ab03fb5dc51bee5d208b"}
{"path":"male/body/clip000-bind/f000000/p-30_y330_depth.png","sha256":"cad7ce15ad476bbf98bf2f140165afb328bf033ad61acf8b860bf507f318edd5"}
{"path":"male/body/clip000-bind/f000000/p-30_y330_normal.png","sha256":"b83adaebae364eb98db6360825b268b5a0a5aa8fa8f92e0fb6512e302c0e67e0"}
{"path":"male/body/clip000-bind/f000000/p-30_y330_specular.png","sha256":"e5557ab6258fff357496721a8dcf64d975bee41c6b58e19004e8d99d7260cb04"}
{"path":"male/body/clip000-bind/f000000/p+00_y000_diffuse.png","sha256":"c423f919204965bd134bcaf03c8972637b7680586b2f224447da0573ea473985"}
{"path":"male/body/clip000-bind/f000000/p+00_y000_depth.png","sha256":"d0d147693b595ca69203875fa272c4da6e1b4f36dafd35abed09c423e698476b"}
{"path":"male/body/clip000-bind/f000000/p+00_y000_normal.png","sha256":"e94459bf831426f6a7f18e25a851736eebacb11a9b9ad055843a74f9c20ef1ff"}
{"path":"male/body/clip000-bind/f000000/p+00_y000_specular.png","sha256":"603a9ef8a14a1707bb6c44356a08e766839b4331ba569acb238240ec09c83008"}
{"path":"male/body/clip000-bind/f000000/p+00_y030_diffuse.png","sha256":"c0debdf30ac6e0210235a62451a6774c4cae1c0c653ff360f1fad30d1e18a4bd"}
{"path":"male/body/clip000-bind/f000000/p+00_y030_depth.png","sha256":"08f13444bf028cc0da4b39c286806e7df5a305f52bcd3f11403f5edcdbb098aa"}
{"path":"male/body/clip000-bind/f000000/p+00_y030_normal.png","sha256":"1bbed3e7a1f2719c67bde3971f3d89eb4c984d530981a7e705fe36943a5de095"}
{"path":"male/body/clip000-bind/f000000/p+00_y030_specular.png","sha256":"d37be2ca979f881709a368d9920925f000a68dbc040d4c8aa5c65ea576a27d87"}
{"path":"male/body/clip000-bind/f000000/p+00_y060_diffuse.png","sha256":"0191030593d19241782dec10b88892182f31c3ba7f27f7f1e3d85ec87bae2376"}
{"path":"male/body/clip000-bind/f000000/p+00_y060_depth.png","sha256":"a5adadf1ca5515b5e04387d9eb04e1f80590cc4f563db806709bf34ab28f46c6"}
{"path":"male/body/clip000-bind/f000000/p+00_y060_normal.png","sha256":"83b7d2035002d5e0fdcba8298007abb6de95ada35eec16809f8ac9a7aa2bdc68"}
{"path":"male/body/clip000-bind/f000000/p+00_y060_specular.png","sha256":"dfd71b73f05c8f731d4e6de3ec7fab55a5b7b1589e8d73dee8f809764b040c94"}
{"path":"male/body/clip000-bind/f000000/p+00_y090_diffuse.png","sha256":"ab028dec445caa2d45692522023100d16907b2d5a946dab49b5168b86a5ab926"}
{"path":"male/body/clip000-bind/f000000/p+00_y090_depth.png","sha256":"3dfa6feaf34b8572aefe3d4b86e3d20d9e68d44b830375b0fc5a7ddf8fce5c56"}
{"path":"male/body/clip000-bind/f000000/p+00_y090_normal.png","sha256":"bf4923fd6f687162e8a0f6077d821862ebae36bec64b3ae1c65fc76481759ccd"}
{"path":"male/body/clip000-bind/f000000/p+00_y090_specular.png","sha256":"c5a1a711bd93b544371a2e565a74666d9be53e8be289ffcf574d2a99b3c8581c"}
{"path":"male/body/clip000-bind/f000000/p+00_y120_diffuse.png","sha256":"e7b52bd398a822959b27120cdac77a418a141b0be1af1c8cf8295891d63fad9c"}
{"path":"male/body/clip000-bind/f000000/p+00_y120_depth.png","sha256":"b5824f4462903401040cc0108319f566437dd3ccd2a8ba8940914b85c3b17911"}
{"path":"male/body/clip000-bind/f000000/p+00_y120_normal.png","sha256":"87f0d296a1c2d8daadc039118a4b6a279f8803175de54e4a3a664d3afe177924"}
{"path":"male/body/clip000-bind/f000000/p+00_y120_specular.png","sha256":"dfd71b73f05c8f731d4e6de3ec7fab55a5b7b1589e8d73dee8f809764b040c94"}
{"path":"male/body/clip000-bind/f000000/p+00_y150_diffuse.png","sha256":"70926d465b87c09fd84f87e50316f0a8f4b059676031bafd22ea3395b95ece7a"}
{"path":"male/body/clip000-bind/f000000/p+00_y150_depth.png","sha256":"50cfa38a47da56a7a938fafd768bd1750fb5d076c6318281218bed6b0b567276"}
{"path":"male/body/clip000-bind/f000000/p+00_y150_normal.png","sha256":"d25647157dca638ee01073c347a49a807e494850cba78550d8345bda7e616d21"}
{"path":"male/body/clip000-bind/f000000/p+00_y150_specular.png","sha256":"d37be2ca979f881709a368d9920925f000a68dbc040d4c8aa5c65ea576a27d87"}
{"path":"male/body/clip000-bind/f000000/p+00_y180_diffuse.png","sha256":"c423f919204965bd134bcaf03c8972637b7680586b2f224447da0573ea473985"}
{"path":"male/body/clip000-bind/f000000/p+00_y180_depth.png","sha256":"30f22bf4e9fe6de168fb57f82d798066c0f08e07c40c65c402c8391beb100409"}
{"path":"male/body/clip000-bind/f000000/p+00_y180_normal.png","sha256":"9fe4065078878c069c87bf95ca0c945b679d2a3d330a79579cfdb2a57009e524"}
{"path":"male/body/clip000-bind/f000000/p+00_y180_specular.png","sha256":"603a9ef8a14a1707bb6c44356a08e766839b4331ba569acb238240ec09c83008"}
{"path":"male/body/clip000-bind/f000000/p+00_y210_diffuse.png","sha256":"bdea0ca0d09113f78ce6f8b02034a520117c52bd5e6a5e78724740fdfef421af"}
{"path":"male/body/clip000-bind/f000000/p+00_y210_depth.png","sha256":"c3697cf0d66e87746c96066c8bc791ddaf54f42c11810e995904479d3ef0ef33"}
{"path":"male/body/clip000-bind/f000000/p+00_y210_normal.png","sha256":"e47a96f0f5f997b88e2a142ad6a3c2f49e7cc73d9e3232d3e9ff262c102b87dd"}
{"path":"male/body/clip000-bind/f000000/p+00_y210_specular.png","sha256":"0cc9f5fd8947655582f32f24b046f0abea2d210ffaa3a8e00d7f7ce4bdbe4f4f"}
{"path":"male/body/clip000-bind/f000000/p+00_y240_diffuse.png","sha256":"98b940a19e26a457b0bed469ba338cddd6be9acb0f722ca177919e214224fb2f"}
{"path":"male/body/clip000-bind/f000000/p+00_y240_depth.png","sha256":"1295345bbc5bf9b812a14c8eb9ba5ecfb6f134870b6985ce8369b4b5cdf3cef5"}
{"path":"male/body/clip000-bind/f000000/p+00_y240_normal.png","sha256":"f0edb4d440b1b69fc0c4e5fccc9fc7d24d0675e64fd9b30bac551afdc3d914a2"}
{"path":"male/body/clip000-bind/f000000/p+00_y240_specular.png","sha256":"12bb9c834900d1c65355faa90ccb097406cf85f483ebc56ae098dd69af5574fd"}
{"path":"male/body/clip000-bind/f000000/p+00_y270_diffuse.png","sha256":"c9f7c6c5f7bf487e7d178131571f4bff3164aa1db2dc4e99d8cbc44b0eebfc08"}
{"path":"male/body/clip000-bind/f000000/p+00_y270_depth.png","sha256":"fae867f2adbfecf82325bc9d05bc2f52fa63c21411b1b80959eac1a12f95f0ba"}
{"path":"male/body/clip000-bind/f000000/p+00_y270_normal.png","sha256":"8cfaa080dcb42073ced360ff76cd7af9f874fa732b0185439f68d2cad967496a"}
{"path":"male/body/clip000-bind/f000000/p+00_y270_specular.png","sha256":"ef516345cf4877b36f920d3f08831d861488eef83052cfb93377d4d2b3e5eb14"}
{"path":"male/body/clip000-bind/f000000/p+00_y300_diffuse.png","sha256":"cf46951f8ea82b861141ebc2c92170aeedffe3efecad724b5d2637ce3597f78b"}
{"path":"male/body/clip000-bind/f000000/p+00_y300_depth.png","sha256":"4e92778592ce85cec82be2ec3b53b2efb92e7aa70809276d304869c0b2312627"}
{"path":"male/body/clip000-bind/f000000/p+00_y300_normal.png","sha256":"dd88fffa00f736bf2e7870416b540593ee1157cc9ed5c1b3494e7612a0c540b9"}
{"path":"male/body/clip000-bind/f000000/p+00_y300_specular.png","sha256":"12bb9c834900d1c65355faa90ccb097406cf85f483ebc56ae098dd69af5574fd"}
{"path":"male/body/clip000-bind/f000000/p+00_y330_diffuse.png","sha256":"66496fdd34514b10c349af2e5f44726ab20dc035ce3a0c14798595b3a77d694b"}
{"path":"male/body/clip000-bind/f000000/p+00_y330_depth.png","sha256":"267600816e03db623c8a92de901ff07293361379c1682f8cc8ef01620f075cf5"}
{"path":"male/body/clip000-bind/f000000/p+00_y330_normal.png","sha256":"4bf732e4001dae0ad732adab6e86b23e1d4c644e27a79f6b457c4be9ac259481"}
{"path":"male/body/clip000-bind/f000000/p+00_y330_specular.png","sha256":"0cc9f5fd8947655582f32f24b046f0abea2d210ffaa3a8e00d7f7ce4bdbe4f4f"}
{"path":"male/body/clip000-bind/f000000/p+30_y000_diffuse.png","sha256":"b6ce88868d57927e6e7ac6190c3d9172c5819eeeb7e95b7813a6095b9ce6353a"}
{"path":"male/body/clip000-bind/f000000/p+30_y000_depth.png","sha256":"3c0c691168b29a0212aa4255c313b7ec682a1b9d8cc75b35df0297da8b3e1c4b"}
{"path":"male/body/clip000-bind/f000000/p+30_y000_normal.png","sha256":"1a6b934da173d455cfc588bb6f1859ddb41604803080243a421d9874d15a0523"}
{"path":"male/body/clip000-bind/f000000/p+30_y000_specular.png","sha256":"9673f9dafa397e95702509fa38fe971d8e54b8c3e87797777ef6464eccaccf2e"}
{"path":"male/body/clip000-bind/f000000/p+30_y030_diffuse.png","sha256":"267088c19fddab61be13f5ecbb7619026a3fbd486584eeedf71e46fb81a6acdd"}
{"path":"male/body/clip000-bind/f000000/p+30_y030_depth.png","sha256":"30a7f984329341872c5135bf3ad96f8718ed243b8f3274b0c81c9ba8b0c3a406"}
{"path":"male/body/clip000-bind/f000000/p+30_y030_normal.png","sha256":"7ff4fe359807f82327d4c3eb2e2241e4e620e2ede2faf8b9428403c12eb8f365"}
{"path":"male/body/clip000-bind/f000000/p+30_y030_specular.png","sha256":"4c5f8058f46af71285dc19d21cb85d338264d5c2adc3f6bd3737d5965d5e1a0c"}
{"path":"male/body/clip000-bind/f000000/p+30_y060_diffuse.png","sha256":"42ae882a122a9adee586dcf0322bc8ce824c7185d12bcf9b51d2a2b63e0f9152"}
{"path":"male/body/clip000-bind/f000000/p+30_y060_depth.png","sha256":"28013e2c5072016215e8a15765abe0258a134f7a59ee09e65c24814b1116eb1c"}
{"path":"male/body/clip000-bind/f000000/p+30_y060_normal.png","sha256":"214f56be7469723537b5872886704b6f8a8fed2e2b6a668f7423ac79ceca5d78"}
{"path":"male/body/clip000-bind/f000000/p+30_y060_specular.png","sha256":"bab1a3a87ddd015e649d9393ff99d6b22ca831176454802a4dd58eb463ea5e68"}
{"path":"male/body/clip000-bind/f000000/p+30_y090_diffuse.png","sha256":"6b93cf6557b8e6301d8bede8e000d1368bb8f7055e1e00ef7a2140adea64fd05"}
{"path":"male/body/clip000-bind/f000000/p+30_y090_depth.png","sha256":"5f9237c8f2f1dd9503cfc1e7f8bb447558586ee68c922e9a4aafed6776b5a300"}
{"path":"male/body/clip000-bind/f000000/p+30_y090_normal.png","sha256":"1cc9f5ac55861be9bb6cc5b9299c3f0ca737c613df5f502f21fa9b922f8c9c2d"}
{"path":"male/body/clip000-bind/f000000/p+30_y090_specular.png","sha256":"0d16fe69d09c07c334d6799a3609d3ca2288c08adedcc6f79cf94162d1592c34"}
{"path":"male/body/clip000-bind/f000000/p+30_y120_diffuse.png","sha256":"12b8a84c5f8a73dfbb6a13d94e89c49b954d77b2b9b2d68b1070a079516b0b42"}
{"path":"male/body/clip000-bind/f000000/p+30_y120_depth.png","sha256":"ac94a5701cc7ad8220da59d5abe35ade2f88056645be844a1b0b52d08ff59f29"}
{"path":"male/body/clip000-bind/f000000/p+30_y120_normal.png","sha256":"fb64938dee7c981cc5388a01f3c213a2d2d4ca163ee3d37b36a6b8119ee3e929"}
{"path":"male/body/clip000-bind/f000000/p+30_y120_specular.png","sha256":"8fa92ad0ff49c33004d182e1282f98c646304753014a39c4c23b45223b45b8a8"}
{"path":"male/body/clip000-bind/f000000/p+30_y150_diffuse.png","sha256":"6a04aa6a8910f5fa31d25724444af17fe40ff69749550c3bebf16cd301377dd6"}
{"path":"male/body/clip000-bind/f000000/p+30_y150_depth.png","sha256":"03d728d83872cb7deb55acb34d537472e7ae1df83eabc07e133329fda3f72be9"}
{"path":"male/body/clip000-bind/f000000/p+30_y150_normal.png","sha256":"8f82a49318d222a618ca545443eb82b6ad4a03d8ddfd7dfc935caf5927329cc5"}
{"path":"male/body/clip000-bind/f000000/p+30_y150_specular.png","sha256":"2d377867995fde1f7952587fe0b519c4bd4af7f23e42dbe2f59ff64c190622ed"}
{"path":"male/body/clip000-bind/f000000/p+30_y180_diffuse.png","sha256":"6240309a2c1cbef8057e7b36cad938be5b3332fd50a32ae133e8781b35549392"}
{"path":"male/body/clip000-bind/f000000/p+30_y180_depth.png","sha256":"9e4d08755f508ebda744caf46d94b2bc82e9f116408ab2a0b84841ec524bfa04"}
{"path":"male/body/clip000-bind/f000000/p+30_y180_normal.png","sha256":"866eba267d0632b2e8aecdfb7ac24e6e9ee6ed48241ccf7bd77f1bad14a1d94e"}
{"path":"male/body/clip000-bind/f000000/p+30_y180_specular.png","sha256":"324cc04a566333ed8c55d4ae258570cf146656158532b0335051af71458d640f"}
{"path":"male/body/clip000-bind/f000000/p+30_y210_diffuse.png","sha256":"9e906c3393dd4147f477ce29099c6d900fa62a6b11b6dc56a1d2bdede756ecef"}
{"path":"male/body/clip000-bind/f000000/p+30_y210_depth.png","sha256":"3e8d0e19ccbb57e4ef4a83ab4ffc01d2a8040e70862f5183944c1c831662a27b"}
{"path":"male/body/clip000-bind/f000000/p+30_y210_normal.png","sha256":"1cf99f027f4833110ea2c5423a7aa7f06a85fe86e03ee65572329a6fb65c4a21"}
{"path":"male/body/clip000-bind/f000000/p+30_y210_specular.png","sha256":"e5557ab6258fff357496721a8dcf64d975bee41c6b58e19004e8d99d7260cb04"}
{"path":"male/body/clip000-bind/f000000/p+30_y240_diffuse.png","sha256":"7c10a7cb1c1c03fec464499ed517ab052c1ced39f695f9ae415fd1a7f27e7230"}
{"path":"male/body/clip000-bind/f000000/p+30_y240_depth.png","sha256":"be9397e6372c2a17fcf94f2dd33eb5d9cccf14d82e8e62d5c97e71e986c780cc"}
{"path":"male/body/clip000-bind/f000000/p+30_y240_normal.png","sha256":"a118c91fe423853a59a7f844020c7b5acbabc3a7152071e4ed8c4a19f392ecdb"}
{"path":"male/body/clip000-bind/f000000/p+30_y240_specular.png","sha256":"41323efd35b41f3b7ad0def7bacb05dbad522ef9db77f69ff545ad5a41a67ef4"}
{"path":"male/body/clip000-bind/f000000/p+30_y270_diffuse.png","sha256":"0a5f34568eb6dd1ad4ca5a3133958d06275c1e2f28c42aef17e9985ca145363e"}
{"path":"male/body/clip000-bind/f000000/p+30_y270_depth.png","sha256":"c06f29b55194a89a00ffa5a5a728ef8b2cc5deed08cb19d8d285c810e276368c"}
{"path":"male/body/clip000-bind/f000000/p+30_y270_normal.png","sha256":"62198e745c335fd3d351530b6b37148855c78b27295d79433bf60f8703345c6a"}
{"path":"male/body/clip000-bind/f000000/p+30_y270_specular.png","sha256":"def640d3fcada94f8d0736aca7c9a5547193691f31fcd14e3199facf49c4c846"}
{"path":"male/body/clip000-bind/f000000/p+30_y300_diffuse.png","sha256":"0396224d65e40650e89bb9e202035acf39bb1a74d3405e1a329febcce02536b7"}
{"path":"male/body/clip000-bind/f000000/p+30_y300_depth.png","sha256":"d9691024262f18406f7722c8c0c52c831c807fcf6b5fe5ac5b6c259f3f0dbc63"}
{"path":"male/body/clip000-bind/f000000/p+30_y300_normal.png","sha256":"144f29e6c9d7cadd70968e73a693b3aae4a773837b687c5f8f78adac94944c7e"}
{"path":"male/body/clip000-bind/f000000/p+30_y300_specular.png","sha256":"2c5c9dfa335e54a37b71dc5dda0f0b3eb6eddeac2e6730f8dd260da3be4394bf"}
{"path":"male/body/clip000-bind/f000000/p+30_y330_diffuse.png","sha256":"9726e504cb4c584c962da7ee09dd388df049a7e6171fe8942f9bc69957fc9ffc"}
{"path":"male/body/clip000-bind/f000000/p+30_y330_depth.png","sha256":"e39902bbf1c5f06bcf8436763aa7a737fb6f2e0afe0a4aa261f95d1630452b76"}
{"path":"male/body/clip000-bind/f000000/p+30_y330_normal.png","sha256":"6cec64448cb3129c67c197c47715480c070e1d59d178122d680f64c9fbd3e9dd"}
{"path":"male/body/clip000-bind/f000000/p+30_y330_specular.png","sha256":"b4c65be93980e8774687af2f54be50777595dda0c8cc5df88153924164386400"}
{"path":"male/body/clip000-bind/f000000/p+60_y000_diffuse.png","sha256":"660ace3a24ee8c7d4dea8ea27c60d602dafa18624b0994b2fe5ec59a31f79a28"}
{"path":"male/body/clip000-bind/f000000/p+60_y000_depth.png","sha256":"c4c96e07593ebf8f43feab481bcbeb1ee0cce39048725bae329db7a0511a6ae7"}
{"path":"male/body/clip000-bind/f000000/p+60_y000_normal.png","sha256":"1444c526fd274a68a19203f24578e13f97449a3b0d0169bcdc4b668b38446cae"}
{"path":"male/body/clip000-bind/f000000/p+60_y000_specular.png","sha256":"c7fb38fe5d40857cf230fa561343b50bf810cd6dafc58f60e8c33464564529d5"}
{"path":"male/body/clip000-bind/f000000/p+60_y030_diffuse.png","sha256":"22f312be90fb8b58a59f116b7339280842c29483fa867063f3c720c9669dcaf0"}
{"path":"male/body/clip000-bind/f000000/p+60_y030_depth.png","sha256":"f1b57a410f4a463da3c818b51d1e5c5832ab31d22fb0ce7d15066c9dbcadb48e"}
{"path":"male/body/clip000-bind/f000000/p+60_y030_normal.png","sha256":"8c702e8014b0ed0f2e6f14ad988ab314eeff51f6ef61e3a7badef7bddc101555"}
{"path":"male/body/clip000-bind/f000000/p+60_y030_specular.png","sha256":"87a5090095182ab1fe8e4913d5900fd4009c8e794eaef38352e835be73deae90"}
{"path":"male/body/clip000-bind/f000000/p+60_y060_diffuse.png","sha256":"9e627cf8c37b3c33a733b3afaeae53d649fdf689623d7787bc160f31607f1783"}
{"path":"male/body/clip000-bind/f000000/p+60_y060_depth.png","sha256":"52e25876e1353eac16008408698289b96a85a87f40899389e9b60fa364050a44"}
{"path":"male/body/clip000-bind/f000000/p+60_y060_normal.png","sha256":"9ffb387e01c429bddd7185eb110fa9686a03bd4e068cbf9395b8ea318b116125"}
{"path":"male/body/clip000-bind/f000000/p+60_y060_specular.png","sha256":"5bc7f328c93f5cbdc91e278ed9fa29a66bf10b68924368d021f1d71145a00604"}
{"path":"male/body/clip000-bind/f000000/p+60_y090_diffuse.png","sha256":"28625f40fdbee24eb6bca0e343e62ee02a23a5cc4a6213f182dc6aa6e21f2711"}
{"path":"male/body/clip000-bind/f000000/p+60_y090_depth.png","sha256":"6cb452800635b6033975053b221673d9a2d1256ec9b911a87a3d69b71a9c120f"}
{"path":"male/body/clip000-bind/f000000/p+60_y090_normal.png","sha256":"ca3b83f912ccf459542d7f15007f20c0baa34bfb81acbb54a6159aecea13c79c"}
{"path":"male/body/clip000-bind/f000000/p+60_y090_specular.png","sha256":"7e5d53242af0feacc023ca241e3dfbce42b76bee82e5d24e018ad2accf4b53ae"}
{"path":"male/body/clip000-bind/f000000/p+60_y120_diffuse.png","sha256":"392dc463b8d1c3c2d9494d12caf19f8d2d9a8f7c71f7deae51d432b0110401bf"}
{"path":"male/body/clip000-bind/f000000/p+60_y120_depth.png","sha256":"6c2ecf6ba066a53d9618ed7bbcc4ae2efb41101aa7be1307e206976b367436cf"}
{"path":"male/body/clip000-bind/f000000/p+60_y120_normal.png","sha256":"5fff4aeed846b05f2f26cd359c4e6e32efc8d8663ba92e4f77aa8f732380db95"}
{"path":"male/body/clip000-bind/f000000/p+60_y120_specular.png","sha256":"387edd2bf133ceb8d156544743ce6c1b6b1967fd90c7e0435f9b391ebc5e9a15"}
{"path":"male/body/clip000-bind/f000000/p+60_y150_diffuse.png","sha256":"c599507f769d693a0cbc09f6f44c8d10da566d622a6b05f6594ff43c13f29e12"}
{"path":"male/body/clip000-bind/f000000/p+60_y150_depth.png","sha256":"f101ed8387e46176dc649b66a099f7cc4228f149259f2ae66a33e3124ccc8b0a"}
{"path":"male/body/clip000-bind/f000000/p+60_y150_normal.png","sha256":"b95299d07bfd54aa6c19e0ef1c7863cbfc8d39fbbf645b7766500e9d8478f616"}
{"path":"male/body/clip000-bind/f000000/p+60_y150_specular.png","sha256":"fd4f6dd0ec91ea31c00facb88a301d76fe6190ee31f5a9d818a67d81958b7375"}
{"path":"male/body/clip000-bind/f000000/p+60_y180_diffuse.png","sha256":"6f2d016371935ab1f1a77bed2c7e0be71fef53fd73b4b68d24b0812a8677c617"}
{"path":"male/body/clip000-bind/f000000/p+60_y180_depth.png","sha256":"eab0a63b6147df70c041ce63e4c2cf67fbfb2134804e55dd4633f40e200dd91b"}
{"path":"male/body/clip000-bind/f000000/p+60_y180_normal.png","sha256":"7c3aaec3d3a48919cd2fefcd86d7aab8d486f1a31f081238c48924c9300fb3d6"}
{"path":"male/body/clip000-bind/f000000/p+60_y180_specular.png","sha256":"fee033e18cb1ba1571049fc88043a99c7edcbbb16d5be73bb0094dcf391f19a3"}
{"path":"male/body/clip000-bind/f000000/p+60_y210_diffuse.png","sha256":"16cd0f3e2e04b85adcd146799b363e6dfa423a41805b302f47d5a8dba4f00021"}
{"path":"male/body/clip000-bind/f000000/p+60_y210_depth.png","sha256":"a7c9c8fedc0c3a55c298efa6ea1355d0008417735d4d302181c520bc2f9ff5da"}
{"path":"male/body/clip000-bind/f000000/p+60_y210_normal.png","sha256":"90b705a2694c817312a8db054825634e08147e0999fc13b8a5ed6a76df0b39cc"}
{"path":"male/body/clip000-bind/f000000/p+60_y210_specular.png","sha256":"31c34d2e368393bcbed604c6da0e5e0cfa17197ceef59ea6d60c64b482952a98"}
{"path":"male/body/clip000-bind/f000000/p+60_y240_diffuse.png","sha256":"976bd4958ad9716361b11f67418c5fc41938c286aaa36448f18bd3bf7f6c3afb"}
{"path":"male/body/clip000-bind/f000000/p+60_y240_depth.png","sha256":"076654d58585d839f6ffa3acba4a6bf049b4474a99b1d490841c4b405ce09c7e"}
{"path":"male/body/clip000-bind/f000000/p+60_y240_normal.png","sha256":"44578198dea17749bac6d87c1e879420f5ae1010bb3241b405fa649d0b7e33f4"}
{"path":"male/body/clip000-bind/f000000/p+60_y240_specular.png","sha256":"537b832ffc6aa1bbe21faa6670cc1caad41aab283eefcbc03debc7d47961a90b"}
{"path":"male/body/clip000-bind/f000000/p+60_y270_diffuse.png","sha256":"22e2c045155a7b76f6b2fbb2a294baca83facf0b523516b37a1baf32c7a14830"}
{"path":"male/body/clip000-bind/f000000/p+60_y270_depth.png","sha256":"3d35a269cb64b579eb2620c54f407d439ab7c2a0bf71518c08514084c5b3178c"}
{"path":"male/body/clip000-bind/f000000/p+60_y270_normal.png","sha256":"dc160871e4940cb0667fe28a68b5160b1b4ce2087e1757887568e81e45ebd45c"}
{"path":"male/body/clip000-bind/f000000/p+60_y270_specular.png","sha256":"8d4820d4c508b2d08e16221a01c4a42b057f5eff9bbc8bf889d860f6bf3566b3"}
{"path":"male/body/clip000-bind/f000000/p+60_y300_diffuse.png","sha256":"67dbf1f01422b3f7897f9fc76fe0d9f8f45c4242db58393df4ee05b6d5f0bc21"}
{"path":"male/body/clip000-bind/f000000/p+60_y300_depth.png","sha256":"4c1d660d43f0ea3ad2561517fbc639c69c2001e91ce36ed44089e3bc80884f05"}
{"path":"male/body/clip000-bind/f000000/p+60_y300_normal.png","sha256":"a72432ddf15c088e86dde2955b88c24174ea3de43de611e62435d2913a0d34b6"}
{"path":"male/body/clip000-bind/f000000/p+60_y300_specular.png","sha256":"f1fcc92887665ef411b19121ad7517f90b8dca5b4cfe8eb0a8979de0d23f3fbe"}
{"path":"male/body/clip000-bind/f000000/p+60_y330_diffuse.png","sha256":"94924592a6585d0f8f19dc917d197b28f6be2cf5199646c2cd5bae11415f8352"}
{"path":"male/body/clip000-bind/f000000/p+60_y330_depth.png","sha256":"b33cb3274b8de53051c028b1c4564628c4a8685c8e4e9c77a2827580459613c2"}
{"path":"male/body/clip000-bind/f000000/p+60_y330_normal.png","sha256":"395dae6030daa9e837dbdb9f3f888fb642c9d5fbbbcaf4b45bb961fc9c730923"}
{"path":"male/body/clip000-bind/f000000/p+60_y330_specular.png","sha256":"4672e0e1f2c26ac7450dcf2b4a10b00f15c42cbb04775e5d215adc242367ef00"}
@@ -0,0 +1,240 @@{"path":"male/body/clip000-bind/f000000/p-60_y000_diffuse.png","sha256":"c0960cd0d8b424c8d1b8091dfebd2eceaae7b20e7812aaf6d61f100737c9505a"}{"path":"male/body/clip000-bind/f000000/p-60_y000_depth.png","sha256":"6deae0247d9d1c9e9e24321c25656ef151686e79d72089e7fca864460a02b6ac"}{"path":"male/body/clip000-bind/f000000/p-60_y000_normal.png","sha256":"f698c219df80999041de100fb98e5f8e6fb6cfe7737a8a42556419d3f005a3ff"}{"path":"male/body/clip000-bind/f000000/p-60_y000_specular.png","sha256":"fee033e18cb1ba1571049fc88043a99c7edcbbb16d5be73bb0094dcf391f19a3"}{"path":"male/body/clip000-bind/f000000/p-60_y030_diffuse.png","sha256":"772dc81e7955e46c1c6450ec50484205439e4c406a4d442e225678dfc398c2e6"}{"path":"male/body/clip000-bind/f000000/p-60_y030_depth.png","sha256":"f6d65ebd10b15fe8881028c868fab48d44938164e2f917a5cbd53994266e7062"}{"path":"male/body/clip000-bind/f000000/p-60_y030_normal.png","sha256":"652a9db04e0f64cce0fa8df5103de7606b203d296298e5bf2547c52e44b8c1a9"}{"path":"male/body/clip000-bind/f000000/p-60_y030_specular.png","sha256":"fd4f6dd0ec91ea31c00facb88a301d76fe6190ee31f5a9d818a67d81958b7375"}{"path":"male/body/clip000-bind/f000000/p-60_y060_diffuse.png","sha256":"843272ad6f61067bd0d45f364ebbacdb790ec29b8c97a8bf400fc9834268710d"}{"path":"male/body/clip000-bind/f000000/p-60_y060_depth.png","sha256":"2a78b5ea8d50fc4bb6b5a6a3f3def5f37991738a4e06ba08d4daec3b5426bff8"}{"path":"male/body/clip000-bind/f000000/p-60_y060_normal.png","sha256":"b68a417cb56d7b00dbda41f315c870cf417f62695324972d7eddbfc2cc9b4d6d"}{"path":"male/body/clip000-bind/f000000/p-60_y060_specular.png","sha256":"387edd2bf133ceb8d156544743ce6c1b6b1967fd90c7e0435f9b391ebc5e9a15"}{"path":"male/body/clip000-bind/f000000/p-60_y090_diffuse.png","sha256":"cf0343b732cbae7831c1bbf6fbae8e8014fb893a3527ee1aee6fdd30bc4a0f81"}{"path":"male/body/clip000-bind/f000000/p-60_y090_depth.png","sha256":"0c81fcf417257fec9a266eec711e0b37d6ee684e3eeec9953a3fc2eb9319b7ec"}{"path":"male/body/clip000-bind/f000000/p-60_y090_normal.png","sha256":"3bef596b354aa50905afda697e8e61c1ec4d26b9369f342c28a9e4f05ac7bc8a"}{"path":"male/body/clip000-bind/f000000/p-60_y090_specular.png","sha256":"7e5d53242af0feacc023ca241e3dfbce42b76bee82e5d24e018ad2accf4b53ae"}{"path":"male/body/clip000-bind/f000000/p-60_y120_diffuse.png","sha256":"0f40acf174ccc59355a6603f6563b01ce19880b7db0c074521edc63ad38f7137"}{"path":"male/body/clip000-bind/f000000/p-60_y120_depth.png","sha256":"ca2de2787d20a46f4a7999008b86b863cfdadd835254aa09df3a5d7a0be527b9"}{"path":"male/body/clip000-bind/f000000/p-60_y120_normal.png","sha256":"db29607c180577806a0ab3bddc1518121f27478355c281c84a1d5b2186ffee22"}{"path":"male/body/clip000-bind/f000000/p-60_y120_specular.png","sha256":"5bc7f328c93f5cbdc91e278ed9fa29a66bf10b68924368d021f1d71145a00604"}{"path":"male/body/clip000-bind/f000000/p-60_y150_diffuse.png","sha256":"49f119758e227dd92d4cabf21392b016bf68ecd2eb2ddf8b9f22fc45a33dc416"}{"path":"male/body/clip000-bind/f000000/p-60_y150_depth.png","sha256":"03925d28699600946a300694f94542641b410fdc5e373ccd236a70da8feb4439"}{"path":"male/body/clip000-bind/f000000/p-60_y150_normal.png","sha256":"874485137026ae22fdae1bd82b319312b5e179738164482c2b429efebc46a983"}{"path":"male/body/clip000-bind/f000000/p-60_y150_specular.png","sha256":"87a5090095182ab1fe8e4913d5900fd4009c8e794eaef38352e835be73deae90"}{"path":"male/body/clip000-bind/f000000/p-60_y180_diffuse.png","sha256":"43d20d0d7d7c686d831059914822fd7b6590ce7608dbdd4ec352bb3437eb68e1"}{"path":"male/body/clip000-bind/f000000/p-60_y180_depth.png","sha256":"fbccdf2b0e57d0d17f11bf1d21f3727f24bf79ee12b5c07c78c2fc6bb360c1c7"}{"path":"male/body/clip000-bind/f000000/p-60_y180_normal.png","sha256":"1a5303ccf899782daac4b5adacece52d198f427a3e33fb1697e9e81b70cc7d8c"}{"path":"male/body/clip000-bind/f000000/p-60_y180_specular.png","sha256":"c7fb38fe5d40857cf230fa561343b50bf810cd6dafc58f60e8c33464564529d5"}{"path":"male/body/clip000-bind/f000000/p-60_y210_diffuse.png","sha256":"5d3cf1ed09acb216335c7f84ec78b1344d366131708031d278b383b18ae10569"}{"path":"male/body/clip000-bind/f000000/p-60_y210_depth.png","sha256":"cf0cba505e57e8d44c2caecb196117be513ea4c8db62a2b3d93318ea0d7acb28"}{"path":"male/body/clip000-bind/f000000/p-60_y210_normal.png","sha256":"4852d765e0cd40e02145ede4a5c7be82cc74971430ae676430804cf3eddcfb6b"}{"path":"male/body/clip000-bind/f000000/p-60_y210_specular.png","sha256":"4672e0e1f2c26ac7450dcf2b4a10b00f15c42cbb04775e5d215adc242367ef00"}{"path":"male/body/clip000-bind/f000000/p-60_y240_diffuse.png","sha256":"9977b9e22cede0d2353225089819bfed488ec59ec98198350f28286b1afd730a"}{"path":"male/body/clip000-bind/f000000/p-60_y240_depth.png","sha256":"502b9fd8cac9b5dbbb04eea94989ef54282e7260b239c2a4b56239fb8f0c2ffb"}{"path":"male/body/clip000-bind/f000000/p-60_y240_normal.png","sha256":"b88e7d6fbae330d5c613bb572bc390140e5c36d0483d268839ebd19133a4772e"}{"path":"male/body/clip000-bind/f000000/p-60_y240_specular.png","sha256":"f1fcc92887665ef411b19121ad7517f90b8dca5b4cfe8eb0a8979de0d23f3fbe"}{"path":"male/body/clip000-bind/f000000/p-60_y270_diffuse.png","sha256":"ff05444ef4d273cd51b9a83187671cd449747abf41ce509127c880284e99bbbc"}{"path":"male/body/clip000-bind/f000000/p-60_y270_depth.png","sha256":"beaa1614c03cd1236af3fd4297c62a4f22d684d125404a5b8a63c7935bf9f274"}{"path":"male/body/clip000-bind/f000000/p-60_y270_normal.png","sha256":"a7fbefd14abca1a800d1b5499307c2b01d6686aeeea4a576c439c687809c4a62"}{"path":"male/body/clip000-bind/f000000/p-60_y270_specular.png","sha256":"8d4820d4c508b2d08e16221a01c4a42b057f5eff9bbc8bf889d860f6bf3566b3"}{"path":"male/body/clip000-bind/f000000/p-60_y300_diffuse.png","sha256":"ca737f4cf52d3fa5e48167d3d14fcf9c3ca1c8f045ff10b5cb197471263cb669"}{"path":"male/body/clip000-bind/f000000/p-60_y300_depth.png","sha256":"7c77c75a6cf832633da570d75e59e1b7b14ea53441512d30ed32ae532f826c88"}{"path":"male/body/clip000-bind/f000000/p-60_y300_normal.png","sha256":"bdb5e1f38746ab8b927d4fdec614b3a4ea7159a65917c81d647b42d7de23ec31"}{"path":"male/body/clip000-bind/f000000/p-60_y300_specular.png","sha256":"537b832ffc6aa1bbe21faa6670cc1caad41aab283eefcbc03debc7d47961a90b"}{"path":"male/body/clip000-bind/f000000/p-60_y330_diffuse.png","sha256":"e9287c1b75be66031d75a8d7f4c25855ced0e9b8eabef0ba70c1d1673952ad16"}{"path":"male/body/clip000-bind/f000000/p-60_y330_depth.png","sha256":"c4f5165acd35f2627235ebce92e6831b9e84105ece63a1091b6e2a8637657de1"}{"path":"male/body/clip000-bind/f000000/p-60_y330_normal.png","sha256":"27af30dd5ba13f1f8016650fc7f7782611b7584f49bbca38ee833ca40c70b372"}{"path":"male/body/clip000-bind/f000000/p-60_y330_specular.png","sha256":"31c34d2e368393bcbed604c6da0e5e0cfa17197ceef59ea6d60c64b482952a98"}{"path":"male/body/clip000-bind/f000000/p-30_y000_diffuse.png","sha256":"f1524104b9daa3547fbb830c591eb8bc48ee1f94b0b62306e47767e13435cc3f"}{"path":"male/body/clip000-bind/f000000/p-30_y000_depth.png","sha256":"3d1aad2678c32171ef0ef44da24fa3341352f4d7ea8e1b5256748aa645ad3e6c"}{"path":"male/body/clip000-bind/f000000/p-30_y000_normal.png","sha256":"65ae5754e73e1167493d326d233ac93aff93d7942763a8e7837cb0f78a433286"}{"path":"male/body/clip000-bind/f000000/p-30_y000_specular.png","sha256":"324cc04a566333ed8c55d4ae258570cf146656158532b0335051af71458d640f"}{"path":"male/body/clip000-bind/f000000/p-30_y030_diffuse.png","sha256":"a8e50d999e5e14fa969001747c51077973817a15999e74c6c7959ef58f75da56"}{"path":"male/body/clip000-bind/f000000/p-30_y030_depth.png","sha256":"95af5bb67fa051102826daf62a8923ecba74688d558a5f7654886fcf8792ce38"}{"path":"male/body/clip000-bind/f000000/p-30_y030_normal.png","sha256":"d5b22ed41c625f0b2aa30cd85fbc0b49f31da4d08fe45c2a9cdad033db15b0b5"}{"path":"male/body/clip000-bind/f000000/p-30_y030_specular.png","sha256":"2d377867995fde1f7952587fe0b519c4bd4af7f23e42dbe2f59ff64c190622ed"}{"path":"male/body/clip000-bind/f000000/p-30_y060_diffuse.png","sha256":"b716325575f6785c780863f65aa07a4582c3b924bf94ca306102f8b2f38445ae"}{"path":"male/body/clip000-bind/f000000/p-30_y060_depth.png","sha256":"8d409bd2357ba65114166840ceabfc625d926e579519f1e39e9e433d9a91ea99"}{"path":"male/body/clip000-bind/f000000/p-30_y060_normal.png","sha256":"6e3e0cb5e0de839742e4cd8e1c770d05c0aeb65ddaec3fb8c02091bb2211f9a2"}{"path":"male/body/clip000-bind/f000000/p-30_y060_specular.png","sha256":"8fa92ad0ff49c33004d182e1282f98c646304753014a39c4c23b45223b45b8a8"}{"path":"male/body/clip000-bind/f000000/p-30_y090_diffuse.png","sha256":"2a7fb58f7bff4e1475f8d062c21ab75336dc869d1f8a397e77e7c4463d308567"}{"path":"male/body/clip000-bind/f000000/p-30_y090_depth.png","sha256":"2b16e54b8ba82e273a5e3d1987e2d76ebf1ee849d4fe91ffe19e7b897c15e9e7"}{"path":"male/body/clip000-bind/f000000/p-30_y090_normal.png","sha256":"3de47a941ff92d7ceca01134df4dc08cbdca09788f7f019f48faf9ab7e154140"}{"path":"male/body/clip000-bind/f000000/p-30_y090_specular.png","sha256":"0d16fe69d09c07c334d6799a3609d3ca2288c08adedcc6f79cf94162d1592c34"}{"path":"male/body/clip000-bind/f000000/p-30_y120_diffuse.png","sha256":"993a7417288717e355e06426be2fa6c02c8634bbd7eac19ba30a07b0c8ee6232"}{"path":"male/body/clip000-bind/f000000/p-30_y120_depth.png","sha256":"caa24a97bcf3f71fa2fe96b00e921bb2c7e368243269460162a989733765ca02"}{"path":"male/body/clip000-bind/f000000/p-30_y120_normal.png","sha256":"80c596d11f80385e12c570f0e057972d9d5a01fcc7d992b0096145a16bedd801"}{"path":"male/body/clip000-bind/f000000/p-30_y120_specular.png","sha256":"bab1a3a87ddd015e649d9393ff99d6b22ca831176454802a4dd58eb463ea5e68"}{"path":"male/body/clip000-bind/f000000/p-30_y150_diffuse.png","sha256":"755683c44b4541e38604df1ed3c0baa206e4530bef0d3dc5185cd8f3059966c7"}{"path":"male/body/clip000-bind/f000000/p-30_y150_depth.png","sha256":"6cc0428c0895cfc05b6ee7911fd943becebf1aaee5e5b5a2fcd39253b5faa2ff"}{"path":"male/body/clip000-bind/f000000/p-30_y150_normal.png","sha256":"3be8177399550b8ead0845ca2a5590ba4556fa680fef0367b5a9828ee0f646d4"}{"path":"male/body/clip000-bind/f000000/p-30_y150_specular.png","sha256":"4c5f8058f46af71285dc19d21cb85d338264d5c2adc3f6bd3737d5965d5e1a0c"}{"path":"male/body/clip000-bind/f000000/p-30_y180_diffuse.png","sha256":"9adfb52252e8d8198c95829d753de8467282483f29da0404a617c52f59138800"}{"path":"male/body/clip000-bind/f000000/p-30_y180_depth.png","sha256":"0d7c6de43a0565915f5ce8d08e5dbfba483b1ab28a99fdfd124e6ae967ed78b8"}{"path":"male/body/clip000-bind/f000000/p-30_y180_normal.png","sha256":"e0cba1c55aaedd2b8108280fb5ce5d6f35c18210938fa79e20c652310632d0bd"}{"path":"male/body/clip000-bind/f000000/p-30_y180_specular.png","sha256":"9673f9dafa397e95702509fa38fe971d8e54b8c3e87797777ef6464eccaccf2e"}{"path":"male/body/clip000-bind/f000000/p-30_y210_diffuse.png","sha256":"583943addbd1a5aaa730c0742c5172503edbf00e77204d17e98f2a58b57471bd"}{"path":"male/body/clip000-bind/f000000/p-30_y210_depth.png","sha256":"d9f010884ed721db8e8efec486432841b84638112fe2925d5d533df4dbde7488"}{"path":"male/body/clip000-bind/f000000/p-30_y210_normal.png","sha256":"98b8cfea4698846d3cbb6b48d34895fa0f6ba51e274b75299a8354edf296773d"}{"path":"male/body/clip000-bind/f000000/p-30_y210_specular.png","sha256":"b4c65be93980e8774687af2f54be50777595dda0c8cc5df88153924164386400"}{"path":"male/body/clip000-bind/f000000/p-30_y240_diffuse.png","sha256":"e9aeba459501356314b4160bcbdbf4746853d002e8d45dde8a23f5ca43aafaa9"}{"path":"male/body/clip000-bind/f000000/p-30_y240_depth.png","sha256":"9633da136d3ae4b8138752fd12b9cda0d57e0b3429d99182b83cceb9a11bacac"}{"path":"male/body/clip000-bind/f000000/p-30_y240_normal.png","sha256":"ed708ca9e7c716d6403c352d34c7f4bc4e7957796e067b38e20339f0634dc576"}{"path":"male/body/clip000-bind/f000000/p-30_y240_specular.png","sha256":"2c5c9dfa335e54a37b71dc5dda0f0b3eb6eddeac2e6730f8dd260da3be4394bf"}{"path":"male/body/clip000-bind/f000000/p-30_y270_diffuse.png","sha256":"9fe3c3b0acb77af8dc6b6bee7358cca7b526cf82a3627ca92d57d2471cce1b7d"}{"path":"male/body/clip000-bind/f000000/p-30_y270_depth.png","sha256":"d1277e9241794131524fbd344790ce57cac0fd7f9017f7f76221e5237cab6c43"}{"path":"male/body/clip000-bind/f000000/p-30_y270_normal.png","sha256":"2328b9635cb9c7100b04f2761efb9865d51a5d69b2c1e91d7b3d863c75dbe387"}{"path":"male/body/clip000-bind/f000000/p-30_y270_specular.png","sha256":"def640d3fcada94f8d0736aca7c9a5547193691f31fcd14e3199facf49c4c846"}{"path":"male/body/clip000-bind/f000000/p-30_y300_diffuse.png","sha256":"b2bbd94075c693a27789a8f4bc52de78b7aefe5d8bb410a5407deccde3cda6f4"}{"path":"male/body/clip000-bind/f000000/p-30_y300_depth.png","sha256":"6b41f67d0ebb9e7e8946886abb5b3c0aca59d9ce66032f64813e321d493e4236"}{"path":"male/body/clip000-bind/f000000/p-30_y300_normal.png","sha256":"c7d44a5497410d9c0b4cc1ea59c794bf9ac0bc1305e317d26a2d485f7d1c0e7d"}{"path":"male/body/clip000-bind/f000000/p-30_y300_specular.png","sha256":"41323efd35b41f3b7ad0def7bacb05dbad522ef9db77f69ff545ad5a41a67ef4"}{"path":"male/body/clip000-bind/f000000/p-30_y330_diffuse.png","sha256":"910ef6223ace6609218524d2e57d50e53162cc01f0d4ab03fb5dc51bee5d208b"}{"path":"male/body/clip000-bind/f000000/p-30_y330_depth.png","sha256":"cad7ce15ad476bbf98bf2f140165afb328bf033ad61acf8b860bf507f318edd5"}{"path":"male/body/clip000-bind/f000000/p-30_y330_normal.png","sha256":"b83adaebae364eb98db6360825b268b5a0a5aa8fa8f92e0fb6512e302c0e67e0"}{"path":"male/body/clip000-bind/f000000/p-30_y330_specular.png","sha256":"e5557ab6258fff357496721a8dcf64d975bee41c6b58e19004e8d99d7260cb04"}{"path":"male/body/clip000-bind/f000000/p+00_y000_diffuse.png","sha256":"c423f919204965bd134bcaf03c8972637b7680586b2f224447da0573ea473985"}{"path":"male/body/clip000-bind/f000000/p+00_y000_depth.png","sha256":"d0d147693b595ca69203875fa272c4da6e1b4f36dafd35abed09c423e698476b"}{"path":"male/body/clip000-bind/f000000/p+00_y000_normal.png","sha256":"e94459bf831426f6a7f18e25a851736eebacb11a9b9ad055843a74f9c20ef1ff"}{"path":"male/body/clip000-bind/f000000/p+00_y000_specular.png","sha256":"603a9ef8a14a1707bb6c44356a08e766839b4331ba569acb238240ec09c83008"}{"path":"male/body/clip000-bind/f000000/p+00_y030_diffuse.png","sha256":"c0debdf30ac6e0210235a62451a6774c4cae1c0c653ff360f1fad30d1e18a4bd"}{"path":"male/body/clip000-bind/f000000/p+00_y030_depth.png","sha256":"08f13444bf028cc0da4b39c286806e7df5a305f52bcd3f11403f5edcdbb098aa"}{"path":"male/body/clip000-bind/f000000/p+00_y030_normal.png","sha256":"1bbed3e7a1f2719c67bde3971f3d89eb4c984d530981a7e705fe36943a5de095"}{"path":"male/body/clip000-bind/f000000/p+00_y030_specular.png","sha256":"d37be2ca979f881709a368d9920925f000a68dbc040d4c8aa5c65ea576a27d87"}{"path":"male/body/clip000-bind/f000000/p+00_y060_diffuse.png","sha256":"0191030593d19241782dec10b88892182f31c3ba7f27f7f1e3d85ec87bae2376"}{"path":"male/body/clip000-bind/f000000/p+00_y060_depth.png","sha256":"a5adadf1ca5515b5e04387d9eb04e1f80590cc4f563db806709bf34ab28f46c6"}{"path":"male/body/clip000-bind/f000000/p+00_y060_normal.png","sha256":"83b7d2035002d5e0fdcba8298007abb6de95ada35eec16809f8ac9a7aa2bdc68"}{"path":"male/body/clip000-bind/f000000/p+00_y060_specular.png","sha256":"dfd71b73f05c8f731d4e6de3ec7fab55a5b7b1589e8d73dee8f809764b040c94"}{"path":"male/body/clip000-bind/f000000/p+00_y090_diffuse.png","sha256":"ab028dec445caa2d45692522023100d16907b2d5a946dab49b5168b86a5ab926"}{"path":"male/body/clip000-bind/f000000/p+00_y090_depth.png","sha256":"3dfa6feaf34b8572aefe3d4b86e3d20d9e68d44b830375b0fc5a7ddf8fce5c56"}{"path":"male/body/clip000-bind/f000000/p+00_y090_normal.png","sha256":"bf4923fd6f687162e8a0f6077d821862ebae36bec64b3ae1c65fc76481759ccd"}{"path":"male/body/clip000-bind/f000000/p+00_y090_specular.png","sha256":"c5a1a711bd93b544371a2e565a74666d9be53e8be289ffcf574d2a99b3c8581c"}{"path":"male/body/clip000-bind/f000000/p+00_y120_diffuse.png","sha256":"e7b52bd398a822959b27120cdac77a418a141b0be1af1c8cf8295891d63fad9c"}{"path":"male/body/clip000-bind/f000000/p+00_y120_depth.png","sha256":"b5824f4462903401040cc0108319f566437dd3ccd2a8ba8940914b85c3b17911"}{"path":"male/body/clip000-bind/f000000/p+00_y120_normal.png","sha256":"87f0d296a1c2d8daadc039118a4b6a279f8803175de54e4a3a664d3afe177924"}{"path":"male/body/clip000-bind/f000000/p+00_y120_specular.png","sha256":"dfd71b73f05c8f731d4e6de3ec7fab55a5b7b1589e8d73dee8f809764b040c94"}{"path":"male/body/clip000-bind/f000000/p+00_y150_diffuse.png","sha256":"70926d465b87c09fd84f87e50316f0a8f4b059676031bafd22ea3395b95ece7a"}{"path":"male/body/clip000-bind/f000000/p+00_y150_depth.png","sha256":"50cfa38a47da56a7a938fafd768bd1750fb5d076c6318281218bed6b0b567276"}{"path":"male/body/clip000-bind/f000000/p+00_y150_normal.png","sha256":"d25647157dca638ee01073c347a49a807e494850cba78550d8345bda7e616d21"}{"path":"male/body/clip000-bind/f000000/p+00_y150_specular.png","sha256":"d37be2ca979f881709a368d9920925f000a68dbc040d4c8aa5c65ea576a27d87"}{"path":"male/body/clip000-bind/f000000/p+00_y180_diffuse.png","sha256":"c423f919204965bd134bcaf03c8972637b7680586b2f224447da0573ea473985"}{"path":"male/body/clip000-bind/f000000/p+00_y180_depth.png","sha256":"30f22bf4e9fe6de168fb57f82d798066c0f08e07c40c65c402c8391beb100409"}{"path":"male/body/clip000-bind/f000000/p+00_y180_normal.png","sha256":"9fe4065078878c069c87bf95ca0c945b679d2a3d330a79579cfdb2a57009e524"}{"path":"male/body/clip000-bind/f000000/p+00_y180_specular.png","sha256":"603a9ef8a14a1707bb6c44356a08e766839b4331ba569acb238240ec09c83008"}{"path":"male/body/clip000-bind/f000000/p+00_y210_diffuse.png","sha256":"bdea0ca0d09113f78ce6f8b02034a520117c52bd5e6a5e78724740fdfef421af"}{"path":"male/body/clip000-bind/f000000/p+00_y210_depth.png","sha256":"c3697cf0d66e87746c96066c8bc791ddaf54f42c11810e995904479d3ef0ef33"}{"path":"male/body/clip000-bind/f000000/p+00_y210_normal.png","sha256":"e47a96f0f5f997b88e2a142ad6a3c2f49e7cc73d9e3232d3e9ff262c102b87dd"}{"path":"male/body/clip000-bind/f000000/p+00_y210_specular.png","sha256":"0cc9f5fd8947655582f32f24b046f0abea2d210ffaa3a8e00d7f7ce4bdbe4f4f"}{"path":"male/body/clip000-bind/f000000/p+00_y240_diffuse.png","sha256":"98b940a19e26a457b0bed469ba338cddd6be9acb0f722ca177919e214224fb2f"}{"path":"male/body/clip000-bind/f000000/p+00_y240_depth.png","sha256":"1295345bbc5bf9b812a14c8eb9ba5ecfb6f134870b6985ce8369b4b5cdf3cef5"}{"path":"male/body/clip000-bind/f000000/p+00_y240_normal.png","sha256":"f0edb4d440b1b69fc0c4e5fccc9fc7d24d0675e64fd9b30bac551afdc3d914a2"}{"path":"male/body/clip000-bind/f000000/p+00_y240_specular.png","sha256":"12bb9c834900d1c65355faa90ccb097406cf85f483ebc56ae098dd69af5574fd"}{"path":"male/body/clip000-bind/f000000/p+00_y270_diffuse.png","sha256":"c9f7c6c5f7bf487e7d178131571f4bff3164aa1db2dc4e99d8cbc44b0eebfc08"}{"path":"male/body/clip000-bind/f000000/p+00_y270_depth.png","sha256":"fae867f2adbfecf82325bc9d05bc2f52fa63c21411b1b80959eac1a12f95f0ba"}{"path":"male/body/clip000-bind/f000000/p+00_y270_normal.png","sha256":"8cfaa080dcb42073ced360ff76cd7af9f874fa732b0185439f68d2cad967496a"}{"path":"male/body/clip000-bind/f000000/p+00_y270_specular.png","sha256":"ef516345cf4877b36f920d3f08831d861488eef83052cfb93377d4d2b3e5eb14"}{"path":"male/body/clip000-bind/f000000/p+00_y300_diffuse.png","sha256":"cf46951f8ea82b861141ebc2c92170aeedffe3efecad724b5d2637ce3597f78b"}{"path":"male/body/clip000-bind/f000000/p+00_y300_depth.png","sha256":"4e92778592ce85cec82be2ec3b53b2efb92e7aa70809276d304869c0b2312627"}{"path":"male/body/clip000-bind/f000000/p+00_y300_normal.png","sha256":"dd88fffa00f736bf2e7870416b540593ee1157cc9ed5c1b3494e7612a0c540b9"}{"path":"male/body/clip000-bind/f000000/p+00_y300_specular.png","sha256":"12bb9c834900d1c65355faa90ccb097406cf85f483ebc56ae098dd69af5574fd"}{"path":"male/body/clip000-bind/f000000/p+00_y330_diffuse.png","sha256":"66496fdd34514b10c349af2e5f44726ab20dc035ce3a0c14798595b3a77d694b"}{"path":"male/body/clip000-bind/f000000/p+00_y330_depth.png","sha256":"267600816e03db623c8a92de901ff07293361379c1682f8cc8ef01620f075cf5"}{"path":"male/body/clip000-bind/f000000/p+00_y330_normal.png","sha256":"4bf732e4001dae0ad732adab6e86b23e1d4c644e27a79f6b457c4be9ac259481"}{"path":"male/body/clip000-bind/f000000/p+00_y330_specular.png","sha256":"0cc9f5fd8947655582f32f24b046f0abea2d210ffaa3a8e00d7f7ce4bdbe4f4f"}{"path":"male/body/clip000-bind/f000000/p+30_y000_diffuse.png","sha256":"b6ce88868d57927e6e7ac6190c3d9172c5819eeeb7e95b7813a6095b9ce6353a"}{"path":"male/body/clip000-bind/f000000/p+30_y000_depth.png","sha256":"3c0c691168b29a0212aa4255c313b7ec682a1b9d8cc75b35df0297da8b3e1c4b"}{"path":"male/body/clip000-bind/f000000/p+30_y000_normal.png","sha256":"1a6b934da173d455cfc588bb6f1859ddb41604803080243a421d9874d15a0523"}{"path":"male/body/clip000-bind/f000000/p+30_y000_specular.png","sha256":"9673f9dafa397e95702509fa38fe971d8e54b8c3e87797777ef6464eccaccf2e"}{"path":"male/body/clip000-bind/f000000/p+30_y030_diffuse.png","sha256":"267088c19fddab61be13f5ecbb7619026a3fbd486584eeedf71e46fb81a6acdd"}{"path":"male/body/clip000-bind/f000000/p+30_y030_depth.png","sha256":"30a7f984329341872c5135bf3ad96f8718ed243b8f3274b0c81c9ba8b0c3a406"}{"path":"male/body/clip000-bind/f000000/p+30_y030_normal.png","sha256":"7ff4fe359807f82327d4c3eb2e2241e4e620e2ede2faf8b9428403c12eb8f365"}{"path":"male/body/clip000-bind/f000000/p+30_y030_specular.png","sha256":"4c5f8058f46af71285dc19d21cb85d338264d5c2adc3f6bd3737d5965d5e1a0c"}{"path":"male/body/clip000-bind/f000000/p+30_y060_diffuse.png","sha256":"42ae882a122a9adee586dcf0322bc8ce824c7185d12bcf9b51d2a2b63e0f9152"}{"path":"male/body/clip000-bind/f000000/p+30_y060_depth.png","sha256":"28013e2c5072016215e8a15765abe0258a134f7a59ee09e65c24814b1116eb1c"}{"path":"male/body/clip000-bind/f000000/p+30_y060_normal.png","sha256":"214f56be7469723537b5872886704b6f8a8fed2e2b6a668f7423ac79ceca5d78"}{"path":"male/body/clip000-bind/f000000/p+30_y060_specular.png","sha256":"bab1a3a87ddd015e649d9393ff99d6b22ca831176454802a4dd58eb463ea5e68"}{"path":"male/body/clip000-bind/f000000/p+30_y090_diffuse.png","sha256":"6b93cf6557b8e6301d8bede8e000d1368bb8f7055e1e00ef7a2140adea64fd05"}{"path":"male/body/clip000-bind/f000000/p+30_y090_depth.png","sha256":"5f9237c8f2f1dd9503cfc1e7f8bb447558586ee68c922e9a4aafed6776b5a300"}{"path":"male/body/clip000-bind/f000000/p+30_y090_normal.png","sha256":"1cc9f5ac55861be9bb6cc5b9299c3f0ca737c613df5f502f21fa9b922f8c9c2d"}{"path":"male/body/clip000-bind/f000000/p+30_y090_specular.png","sha256":"0d16fe69d09c07c334d6799a3609d3ca2288c08adedcc6f79cf94162d1592c34"}{"path":"male/body/clip000-bind/f000000/p+30_y120_diffuse.png","sha256":"12b8a84c5f8a73dfbb6a13d94e89c49b954d77b2b9b2d68b1070a079516b0b42"}{"path":"male/body/clip000-bind/f000000/p+30_y120_depth.png","sha256":"ac94a5701cc7ad8220da59d5abe35ade2f88056645be844a1b0b52d08ff59f29"}{"path":"male/body/clip000-bind/f000000/p+30_y120_normal.png","sha256":"fb64938dee7c981cc5388a01f3c213a2d2d4ca163ee3d37b36a6b8119ee3e929"}{"path":"male/body/clip000-bind/f000000/p+30_y120_specular.png","sha256":"8fa92ad0ff49c33004d182e1282f98c646304753014a39c4c23b45223b45b8a8"}{"path":"male/body/clip000-bind/f000000/p+30_y150_diffuse.png","sha256":"6a04aa6a8910f5fa31d25724444af17fe40ff69749550c3bebf16cd301377dd6"}{"path":"male/body/clip000-bind/f000000/p+30_y150_depth.png","sha256":"03d728d83872cb7deb55acb34d537472e7ae1df83eabc07e133329fda3f72be9"}{"path":"male/body/clip000-bind/f000000/p+30_y150_normal.png","sha256":"8f82a49318d222a618ca545443eb82b6ad4a03d8ddfd7dfc935caf5927329cc5"}{"path":"male/body/clip000-bind/f000000/p+30_y150_specular.png","sha256":"2d377867995fde1f7952587fe0b519c4bd4af7f23e42dbe2f59ff64c190622ed"}{"path":"male/body/clip000-bind/f000000/p+30_y180_diffuse.png","sha256":"6240309a2c1cbef8057e7b36cad938be5b3332fd50a32ae133e8781b35549392"}{"path":"male/body/clip000-bind/f000000/p+30_y180_depth.png","sha256":"9e4d08755f508ebda744caf46d94b2bc82e9f116408ab2a0b84841ec524bfa04"}{"path":"male/body/clip000-bind/f000000/p+30_y180_normal.png","sha256":"866eba267d0632b2e8aecdfb7ac24e6e9ee6ed48241ccf7bd77f1bad14a1d94e"}{"path":"male/body/clip000-bind/f000000/p+30_y180_specular.png","sha256":"324cc04a566333ed8c55d4ae258570cf146656158532b0335051af71458d640f"}{"path":"male/body/clip000-bind/f000000/p+30_y210_diffuse.png","sha256":"9e906c3393dd4147f477ce29099c6d900fa62a6b11b6dc56a1d2bdede756ecef"}{"path":"male/body/clip000-bind/f000000/p+30_y210_depth.png","sha256":"3e8d0e19ccbb57e4ef4a83ab4ffc01d2a8040e70862f5183944c1c831662a27b"}{"path":"male/body/clip000-bind/f000000/p+30_y210_normal.png","sha256":"1cf99f027f4833110ea2c5423a7aa7f06a85fe86e03ee65572329a6fb65c4a21"}{"path":"male/body/clip000-bind/f000000/p+30_y210_specular.png","sha256":"e5557ab6258fff357496721a8dcf64d975bee41c6b58e19004e8d99d7260cb04"}{"path":"male/body/clip000-bind/f000000/p+30_y240_diffuse.png","sha256":"7c10a7cb1c1c03fec464499ed517ab052c1ced39f695f9ae415fd1a7f27e7230"}{"path":"male/body/clip000-bind/f000000/p+30_y240_depth.png","sha256":"be9397e6372c2a17fcf94f2dd33eb5d9cccf14d82e8e62d5c97e71e986c780cc"}{"path":"male/body/clip000-bind/f000000/p+30_y240_normal.png","sha256":"a118c91fe423853a59a7f844020c7b5acbabc3a7152071e4ed8c4a19f392ecdb"}{"path":"male/body/clip000-bind/f000000/p+30_y240_specular.png","sha256":"41323efd35b41f3b7ad0def7bacb05dbad522ef9db77f69ff545ad5a41a67ef4"}{"path":"male/body/clip000-bind/f000000/p+30_y270_diffuse.png","sha256":"0a5f34568eb6dd1ad4ca5a3133958d06275c1e2f28c42aef17e9985ca145363e"}{"path":"male/body/clip000-bind/f000000/p+30_y270_depth.png","sha256":"c06f29b55194a89a00ffa5a5a728ef8b2cc5deed08cb19d8d285c810e276368c"}{"path":"male/body/clip000-bind/f000000/p+30_y270_normal.png","sha256":"62198e745c335fd3d351530b6b37148855c78b27295d79433bf60f8703345c6a"}{"path":"male/body/clip000-bind/f000000/p+30_y270_specular.png","sha256":"def640d3fcada94f8d0736aca7c9a5547193691f31fcd14e3199facf49c4c846"}{"path":"male/body/clip000-bind/f000000/p+30_y300_diffuse.png","sha256":"0396224d65e40650e89bb9e202035acf39bb1a74d3405e1a329febcce02536b7"}{"path":"male/body/clip000-bind/f000000/p+30_y300_depth.png","sha256":"d9691024262f18406f7722c8c0c52c831c807fcf6b5fe5ac5b6c259f3f0dbc63"}{"path":"male/body/clip000-bind/f000000/p+30_y300_normal.png","sha256":"144f29e6c9d7cadd70968e73a693b3aae4a773837b687c5f8f78adac94944c7e"}{"path":"male/body/clip000-bind/f000000/p+30_y300_specular.png","sha256":"2c5c9dfa335e54a37b71dc5dda0f0b3eb6eddeac2e6730f8dd260da3be4394bf"}{"path":"male/body/clip000-bind/f000000/p+30_y330_diffuse.png","sha256":"9726e504cb4c584c962da7ee09dd388df049a7e6171fe8942f9bc69957fc9ffc"}{"path":"male/body/clip000-bind/f000000/p+30_y330_depth.png","sha256":"e39902bbf1c5f06bcf8436763aa7a737fb6f2e0afe0a4aa261f95d1630452b76"}{"path":"male/body/clip000-bind/f000000/p+30_y330_normal.png","sha256":"6cec64448cb3129c67c197c47715480c070e1d59d178122d680f64c9fbd3e9dd"}{"path":"male/body/clip000-bind/f000000/p+30_y330_specular.png","sha256":"b4c65be93980e8774687af2f54be50777595dda0c8cc5df88153924164386400"}{"path":"male/body/clip000-bind/f000000/p+60_y000_diffuse.png","sha256":"660ace3a24ee8c7d4dea8ea27c60d602dafa18624b0994b2fe5ec59a31f79a28"}{"path":"male/body/clip000-bind/f000000/p+60_y000_depth.png","sha256":"c4c96e07593ebf8f43feab481bcbeb1ee0cce39048725bae329db7a0511a6ae7"}{"path":"male/body/clip000-bind/f000000/p+60_y000_normal.png","sha256":"1444c526fd274a68a19203f24578e13f97449a3b0d0169bcdc4b668b38446cae"}{"path":"male/body/clip000-bind/f000000/p+60_y000_specular.png","sha256":"c7fb38fe5d40857cf230fa561343b50bf810cd6dafc58f60e8c33464564529d5"}{"path":"male/body/clip000-bind/f000000/p+60_y030_diffuse.png","sha256":"22f312be90fb8b58a59f116b7339280842c29483fa867063f3c720c9669dcaf0"}{"path":"male/body/clip000-bind/f000000/p+60_y030_depth.png","sha256":"f1b57a410f4a463da3c818b51d1e5c5832ab31d22fb0ce7d15066c9dbcadb48e"}{"path":"male/body/clip000-bind/f000000/p+60_y030_normal.png","sha256":"8c702e8014b0ed0f2e6f14ad988ab314eeff51f6ef61e3a7badef7bddc101555"}{"path":"male/body/clip000-bind/f000000/p+60_y030_specular.png","sha256":"87a5090095182ab1fe8e4913d5900fd4009c8e794eaef38352e835be73deae90"}{"path":"male/body/clip000-bind/f000000/p+60_y060_diffuse.png","sha256":"9e627cf8c37b3c33a733b3afaeae53d649fdf689623d7787bc160f31607f1783"}{"path":"male/body/clip000-bind/f000000/p+60_y060_depth.png","sha256":"52e25876e1353eac16008408698289b96a85a87f40899389e9b60fa364050a44"}{"path":"male/body/clip000-bind/f000000/p+60_y060_normal.png","sha256":"9ffb387e01c429bddd7185eb110fa9686a03bd4e068cbf9395b8ea318b116125"}{"path":"male/body/clip000-bind/f000000/p+60_y060_specular.png","sha256":"5bc7f328c93f5cbdc91e278ed9fa29a66bf10b68924368d021f1d71145a00604"}{"path":"male/body/clip000-bind/f000000/p+60_y090_diffuse.png","sha256":"28625f40fdbee24eb6bca0e343e62ee02a23a5cc4a6213f182dc6aa6e21f2711"}{"path":"male/body/clip000-bind/f000000/p+60_y090_depth.png","sha256":"6cb452800635b6033975053b221673d9a2d1256ec9b911a87a3d69b71a9c120f"}{"path":"male/body/clip000-bind/f000000/p+60_y090_normal.png","sha256":"ca3b83f912ccf459542d7f15007f20c0baa34bfb81acbb54a6159aecea13c79c"}{"path":"male/body/clip000-bind/f000000/p+60_y090_specular.png","sha256":"7e5d53242af0feacc023ca241e3dfbce42b76bee82e5d24e018ad2accf4b53ae"}{"path":"male/body/clip000-bind/f000000/p+60_y120_diffuse.png","sha256":"392dc463b8d1c3c2d9494d12caf19f8d2d9a8f7c71f7deae51d432b0110401bf"}{"path":"male/body/clip000-bind/f000000/p+60_y120_depth.png","sha256":"6c2ecf6ba066a53d9618ed7bbcc4ae2efb41101aa7be1307e206976b367436cf"}{"path":"male/body/clip000-bind/f000000/p+60_y120_normal.png","sha256":"5fff4aeed846b05f2f26cd359c4e6e32efc8d8663ba92e4f77aa8f732380db95"}{"path":"male/body/clip000-bind/f000000/p+60_y120_specular.png","sha256":"387edd2bf133ceb8d156544743ce6c1b6b1967fd90c7e0435f9b391ebc5e9a15"}{"path":"male/body/clip000-bind/f000000/p+60_y150_diffuse.png","sha256":"c599507f769d693a0cbc09f6f44c8d10da566d622a6b05f6594ff43c13f29e12"}{"path":"male/body/clip000-bind/f000000/p+60_y150_depth.png","sha256":"f101ed8387e46176dc649b66a099f7cc4228f149259f2ae66a33e3124ccc8b0a"}{"path":"male/body/clip000-bind/f000000/p+60_y150_normal.png","sha256":"b95299d07bfd54aa6c19e0ef1c7863cbfc8d39fbbf645b7766500e9d8478f616"}{"path":"male/body/clip000-bind/f000000/p+60_y150_specular.png","sha256":"fd4f6dd0ec91ea31c00facb88a301d76fe6190ee31f5a9d818a67d81958b7375"}{"path":"male/body/clip000-bind/f000000/p+60_y180_diffuse.png","sha256":"6f2d016371935ab1f1a77bed2c7e0be71fef53fd73b4b68d24b0812a8677c617"}{"path":"male/body/clip000-bind/f000000/p+60_y180_depth.png","sha256":"eab0a63b6147df70c041ce63e4c2cf67fbfb2134804e55dd4633f40e200dd91b"}{"path":"male/body/clip000-bind/f000000/p+60_y180_normal.png","sha256":"7c3aaec3d3a48919cd2fefcd86d7aab8d486f1a31f081238c48924c9300fb3d6"}{"path":"male/body/clip000-bind/f000000/p+60_y180_specular.png","sha256":"fee033e18cb1ba1571049fc88043a99c7edcbbb16d5be73bb0094dcf391f19a3"}{"path":"male/body/clip000-bind/f000000/p+60_y210_diffuse.png","sha256":"16cd0f3e2e04b85adcd146799b363e6dfa423a41805b302f47d5a8dba4f00021"}{"path":"male/body/clip000-bind/f000000/p+60_y210_depth.png","sha256":"a7c9c8fedc0c3a55c298efa6ea1355d0008417735d4d302181c520bc2f9ff5da"}{"path":"male/body/clip000-bind/f000000/p+60_y210_normal.png","sha256":"90b705a2694c817312a8db054825634e08147e0999fc13b8a5ed6a76df0b39cc"}{"path":"male/body/clip000-bind/f000000/p+60_y210_specular.png","sha256":"31c34d2e368393bcbed604c6da0e5e0cfa17197ceef59ea6d60c64b482952a98"}{"path":"male/body/clip000-bind/f000000/p+60_y240_diffuse.png","sha256":"976bd4958ad9716361b11f67418c5fc41938c286aaa36448f18bd3bf7f6c3afb"}{"path":"male/body/clip000-bind/f000000/p+60_y240_depth.png","sha256":"076654d58585d839f6ffa3acba4a6bf049b4474a99b1d490841c4b405ce09c7e"}{"path":"male/body/clip000-bind/f000000/p+60_y240_normal.png","sha256":"44578198dea17749bac6d87c1e879420f5ae1010bb3241b405fa649d0b7e33f4"}{"path":"male/body/clip000-bind/f000000/p+60_y240_specular.png","sha256":"537b832ffc6aa1bbe21faa6670cc1caad41aab283eefcbc03debc7d47961a90b"}{"path":"male/body/clip000-bind/f000000/p+60_y270_diffuse.png","sha256":"22e2c045155a7b76f6b2fbb2a294baca83facf0b523516b37a1baf32c7a14830"}{"path":"male/body/clip000-bind/f000000/p+60_y270_depth.png","sha256":"3d35a269cb64b579eb2620c54f407d439ab7c2a0bf71518c08514084c5b3178c"}{"path":"male/body/clip000-bind/f000000/p+60_y270_normal.png","sha256":"dc160871e4940cb0667fe28a68b5160b1b4ce2087e1757887568e81e45ebd45c"}{"path":"male/body/clip000-bind/f000000/p+60_y270_specular.png","sha256":"8d4820d4c508b2d08e16221a01c4a42b057f5eff9bbc8bf889d860f6bf3566b3"}{"path":"male/body/clip000-bind/f000000/p+60_y300_diffuse.png","sha256":"67dbf1f01422b3f7897f9fc76fe0d9f8f45c4242db58393df4ee05b6d5f0bc21"}{"path":"male/body/clip000-bind/f000000/p+60_y300_depth.png","sha256":"4c1d660d43f0ea3ad2561517fbc639c69c2001e91ce36ed44089e3bc80884f05"}{"path":"male/body/clip000-bind/f000000/p+60_y300_normal.png","sha256":"a72432ddf15c088e86dde2955b88c24174ea3de43de611e62435d2913a0d34b6"}{"path":"male/body/clip000-bind/f000000/p+60_y300_specular.png","sha256":"f1fcc92887665ef411b19121ad7517f90b8dca5b4cfe8eb0a8979de0d23f3fbe"}{"path":"male/body/clip000-bind/f000000/p+60_y330_diffuse.png","sha256":"94924592a6585d0f8f19dc917d197b28f6be2cf5199646c2cd5bae11415f8352"}{"path":"male/body/clip000-bind/f000000/p+60_y330_depth.png","sha256":"b33cb3274b8de53051c028b1c4564628c4a8685c8e4e9c77a2827580459613c2"}{"path":"male/body/clip000-bind/f000000/p+60_y330_normal.png","sha256":"395dae6030daa9e837dbdb9f3f888fb642c9d5fbbbcaf4b45bb961fc9c730923"}{"path":"male/body/clip000-bind/f000000/p+60_y330_specular.png","sha256":"4672e0e1f2c26ac7450dcf2b4a10b00f15c42cbb04775e5d215adc242367ef00"}@@ -0,0 +1,90 @@
{
"alpha": "straight, opaque/cutout, coverage resolve",
"body_model": {
"path": "tests/fixtures/bodies/static/static-body-male.obj",
"sha256": "f4f05cb8764aec8a8ba9f47d81933e5e613f8457b424435258b3d87552a7339e"
},
"camera_distance": 10.0,
"clips": [
{
"duration": 0.0,
"frames": 1,
"name": "",
"token": "clip000-bind"
}
],
"depth": "16-bit gray+alpha; distance=near+(sample/65535)*(far-near); per-sex fixed range, out-of-range clamped",
"depth_encoding": "linear: distance = depth_near + (sample/65535)*(depth_far-depth_near); 16-bit gray+alpha; clamped to [near,far]",
"depth_far": 11.300000190734863,
"depth_near": 8.699999809265137,
"diffuse": "unlit sRGB albedo × vertex color, linear-light detail resolve",
"equipment_preset": null,
"far": 11.300000190734863,
"format_version": 5,
"fps": 2,
"framing": {
"center_y_milli": 1000,
"height_milli": 2600,
"pivot_y_milli": 1000
},
"highres_scale": 8,
"images": 60,
"near": 8.699999809265137,
"normal_space": "view (+Y up), PNG rows top-down",
"pass_order": [
"highres",
"detail",
"target-res / diffuse",
"depth",
"normal",
"specular"
],
"passes": 360,
"pitches": [
-60,
-30,
0,
30,
60
],
"pivot_source": {
"kind": "fallback",
"reason": "Statisch lichaam zonder skeleton: geen nekbot"
},
"png_files": 240,
"project": {
"id": "ppd-18e5be694a41d971",
"name": "Nieuw project"
},
"sampling": "clip -> frame (t=frame/fps) -> pitch -> yaw -> pass; ceil(duration*fps) snapped within 4*f32_epsilon*max(1,samples) of an integer to omit floating terminal duplicates; root motion retained",
"saved_maps": [
"diffuse",
"depth",
"normal",
"specular"
],
"set": "body",
"sex": "male",
"specular": "linear scalar; body defaults zero",
"status": "incomplete",
"target": [
16,
24
],
"yaw_step": 30,
"yaw_zero": "camera on -Z",
"yaws": [
0,
30,
60,
90,
120,
150,
180,
210,
240,
270,
300,
330
]
}
@@ -0,0 +1,90 @@{ "alpha": "straight, opaque/cutout, coverage resolve", "body_model": { "path": "tests/fixtures/bodies/static/static-body-male.obj", "sha256": "f4f05cb8764aec8a8ba9f47d81933e5e613f8457b424435258b3d87552a7339e" }, "camera_distance": 10.0, "clips": [ { "duration": 0.0, "frames": 1, "name": "", "token": "clip000-bind" } ], "depth": "16-bit gray+alpha; distance=near+(sample/65535)*(far-near); per-sex fixed range, out-of-range clamped", "depth_encoding": "linear: distance = depth_near + (sample/65535)*(depth_far-depth_near); 16-bit gray+alpha; clamped to [near,far]", "depth_far": 11.300000190734863, "depth_near": 8.699999809265137, "diffuse": "unlit sRGB albedo × vertex color, linear-light detail resolve", "equipment_preset": null, "far": 11.300000190734863, "format_version": 5, "fps": 2, "framing": { "center_y_milli": 1000, "height_milli": 2600, "pivot_y_milli": 1000 }, "highres_scale": 8, "images": 60, "near": 8.699999809265137, "normal_space": "view (+Y up), PNG rows top-down", "pass_order": [ "highres", "detail", "target-res / diffuse", "depth", "normal", "specular" ], "passes": 360, "pitches": [ -60, -30, 0, 30, 60 ], "pivot_source": { "kind": "fallback", "reason": "Statisch lichaam zonder skeleton: geen nekbot" }, "png_files": 240, "project": { "id": "ppd-18e5be694a41d971", "name": "Nieuw project" }, "sampling": "clip -> frame (t=frame/fps) -> pitch -> yaw -> pass; ceil(duration*fps) snapped within 4*f32_epsilon*max(1,samples) of an integer to omit floating terminal duplicates; root motion retained", "saved_maps": [ "diffuse", "depth", "normal", "specular" ], "set": "body", "sex": "male", "specular": "linear scalar; body defaults zero", "status": "incomplete", "target": [ 16, 24 ], "yaw_step": 30, "yaw_zero": "camera on -Z", "yaws": [ 0, 30, 60, 90, 120, 150, 180, 210, 240, 270, 300, 330 ]}@@ -0,0 +1,313 @@
{
"atlas": {
"maps": {
"depth": {
"file": "female-body-depth-atlas.png",
"sha256": "5ff4a97adeb10ce5106a7eb330493dd0bb5650712383b835fb3a4cf3afcb93fa"
},
"diffuse": {
"file": "female-body-diffuse-atlas.png",
"sha256": "77c4ce766320f6895e0213fd45cd4e1b4dcba2fc1e91b1907de1227af95f5b00"
},
"normal": {
"file": "female-body-normal-atlas.png",
"sha256": "a5c04db35e3d986de8e1c33162ecda8de76a0811a1724294924df59916137840"
},
"specular": {
"file": "female-body-specular-atlas.png",
"sha256": "2af936f4d835da83d6447d42a212bef0adbd2a2624408ea3d4633f055752609f"
}
},
"ppda": "female-body-atlas.ppda",
"ppda_sha256": "8df858076f0059ac091038bfd7c22ed0342e2340bcf677b877ced2a4d495ec4b"
},
"depth_clamped": {
"highres_pixels": 0,
"note": "rendered this attempt; kept files from a resumed run are not re-counted",
"views": 0
},
"format_version": 5,
"identity": {
"body_model_sha256": "672e8ec453c674803bf39620e24f8747052045d8aaac7911b7665c1fda7a08d7",
"clips": [
{
"duration": 0.0,
"frames": 1,
"name": "",
"token": "clip000-bind"
}
],
"equipment_preset_sha256": null,
"far": 11.300000190734863,
"fps": 2,
"framing": {
"center_y_milli": 1000,
"height_milli": 2600,
"pivot_y_milli": 1000
},
"near": 8.699999809265137,
"pivot_source": {
"kind": "fallback",
"reason": "Statisch lichaam zonder skeleton: geen nekbot"
},
"project_id": "ppd-18e5be694a41d971",
"project_name": "Nieuw project",
"saved_maps": [
"diffuse",
"depth",
"normal",
"specular"
],
"set": "body",
"sex": "female",
"target": [
16,
24
]
},
"passes": 360,
"png_files": 240,
"png_sha256": {
"female/body/clip000-bind/f000000/p+00_y000_depth.png": "d0d147693b595ca69203875fa272c4da6e1b4f36dafd35abed09c423e698476b",
"female/body/clip000-bind/f000000/p+00_y000_diffuse.png": "184a6a613c3247a405b541d92ac0d574c4a644d730147b83f3cdffe8222dffd8",
"female/body/clip000-bind/f000000/p+00_y000_normal.png": "e94459bf831426f6a7f18e25a851736eebacb11a9b9ad055843a74f9c20ef1ff",
"female/body/clip000-bind/f000000/p+00_y000_specular.png": "603a9ef8a14a1707bb6c44356a08e766839b4331ba569acb238240ec09c83008",
"female/body/clip000-bind/f000000/p+00_y030_depth.png": "08f13444bf028cc0da4b39c286806e7df5a305f52bcd3f11403f5edcdbb098aa",
"female/body/clip000-bind/f000000/p+00_y030_diffuse.png": "4b52655644f6a8f457b6aff09b4c21d60d1ca277518b82f28266afc46f6c1425",
"female/body/clip000-bind/f000000/p+00_y030_normal.png": "1bbed3e7a1f2719c67bde3971f3d89eb4c984d530981a7e705fe36943a5de095",
"female/body/clip000-bind/f000000/p+00_y030_specular.png": "d37be2ca979f881709a368d9920925f000a68dbc040d4c8aa5c65ea576a27d87",
"female/body/clip000-bind/f000000/p+00_y060_depth.png": "a5adadf1ca5515b5e04387d9eb04e1f80590cc4f563db806709bf34ab28f46c6",
"female/body/clip000-bind/f000000/p+00_y060_diffuse.png": "f0386a31d2e6685474643d83d74b89538f777801cd7ab6d4c36455181f9959f2",
"female/body/clip000-bind/f000000/p+00_y060_normal.png": "83b7d2035002d5e0fdcba8298007abb6de95ada35eec16809f8ac9a7aa2bdc68",
"female/body/clip000-bind/f000000/p+00_y060_specular.png": "dfd71b73f05c8f731d4e6de3ec7fab55a5b7b1589e8d73dee8f809764b040c94",
"female/body/clip000-bind/f000000/p+00_y090_depth.png": "3dfa6feaf34b8572aefe3d4b86e3d20d9e68d44b830375b0fc5a7ddf8fce5c56",
"female/body/clip000-bind/f000000/p+00_y090_diffuse.png": "642327f2eeb976ebbbd0c7ab36be299c99d24e242efdeab7be52781abd143300",
"female/body/clip000-bind/f000000/p+00_y090_normal.png": "96691b5434102e5f233d628d6fe144acdd889fe80ef3065199e184adfc918993",
"female/body/clip000-bind/f000000/p+00_y090_specular.png": "c5a1a711bd93b544371a2e565a74666d9be53e8be289ffcf574d2a99b3c8581c",
"female/body/clip000-bind/f000000/p+00_y120_depth.png": "b5824f4462903401040cc0108319f566437dd3ccd2a8ba8940914b85c3b17911",
"female/body/clip000-bind/f000000/p+00_y120_diffuse.png": "f0386a31d2e6685474643d83d74b89538f777801cd7ab6d4c36455181f9959f2",
"female/body/clip000-bind/f000000/p+00_y120_normal.png": "87f0d296a1c2d8daadc039118a4b6a279f8803175de54e4a3a664d3afe177924",
"female/body/clip000-bind/f000000/p+00_y120_specular.png": "dfd71b73f05c8f731d4e6de3ec7fab55a5b7b1589e8d73dee8f809764b040c94",
"female/body/clip000-bind/f000000/p+00_y150_depth.png": "50cfa38a47da56a7a938fafd768bd1750fb5d076c6318281218bed6b0b567276",
"female/body/clip000-bind/f000000/p+00_y150_diffuse.png": "4b52655644f6a8f457b6aff09b4c21d60d1ca277518b82f28266afc46f6c1425",
"female/body/clip000-bind/f000000/p+00_y150_normal.png": "d25647157dca638ee01073c347a49a807e494850cba78550d8345bda7e616d21",
"female/body/clip000-bind/f000000/p+00_y150_specular.png": "d37be2ca979f881709a368d9920925f000a68dbc040d4c8aa5c65ea576a27d87",
"female/body/clip000-bind/f000000/p+00_y180_depth.png": "30f22bf4e9fe6de168fb57f82d798066c0f08e07c40c65c402c8391beb100409",
"female/body/clip000-bind/f000000/p+00_y180_diffuse.png": "184a6a613c3247a405b541d92ac0d574c4a644d730147b83f3cdffe8222dffd8",
"female/body/clip000-bind/f000000/p+00_y180_normal.png": "e94459bf831426f6a7f18e25a851736eebacb11a9b9ad055843a74f9c20ef1ff",
"female/body/clip000-bind/f000000/p+00_y180_specular.png": "603a9ef8a14a1707bb6c44356a08e766839b4331ba569acb238240ec09c83008",
"female/body/clip000-bind/f000000/p+00_y210_depth.png": "c3697cf0d66e87746c96066c8bc791ddaf54f42c11810e995904479d3ef0ef33",
"female/body/clip000-bind/f000000/p+00_y210_diffuse.png": "581f562b9bc3ccd8c7bf1b382f15d24dd1ea69c81f9560b3fe88b4fd549f8e29",
"female/body/clip000-bind/f000000/p+00_y210_normal.png": "e47a96f0f5f997b88e2a142ad6a3c2f49e7cc73d9e3232d3e9ff262c102b87dd",
"female/body/clip000-bind/f000000/p+00_y210_specular.png": "0cc9f5fd8947655582f32f24b046f0abea2d210ffaa3a8e00d7f7ce4bdbe4f4f",
"female/body/clip000-bind/f000000/p+00_y240_depth.png": "1295345bbc5bf9b812a14c8eb9ba5ecfb6f134870b6985ce8369b4b5cdf3cef5",
"female/body/clip000-bind/f000000/p+00_y240_diffuse.png": "aa25de6f43af59e971480e7ffd8459ab6137be1e6f887d2e33e9c4a1a950674a",
"female/body/clip000-bind/f000000/p+00_y240_normal.png": "f0edb4d440b1b69fc0c4e5fccc9fc7d24d0675e64fd9b30bac551afdc3d914a2",
"female/body/clip000-bind/f000000/p+00_y240_specular.png": "12bb9c834900d1c65355faa90ccb097406cf85f483ebc56ae098dd69af5574fd",
"female/body/clip000-bind/f000000/p+00_y270_depth.png": "fae867f2adbfecf82325bc9d05bc2f52fa63c21411b1b80959eac1a12f95f0ba",
"female/body/clip000-bind/f000000/p+00_y270_diffuse.png": "154f90eea8dd86c25c4355f6830903cb81c6070dac4d3ecab71340e9679efe10",
"female/body/clip000-bind/f000000/p+00_y270_normal.png": "8cfaa080dcb42073ced360ff76cd7af9f874fa732b0185439f68d2cad967496a",
"female/body/clip000-bind/f000000/p+00_y270_specular.png": "ef516345cf4877b36f920d3f08831d861488eef83052cfb93377d4d2b3e5eb14",
"female/body/clip000-bind/f000000/p+00_y300_depth.png": "4e92778592ce85cec82be2ec3b53b2efb92e7aa70809276d304869c0b2312627",
"female/body/clip000-bind/f000000/p+00_y300_diffuse.png": "aa25de6f43af59e971480e7ffd8459ab6137be1e6f887d2e33e9c4a1a950674a",
"female/body/clip000-bind/f000000/p+00_y300_normal.png": "dd88fffa00f736bf2e7870416b540593ee1157cc9ed5c1b3494e7612a0c540b9",
"female/body/clip000-bind/f000000/p+00_y300_specular.png": "12bb9c834900d1c65355faa90ccb097406cf85f483ebc56ae098dd69af5574fd",
"female/body/clip000-bind/f000000/p+00_y330_depth.png": "267600816e03db623c8a92de901ff07293361379c1682f8cc8ef01620f075cf5",
"female/body/clip000-bind/f000000/p+00_y330_diffuse.png": "581f562b9bc3ccd8c7bf1b382f15d24dd1ea69c81f9560b3fe88b4fd549f8e29",
"female/body/clip000-bind/f000000/p+00_y330_normal.png": "4bf732e4001dae0ad732adab6e86b23e1d4c644e27a79f6b457c4be9ac259481",
"female/body/clip000-bind/f000000/p+00_y330_specular.png": "0cc9f5fd8947655582f32f24b046f0abea2d210ffaa3a8e00d7f7ce4bdbe4f4f",
"female/body/clip000-bind/f000000/p+30_y000_depth.png": "3c0c691168b29a0212aa4255c313b7ec682a1b9d8cc75b35df0297da8b3e1c4b",
"female/body/clip000-bind/f000000/p+30_y000_diffuse.png": "2e9170fccaaa40954adb6af75e7292eeb611147ca109f7bb97b6408c614d5a04",
"female/body/clip000-bind/f000000/p+30_y000_normal.png": "1a6b934da173d455cfc588bb6f1859ddb41604803080243a421d9874d15a0523",
"female/body/clip000-bind/f000000/p+30_y000_specular.png": "9673f9dafa397e95702509fa38fe971d8e54b8c3e87797777ef6464eccaccf2e",
"female/body/clip000-bind/f000000/p+30_y030_depth.png": "30a7f984329341872c5135bf3ad96f8718ed243b8f3274b0c81c9ba8b0c3a406",
"female/body/clip000-bind/f000000/p+30_y030_diffuse.png": "0da0f035d2909ca467d6e30f3dba974d541b3e02aef9739754797d682b4aa6da",
"female/body/clip000-bind/f000000/p+30_y030_normal.png": "7ff4fe359807f82327d4c3eb2e2241e4e620e2ede2faf8b9428403c12eb8f365",
"female/body/clip000-bind/f000000/p+30_y030_specular.png": "4c5f8058f46af71285dc19d21cb85d338264d5c2adc3f6bd3737d5965d5e1a0c",
"female/body/clip000-bind/f000000/p+30_y060_depth.png": "d2f88e89ab01fc6fceb0c6cc6c01e0e5f1c8a906c66be68cd6095ecaae6cfc8c",
"female/body/clip000-bind/f000000/p+30_y060_diffuse.png": "c93bdfa3278b53c45e6cc95f6838f4597b27d9b671a8dce7abb433457f60c794",
"female/body/clip000-bind/f000000/p+30_y060_normal.png": "214f56be7469723537b5872886704b6f8a8fed2e2b6a668f7423ac79ceca5d78",
"female/body/clip000-bind/f000000/p+30_y060_specular.png": "bab1a3a87ddd015e649d9393ff99d6b22ca831176454802a4dd58eb463ea5e68",
"female/body/clip000-bind/f000000/p+30_y090_depth.png": "5f9237c8f2f1dd9503cfc1e7f8bb447558586ee68c922e9a4aafed6776b5a300",
"female/body/clip000-bind/f000000/p+30_y090_diffuse.png": "dba4e63c3fc0c975d2f5e7222128958da53486b11863756415a96c3e92a4dd90",
"female/body/clip000-bind/f000000/p+30_y090_normal.png": "4d56a04634fe65711e232cd9d859271b64165a4de0ada606719fbccc63bc75f8",
"female/body/clip000-bind/f000000/p+30_y090_specular.png": "0d16fe69d09c07c334d6799a3609d3ca2288c08adedcc6f79cf94162d1592c34",
"female/body/clip000-bind/f000000/p+30_y120_depth.png": "ac94a5701cc7ad8220da59d5abe35ade2f88056645be844a1b0b52d08ff59f29",
"female/body/clip000-bind/f000000/p+30_y120_diffuse.png": "cbb340fa858052050b3e8bfc187b60a705b0a31026bfbd8fe89d09de660f18f5",
"female/body/clip000-bind/f000000/p+30_y120_normal.png": "fb64938dee7c981cc5388a01f3c213a2d2d4ca163ee3d37b36a6b8119ee3e929",
"female/body/clip000-bind/f000000/p+30_y120_specular.png": "8fa92ad0ff49c33004d182e1282f98c646304753014a39c4c23b45223b45b8a8",
"female/body/clip000-bind/f000000/p+30_y150_depth.png": "03d728d83872cb7deb55acb34d537472e7ae1df83eabc07e133329fda3f72be9",
"female/body/clip000-bind/f000000/p+30_y150_diffuse.png": "4083a7ba2c16fa591fa6a0e4b6dc8f668566d80d92faae0cc171d92026526e0f",
"female/body/clip000-bind/f000000/p+30_y150_normal.png": "8f82a49318d222a618ca545443eb82b6ad4a03d8ddfd7dfc935caf5927329cc5",
"female/body/clip000-bind/f000000/p+30_y150_specular.png": "2d377867995fde1f7952587fe0b519c4bd4af7f23e42dbe2f59ff64c190622ed",
"female/body/clip000-bind/f000000/p+30_y180_depth.png": "45716a8497503471feaf250da2fe8c3c9fcdc65f7a53ce837f1c017c43d3c897",
"female/body/clip000-bind/f000000/p+30_y180_diffuse.png": "8fcfd1a3782ff50663f299a6a6d75b15ee08d012c34bedda5dce1fb9f313eb70",
"female/body/clip000-bind/f000000/p+30_y180_normal.png": "8848f8c566f60109e1e82ccb8e3d2ff224706e275afa9cc0fa9732f185fdfce7",
"female/body/clip000-bind/f000000/p+30_y180_specular.png": "324cc04a566333ed8c55d4ae258570cf146656158532b0335051af71458d640f",
"female/body/clip000-bind/f000000/p+30_y210_depth.png": "3e8d0e19ccbb57e4ef4a83ab4ffc01d2a8040e70862f5183944c1c831662a27b",
"female/body/clip000-bind/f000000/p+30_y210_diffuse.png": "5fb54b2d8ee8bdd5a30ebcf91b76c7c3ad48592531083f4a799f173817fed87b",
"female/body/clip000-bind/f000000/p+30_y210_normal.png": "1cf99f027f4833110ea2c5423a7aa7f06a85fe86e03ee65572329a6fb65c4a21",
"female/body/clip000-bind/f000000/p+30_y210_specular.png": "e5557ab6258fff357496721a8dcf64d975bee41c6b58e19004e8d99d7260cb04",
"female/body/clip000-bind/f000000/p+30_y240_depth.png": "be9397e6372c2a17fcf94f2dd33eb5d9cccf14d82e8e62d5c97e71e986c780cc",
"female/body/clip000-bind/f000000/p+30_y240_diffuse.png": "d7f3bd43781f32b0a5f14c350e84150fce1ed485fa5ea0838cab5c01de24319f",
"female/body/clip000-bind/f000000/p+30_y240_normal.png": "a118c91fe423853a59a7f844020c7b5acbabc3a7152071e4ed8c4a19f392ecdb",
"female/body/clip000-bind/f000000/p+30_y240_specular.png": "41323efd35b41f3b7ad0def7bacb05dbad522ef9db77f69ff545ad5a41a67ef4",
"female/body/clip000-bind/f000000/p+30_y270_depth.png": "c06f29b55194a89a00ffa5a5a728ef8b2cc5deed08cb19d8d285c810e276368c",
"female/body/clip000-bind/f000000/p+30_y270_diffuse.png": "9adbd706437f0423ee2705ca7fe15a7cc21a1619c11efd9f84cbe3c4e84bc3e8",
"female/body/clip000-bind/f000000/p+30_y270_normal.png": "62198e745c335fd3d351530b6b37148855c78b27295d79433bf60f8703345c6a",
"female/body/clip000-bind/f000000/p+30_y270_specular.png": "def640d3fcada94f8d0736aca7c9a5547193691f31fcd14e3199facf49c4c846",
"female/body/clip000-bind/f000000/p+30_y300_depth.png": "d9691024262f18406f7722c8c0c52c831c807fcf6b5fe5ac5b6c259f3f0dbc63",
"female/body/clip000-bind/f000000/p+30_y300_diffuse.png": "7a22854f038bca1d7eb3f57281f8b5f685aaae77c395aa294775d621d677176d",
"female/body/clip000-bind/f000000/p+30_y300_normal.png": "144f29e6c9d7cadd70968e73a693b3aae4a773837b687c5f8f78adac94944c7e",
"female/body/clip000-bind/f000000/p+30_y300_specular.png": "2c5c9dfa335e54a37b71dc5dda0f0b3eb6eddeac2e6730f8dd260da3be4394bf",
"female/body/clip000-bind/f000000/p+30_y330_depth.png": "0b9da2cad56e93b0b5997e29aa689b882fc7211bb589e3bb5e364e50c783298c",
"female/body/clip000-bind/f000000/p+30_y330_diffuse.png": "feadf62fe1283064c6d879a6c25ae645037c16477bbc5599c1113d4be0fd18d3",
"female/body/clip000-bind/f000000/p+30_y330_normal.png": "6cec64448cb3129c67c197c47715480c070e1d59d178122d680f64c9fbd3e9dd",
"female/body/clip000-bind/f000000/p+30_y330_specular.png": "b4c65be93980e8774687af2f54be50777595dda0c8cc5df88153924164386400",
"female/body/clip000-bind/f000000/p+60_y000_depth.png": "c4c96e07593ebf8f43feab481bcbeb1ee0cce39048725bae329db7a0511a6ae7",
"female/body/clip000-bind/f000000/p+60_y000_diffuse.png": "a60a8f1426697dc86be3e17adef9ed60f0924d6842471729da576d68079297f3",
"female/body/clip000-bind/f000000/p+60_y000_normal.png": "1444c526fd274a68a19203f24578e13f97449a3b0d0169bcdc4b668b38446cae",
"female/body/clip000-bind/f000000/p+60_y000_specular.png": "c7fb38fe5d40857cf230fa561343b50bf810cd6dafc58f60e8c33464564529d5",
"female/body/clip000-bind/f000000/p+60_y030_depth.png": "0032df464c0c1c2d63cb092d4125bf9bed2213e814ba6d0b3f3b87ef1a586083",
"female/body/clip000-bind/f000000/p+60_y030_diffuse.png": "1eb5cc7fa6d242f61869e5b1524fe2bd33e7018f8bf1d33b934ad61a0353a392",
"female/body/clip000-bind/f000000/p+60_y030_normal.png": "8c702e8014b0ed0f2e6f14ad988ab314eeff51f6ef61e3a7badef7bddc101555",
"female/body/clip000-bind/f000000/p+60_y030_specular.png": "87a5090095182ab1fe8e4913d5900fd4009c8e794eaef38352e835be73deae90",
"female/body/clip000-bind/f000000/p+60_y060_depth.png": "52e25876e1353eac16008408698289b96a85a87f40899389e9b60fa364050a44",
"female/body/clip000-bind/f000000/p+60_y060_diffuse.png": "8f04683547b634b0d81bd0c1123675421259fe5a25701ad4bfc9c468aa099571",
"female/body/clip000-bind/f000000/p+60_y060_normal.png": "9ffb387e01c429bddd7185eb110fa9686a03bd4e068cbf9395b8ea318b116125",
"female/body/clip000-bind/f000000/p+60_y060_specular.png": "5bc7f328c93f5cbdc91e278ed9fa29a66bf10b68924368d021f1d71145a00604",
"female/body/clip000-bind/f000000/p+60_y090_depth.png": "6cb452800635b6033975053b221673d9a2d1256ec9b911a87a3d69b71a9c120f",
"female/body/clip000-bind/f000000/p+60_y090_diffuse.png": "25e6f20f31fbda9e29d7e151c7f1615df294ceb4b83126cc9b93c87437a87945",
"female/body/clip000-bind/f000000/p+60_y090_normal.png": "a62f037ce36a3bcd8129c16eb1bdbb84a4965b2d0a67208d92a01b842b685e5b",
"female/body/clip000-bind/f000000/p+60_y090_specular.png": "7e5d53242af0feacc023ca241e3dfbce42b76bee82e5d24e018ad2accf4b53ae",
"female/body/clip000-bind/f000000/p+60_y120_depth.png": "6c2ecf6ba066a53d9618ed7bbcc4ae2efb41101aa7be1307e206976b367436cf",
"female/body/clip000-bind/f000000/p+60_y120_diffuse.png": "7244b72457fbd3274ceefd26fa854c28a6a2bce93ec21f65d59dffd281980c1a",
"female/body/clip000-bind/f000000/p+60_y120_normal.png": "5fff4aeed846b05f2f26cd359c4e6e32efc8d8663ba92e4f77aa8f732380db95",
"female/body/clip000-bind/f000000/p+60_y120_specular.png": "387edd2bf133ceb8d156544743ce6c1b6b1967fd90c7e0435f9b391ebc5e9a15",
"female/body/clip000-bind/f000000/p+60_y150_depth.png": "f101ed8387e46176dc649b66a099f7cc4228f149259f2ae66a33e3124ccc8b0a",
"female/body/clip000-bind/f000000/p+60_y150_diffuse.png": "8fcb347b4c153ff185903dfb1b78dd4224bfc8fe60e6adeb729b29ed68563f11",
"female/body/clip000-bind/f000000/p+60_y150_normal.png": "b95299d07bfd54aa6c19e0ef1c7863cbfc8d39fbbf645b7766500e9d8478f616",
"female/body/clip000-bind/f000000/p+60_y150_specular.png": "fd4f6dd0ec91ea31c00facb88a301d76fe6190ee31f5a9d818a67d81958b7375",
"female/body/clip000-bind/f000000/p+60_y180_depth.png": "3c059792f1255e1ce5b4f7903e3b8299df4294c66729ccedcd336ff5278b426a",
"female/body/clip000-bind/f000000/p+60_y180_diffuse.png": "c604188f6297b021730608b973d1711d55cd574ec44c3daf9a29348c5e1171ba",
"female/body/clip000-bind/f000000/p+60_y180_normal.png": "8156a03fd2b91186351d9c6bedb0636ac3de618c09d79e580deb9e2aadfba4a1",
"female/body/clip000-bind/f000000/p+60_y180_specular.png": "fee033e18cb1ba1571049fc88043a99c7edcbbb16d5be73bb0094dcf391f19a3",
"female/body/clip000-bind/f000000/p+60_y210_depth.png": "a7c9c8fedc0c3a55c298efa6ea1355d0008417735d4d302181c520bc2f9ff5da",
"female/body/clip000-bind/f000000/p+60_y210_diffuse.png": "80c7f288389df958c64927c8118232567e0b8beff80dd7ac6dd3c532e719d07a",
"female/body/clip000-bind/f000000/p+60_y210_normal.png": "90b705a2694c817312a8db054825634e08147e0999fc13b8a5ed6a76df0b39cc",
"female/body/clip000-bind/f000000/p+60_y210_specular.png": "31c34d2e368393bcbed604c6da0e5e0cfa17197ceef59ea6d60c64b482952a98",
"female/body/clip000-bind/f000000/p+60_y240_depth.png": "9203bcf418109c75a637917a6ca6529aea2a7811d74b1b02f7eda0f45f2f72c2",
"female/body/clip000-bind/f000000/p+60_y240_diffuse.png": "dcfe620b4224b4bfb45d7c577fcc1811ffd27b57faec8606198c37dae771960e",
"female/body/clip000-bind/f000000/p+60_y240_normal.png": "44578198dea17749bac6d87c1e879420f5ae1010bb3241b405fa649d0b7e33f4",
"female/body/clip000-bind/f000000/p+60_y240_specular.png": "537b832ffc6aa1bbe21faa6670cc1caad41aab283eefcbc03debc7d47961a90b",
"female/body/clip000-bind/f000000/p+60_y270_depth.png": "3d35a269cb64b579eb2620c54f407d439ab7c2a0bf71518c08514084c5b3178c",
"female/body/clip000-bind/f000000/p+60_y270_diffuse.png": "e2bd86e6868f617ab56d177de2efa0fd27ec65a426a0762a9a6ae84a6aa5235f",
"female/body/clip000-bind/f000000/p+60_y270_normal.png": "dc160871e4940cb0667fe28a68b5160b1b4ce2087e1757887568e81e45ebd45c",
"female/body/clip000-bind/f000000/p+60_y270_specular.png": "8d4820d4c508b2d08e16221a01c4a42b057f5eff9bbc8bf889d860f6bf3566b3",
"female/body/clip000-bind/f000000/p+60_y300_depth.png": "4c1d660d43f0ea3ad2561517fbc639c69c2001e91ce36ed44089e3bc80884f05",
"female/body/clip000-bind/f000000/p+60_y300_diffuse.png": "7ce2da9968de12780bc23a22887883da7847e20310a3e42e8b2bc4b8771087b5",
"female/body/clip000-bind/f000000/p+60_y300_normal.png": "a72432ddf15c088e86dde2955b88c24174ea3de43de611e62435d2913a0d34b6",
"female/body/clip000-bind/f000000/p+60_y300_specular.png": "f1fcc92887665ef411b19121ad7517f90b8dca5b4cfe8eb0a8979de0d23f3fbe",
"female/body/clip000-bind/f000000/p+60_y330_depth.png": "b33cb3274b8de53051c028b1c4564628c4a8685c8e4e9c77a2827580459613c2",
"female/body/clip000-bind/f000000/p+60_y330_diffuse.png": "5f55cc331092a9cc924ea56619b47ada8d42f7df552fe6c8244945958e468be0",
"female/body/clip000-bind/f000000/p+60_y330_normal.png": "395dae6030daa9e837dbdb9f3f888fb642c9d5fbbbcaf4b45bb961fc9c730923",
"female/body/clip000-bind/f000000/p+60_y330_specular.png": "4672e0e1f2c26ac7450dcf2b4a10b00f15c42cbb04775e5d215adc242367ef00",
"female/body/clip000-bind/f000000/p-30_y000_depth.png": "3d1aad2678c32171ef0ef44da24fa3341352f4d7ea8e1b5256748aa645ad3e6c",
"female/body/clip000-bind/f000000/p-30_y000_diffuse.png": "8fcfd1a3782ff50663f299a6a6d75b15ee08d012c34bedda5dce1fb9f313eb70",
"female/body/clip000-bind/f000000/p-30_y000_normal.png": "65ae5754e73e1167493d326d233ac93aff93d7942763a8e7837cb0f78a433286",
"female/body/clip000-bind/f000000/p-30_y000_specular.png": "324cc04a566333ed8c55d4ae258570cf146656158532b0335051af71458d640f",
"female/body/clip000-bind/f000000/p-30_y030_depth.png": "95af5bb67fa051102826daf62a8923ecba74688d558a5f7654886fcf8792ce38",
"female/body/clip000-bind/f000000/p-30_y030_diffuse.png": "4083a7ba2c16fa591fa6a0e4b6dc8f668566d80d92faae0cc171d92026526e0f",
"female/body/clip000-bind/f000000/p-30_y030_normal.png": "d5b22ed41c625f0b2aa30cd85fbc0b49f31da4d08fe45c2a9cdad033db15b0b5",
"female/body/clip000-bind/f000000/p-30_y030_specular.png": "2d377867995fde1f7952587fe0b519c4bd4af7f23e42dbe2f59ff64c190622ed",
"female/body/clip000-bind/f000000/p-30_y060_depth.png": "8d409bd2357ba65114166840ceabfc625d926e579519f1e39e9e433d9a91ea99",
"female/body/clip000-bind/f000000/p-30_y060_diffuse.png": "cbb340fa858052050b3e8bfc187b60a705b0a31026bfbd8fe89d09de660f18f5",
"female/body/clip000-bind/f000000/p-30_y060_normal.png": "6e3e0cb5e0de839742e4cd8e1c770d05c0aeb65ddaec3fb8c02091bb2211f9a2",
"female/body/clip000-bind/f000000/p-30_y060_specular.png": "8fa92ad0ff49c33004d182e1282f98c646304753014a39c4c23b45223b45b8a8",
"female/body/clip000-bind/f000000/p-30_y090_depth.png": "2b16e54b8ba82e273a5e3d1987e2d76ebf1ee849d4fe91ffe19e7b897c15e9e7",
"female/body/clip000-bind/f000000/p-30_y090_diffuse.png": "dba4e63c3fc0c975d2f5e7222128958da53486b11863756415a96c3e92a4dd90",
"female/body/clip000-bind/f000000/p-30_y090_normal.png": "8193e36436c23c3cc265002a460d8e9def2d54d4fecb89647d7882cb586ab16c",
"female/body/clip000-bind/f000000/p-30_y090_specular.png": "0d16fe69d09c07c334d6799a3609d3ca2288c08adedcc6f79cf94162d1592c34",
"female/body/clip000-bind/f000000/p-30_y120_depth.png": "caa24a97bcf3f71fa2fe96b00e921bb2c7e368243269460162a989733765ca02",
"female/body/clip000-bind/f000000/p-30_y120_diffuse.png": "c93bdfa3278b53c45e6cc95f6838f4597b27d9b671a8dce7abb433457f60c794",
"female/body/clip000-bind/f000000/p-30_y120_normal.png": "80c596d11f80385e12c570f0e057972d9d5a01fcc7d992b0096145a16bedd801",
"female/body/clip000-bind/f000000/p-30_y120_specular.png": "bab1a3a87ddd015e649d9393ff99d6b22ca831176454802a4dd58eb463ea5e68",
"female/body/clip000-bind/f000000/p-30_y150_depth.png": "6cc0428c0895cfc05b6ee7911fd943becebf1aaee5e5b5a2fcd39253b5faa2ff",
"female/body/clip000-bind/f000000/p-30_y150_diffuse.png": "0da0f035d2909ca467d6e30f3dba974d541b3e02aef9739754797d682b4aa6da",
"female/body/clip000-bind/f000000/p-30_y150_normal.png": "3be8177399550b8ead0845ca2a5590ba4556fa680fef0367b5a9828ee0f646d4",
"female/body/clip000-bind/f000000/p-30_y150_specular.png": "4c5f8058f46af71285dc19d21cb85d338264d5c2adc3f6bd3737d5965d5e1a0c",
"female/body/clip000-bind/f000000/p-30_y180_depth.png": "0d7c6de43a0565915f5ce8d08e5dbfba483b1ab28a99fdfd124e6ae967ed78b8",
"female/body/clip000-bind/f000000/p-30_y180_diffuse.png": "2e9170fccaaa40954adb6af75e7292eeb611147ca109f7bb97b6408c614d5a04",
"female/body/clip000-bind/f000000/p-30_y180_normal.png": "1c5964102aaa00b82ecb0f691481255480610f78eac72d7d20cff443c1773180",
"female/body/clip000-bind/f000000/p-30_y180_specular.png": "9673f9dafa397e95702509fa38fe971d8e54b8c3e87797777ef6464eccaccf2e",
"female/body/clip000-bind/f000000/p-30_y210_depth.png": "d9f010884ed721db8e8efec486432841b84638112fe2925d5d533df4dbde7488",
"female/body/clip000-bind/f000000/p-30_y210_diffuse.png": "feadf62fe1283064c6d879a6c25ae645037c16477bbc5599c1113d4be0fd18d3",
"female/body/clip000-bind/f000000/p-30_y210_normal.png": "98b8cfea4698846d3cbb6b48d34895fa0f6ba51e274b75299a8354edf296773d",
"female/body/clip000-bind/f000000/p-30_y210_specular.png": "b4c65be93980e8774687af2f54be50777595dda0c8cc5df88153924164386400",
"female/body/clip000-bind/f000000/p-30_y240_depth.png": "9633da136d3ae4b8138752fd12b9cda0d57e0b3429d99182b83cceb9a11bacac",
"female/body/clip000-bind/f000000/p-30_y240_diffuse.png": "7a22854f038bca1d7eb3f57281f8b5f685aaae77c395aa294775d621d677176d",
"female/body/clip000-bind/f000000/p-30_y240_normal.png": "ed708ca9e7c716d6403c352d34c7f4bc4e7957796e067b38e20339f0634dc576",
"female/body/clip000-bind/f000000/p-30_y240_specular.png": "2c5c9dfa335e54a37b71dc5dda0f0b3eb6eddeac2e6730f8dd260da3be4394bf",
"female/body/clip000-bind/f000000/p-30_y270_depth.png": "d1277e9241794131524fbd344790ce57cac0fd7f9017f7f76221e5237cab6c43",
"female/body/clip000-bind/f000000/p-30_y270_diffuse.png": "9adbd706437f0423ee2705ca7fe15a7cc21a1619c11efd9f84cbe3c4e84bc3e8",
"female/body/clip000-bind/f000000/p-30_y270_normal.png": "2328b9635cb9c7100b04f2761efb9865d51a5d69b2c1e91d7b3d863c75dbe387",
"female/body/clip000-bind/f000000/p-30_y270_specular.png": "def640d3fcada94f8d0736aca7c9a5547193691f31fcd14e3199facf49c4c846",
"female/body/clip000-bind/f000000/p-30_y300_depth.png": "6b41f67d0ebb9e7e8946886abb5b3c0aca59d9ce66032f64813e321d493e4236",
"female/body/clip000-bind/f000000/p-30_y300_diffuse.png": "d7f3bd43781f32b0a5f14c350e84150fce1ed485fa5ea0838cab5c01de24319f",
"female/body/clip000-bind/f000000/p-30_y300_normal.png": "c7d44a5497410d9c0b4cc1ea59c794bf9ac0bc1305e317d26a2d485f7d1c0e7d",
"female/body/clip000-bind/f000000/p-30_y300_specular.png": "41323efd35b41f3b7ad0def7bacb05dbad522ef9db77f69ff545ad5a41a67ef4",
"female/body/clip000-bind/f000000/p-30_y330_depth.png": "cad7ce15ad476bbf98bf2f140165afb328bf033ad61acf8b860bf507f318edd5",
"female/body/clip000-bind/f000000/p-30_y330_diffuse.png": "5fb54b2d8ee8bdd5a30ebcf91b76c7c3ad48592531083f4a799f173817fed87b",
"female/body/clip000-bind/f000000/p-30_y330_normal.png": "b83adaebae364eb98db6360825b268b5a0a5aa8fa8f92e0fb6512e302c0e67e0",
"female/body/clip000-bind/f000000/p-30_y330_specular.png": "e5557ab6258fff357496721a8dcf64d975bee41c6b58e19004e8d99d7260cb04",
"female/body/clip000-bind/f000000/p-60_y000_depth.png": "6deae0247d9d1c9e9e24321c25656ef151686e79d72089e7fca864460a02b6ac",
"female/body/clip000-bind/f000000/p-60_y000_diffuse.png": "c604188f6297b021730608b973d1711d55cd574ec44c3daf9a29348c5e1171ba",
"female/body/clip000-bind/f000000/p-60_y000_normal.png": "f698c219df80999041de100fb98e5f8e6fb6cfe7737a8a42556419d3f005a3ff",
"female/body/clip000-bind/f000000/p-60_y000_specular.png": "fee033e18cb1ba1571049fc88043a99c7edcbbb16d5be73bb0094dcf391f19a3",
"female/body/clip000-bind/f000000/p-60_y030_depth.png": "f6d65ebd10b15fe8881028c868fab48d44938164e2f917a5cbd53994266e7062",
"female/body/clip000-bind/f000000/p-60_y030_diffuse.png": "8fcb347b4c153ff185903dfb1b78dd4224bfc8fe60e6adeb729b29ed68563f11",
"female/body/clip000-bind/f000000/p-60_y030_normal.png": "652a9db04e0f64cce0fa8df5103de7606b203d296298e5bf2547c52e44b8c1a9",
"female/body/clip000-bind/f000000/p-60_y030_specular.png": "fd4f6dd0ec91ea31c00facb88a301d76fe6190ee31f5a9d818a67d81958b7375",
"female/body/clip000-bind/f000000/p-60_y060_depth.png": "d601ce4100756ac0358d6c20102abe595a3031090abe7f8e5727918f882bec41",
"female/body/clip000-bind/f000000/p-60_y060_diffuse.png": "7244b72457fbd3274ceefd26fa854c28a6a2bce93ec21f65d59dffd281980c1a",
"female/body/clip000-bind/f000000/p-60_y060_normal.png": "b68a417cb56d7b00dbda41f315c870cf417f62695324972d7eddbfc2cc9b4d6d",
"female/body/clip000-bind/f000000/p-60_y060_specular.png": "387edd2bf133ceb8d156544743ce6c1b6b1967fd90c7e0435f9b391ebc5e9a15",
"female/body/clip000-bind/f000000/p-60_y090_depth.png": "0c81fcf417257fec9a266eec711e0b37d6ee684e3eeec9953a3fc2eb9319b7ec",
"female/body/clip000-bind/f000000/p-60_y090_diffuse.png": "25e6f20f31fbda9e29d7e151c7f1615df294ceb4b83126cc9b93c87437a87945",
"female/body/clip000-bind/f000000/p-60_y090_normal.png": "0690e84ae554f5fc19e5f29ea184cea71e840095e820dbcfd1aa11955e9a6b22",
"female/body/clip000-bind/f000000/p-60_y090_specular.png": "7e5d53242af0feacc023ca241e3dfbce42b76bee82e5d24e018ad2accf4b53ae",
"female/body/clip000-bind/f000000/p-60_y120_depth.png": "ca2de2787d20a46f4a7999008b86b863cfdadd835254aa09df3a5d7a0be527b9",
"female/body/clip000-bind/f000000/p-60_y120_diffuse.png": "8f04683547b634b0d81bd0c1123675421259fe5a25701ad4bfc9c468aa099571",
"female/body/clip000-bind/f000000/p-60_y120_normal.png": "db29607c180577806a0ab3bddc1518121f27478355c281c84a1d5b2186ffee22",
"female/body/clip000-bind/f000000/p-60_y120_specular.png": "5bc7f328c93f5cbdc91e278ed9fa29a66bf10b68924368d021f1d71145a00604",
"female/body/clip000-bind/f000000/p-60_y150_depth.png": "480ab0f26e366b6303bf9d96c97b53753c910bd19df5f69ac0ce454fbe4b8ab3",
"female/body/clip000-bind/f000000/p-60_y150_diffuse.png": "1eb5cc7fa6d242f61869e5b1524fe2bd33e7018f8bf1d33b934ad61a0353a392",
"female/body/clip000-bind/f000000/p-60_y150_normal.png": "874485137026ae22fdae1bd82b319312b5e179738164482c2b429efebc46a983",
"female/body/clip000-bind/f000000/p-60_y150_specular.png": "87a5090095182ab1fe8e4913d5900fd4009c8e794eaef38352e835be73deae90",
"female/body/clip000-bind/f000000/p-60_y180_depth.png": "fbccdf2b0e57d0d17f11bf1d21f3727f24bf79ee12b5c07c78c2fc6bb360c1c7",
"female/body/clip000-bind/f000000/p-60_y180_diffuse.png": "a60a8f1426697dc86be3e17adef9ed60f0924d6842471729da576d68079297f3",
"female/body/clip000-bind/f000000/p-60_y180_normal.png": "b06556672d29b674169aa1ff76ac036ce2b10b622b9ae77b9a9acaac90cc80f7",
"female/body/clip000-bind/f000000/p-60_y180_specular.png": "c7fb38fe5d40857cf230fa561343b50bf810cd6dafc58f60e8c33464564529d5",
"female/body/clip000-bind/f000000/p-60_y210_depth.png": "cf0cba505e57e8d44c2caecb196117be513ea4c8db62a2b3d93318ea0d7acb28",
"female/body/clip000-bind/f000000/p-60_y210_diffuse.png": "5f55cc331092a9cc924ea56619b47ada8d42f7df552fe6c8244945958e468be0",
"female/body/clip000-bind/f000000/p-60_y210_normal.png": "4852d765e0cd40e02145ede4a5c7be82cc74971430ae676430804cf3eddcfb6b",
"female/body/clip000-bind/f000000/p-60_y210_specular.png": "4672e0e1f2c26ac7450dcf2b4a10b00f15c42cbb04775e5d215adc242367ef00",
"female/body/clip000-bind/f000000/p-60_y240_depth.png": "502b9fd8cac9b5dbbb04eea94989ef54282e7260b239c2a4b56239fb8f0c2ffb",
"female/body/clip000-bind/f000000/p-60_y240_diffuse.png": "7ce2da9968de12780bc23a22887883da7847e20310a3e42e8b2bc4b8771087b5",
"female/body/clip000-bind/f000000/p-60_y240_normal.png": "b88e7d6fbae330d5c613bb572bc390140e5c36d0483d268839ebd19133a4772e",
"female/body/clip000-bind/f000000/p-60_y240_specular.png": "f1fcc92887665ef411b19121ad7517f90b8dca5b4cfe8eb0a8979de0d23f3fbe",
"female/body/clip000-bind/f000000/p-60_y270_depth.png": "beaa1614c03cd1236af3fd4297c62a4f22d684d125404a5b8a63c7935bf9f274",
"female/body/clip000-bind/f000000/p-60_y270_diffuse.png": "e2bd86e6868f617ab56d177de2efa0fd27ec65a426a0762a9a6ae84a6aa5235f",
"female/body/clip000-bind/f000000/p-60_y270_normal.png": "a7fbefd14abca1a800d1b5499307c2b01d6686aeeea4a576c439c687809c4a62",
"female/body/clip000-bind/f000000/p-60_y270_specular.png": "8d4820d4c508b2d08e16221a01c4a42b057f5eff9bbc8bf889d860f6bf3566b3",
"female/body/clip000-bind/f000000/p-60_y300_depth.png": "7c77c75a6cf832633da570d75e59e1b7b14ea53441512d30ed32ae532f826c88",
"female/body/clip000-bind/f000000/p-60_y300_diffuse.png": "dcfe620b4224b4bfb45d7c577fcc1811ffd27b57faec8606198c37dae771960e",
"female/body/clip000-bind/f000000/p-60_y300_normal.png": "bdb5e1f38746ab8b927d4fdec614b3a4ea7159a65917c81d647b42d7de23ec31",
"female/body/clip000-bind/f000000/p-60_y300_specular.png": "537b832ffc6aa1bbe21faa6670cc1caad41aab283eefcbc03debc7d47961a90b",
"female/body/clip000-bind/f000000/p-60_y330_depth.png": "c4f5165acd35f2627235ebce92e6831b9e84105ece63a1091b6e2a8637657de1",
"female/body/clip000-bind/f000000/p-60_y330_diffuse.png": "80c7f288389df958c64927c8118232567e0b8beff80dd7ac6dd3c532e719d07a",
"female/body/clip000-bind/f000000/p-60_y330_normal.png": "27af30dd5ba13f1f8016650fc7f7782611b7584f49bbca38ee833ca40c70b372",
"female/body/clip000-bind/f000000/p-60_y330_specular.png": "31c34d2e368393bcbed604c6da0e5e0cfa17197ceef59ea6d60c64b482952a98"
},
"status": "complete"
}
@@ -0,0 +1,313 @@{ "atlas": { "maps": { "depth": { "file": "female-body-depth-atlas.png", "sha256": "5ff4a97adeb10ce5106a7eb330493dd0bb5650712383b835fb3a4cf3afcb93fa" }, "diffuse": { "file": "female-body-diffuse-atlas.png", "sha256": "77c4ce766320f6895e0213fd45cd4e1b4dcba2fc1e91b1907de1227af95f5b00" }, "normal": { "file": "female-body-normal-atlas.png", "sha256": "a5c04db35e3d986de8e1c33162ecda8de76a0811a1724294924df59916137840" }, "specular": { "file": "female-body-specular-atlas.png", "sha256": "2af936f4d835da83d6447d42a212bef0adbd2a2624408ea3d4633f055752609f" } }, "ppda": "female-body-atlas.ppda", "ppda_sha256": "8df858076f0059ac091038bfd7c22ed0342e2340bcf677b877ced2a4d495ec4b" }, "depth_clamped": { "highres_pixels": 0, "note": "rendered this attempt; kept files from a resumed run are not re-counted", "views": 0 }, "format_version": 5, "identity": { "body_model_sha256": "672e8ec453c674803bf39620e24f8747052045d8aaac7911b7665c1fda7a08d7", "clips": [ { "duration": 0.0, "frames": 1, "name": "", "token": "clip000-bind" } ], "equipment_preset_sha256": null, "far": 11.300000190734863, "fps": 2, "framing": { "center_y_milli": 1000, "height_milli": 2600, "pivot_y_milli": 1000 }, "near": 8.699999809265137, "pivot_source": { "kind": "fallback", "reason": "Statisch lichaam zonder skeleton: geen nekbot" }, "project_id": "ppd-18e5be694a41d971", "project_name": "Nieuw project", "saved_maps": [ "diffuse", "depth", "normal", "specular" ], "set": "body", "sex": "female", "target": [ 16, 24 ] }, "passes": 360, "png_files": 240, "png_sha256": { "female/body/clip000-bind/f000000/p+00_y000_depth.png": "d0d147693b595ca69203875fa272c4da6e1b4f36dafd35abed09c423e698476b", "female/body/clip000-bind/f000000/p+00_y000_diffuse.png": "184a6a613c3247a405b541d92ac0d574c4a644d730147b83f3cdffe8222dffd8", "female/body/clip000-bind/f000000/p+00_y000_normal.png": "e94459bf831426f6a7f18e25a851736eebacb11a9b9ad055843a74f9c20ef1ff", "female/body/clip000-bind/f000000/p+00_y000_specular.png": "603a9ef8a14a1707bb6c44356a08e766839b4331ba569acb238240ec09c83008", "female/body/clip000-bind/f000000/p+00_y030_depth.png": "08f13444bf028cc0da4b39c286806e7df5a305f52bcd3f11403f5edcdbb098aa", "female/body/clip000-bind/f000000/p+00_y030_diffuse.png": "4b52655644f6a8f457b6aff09b4c21d60d1ca277518b82f28266afc46f6c1425", "female/body/clip000-bind/f000000/p+00_y030_normal.png": "1bbed3e7a1f2719c67bde3971f3d89eb4c984d530981a7e705fe36943a5de095", "female/body/clip000-bind/f000000/p+00_y030_specular.png": "d37be2ca979f881709a368d9920925f000a68dbc040d4c8aa5c65ea576a27d87", "female/body/clip000-bind/f000000/p+00_y060_depth.png": "a5adadf1ca5515b5e04387d9eb04e1f80590cc4f563db806709bf34ab28f46c6", "female/body/clip000-bind/f000000/p+00_y060_diffuse.png": "f0386a31d2e6685474643d83d74b89538f777801cd7ab6d4c36455181f9959f2", "female/body/clip000-bind/f000000/p+00_y060_normal.png": "83b7d2035002d5e0fdcba8298007abb6de95ada35eec16809f8ac9a7aa2bdc68", "female/body/clip000-bind/f000000/p+00_y060_specular.png": "dfd71b73f05c8f731d4e6de3ec7fab55a5b7b1589e8d73dee8f809764b040c94", "female/body/clip000-bind/f000000/p+00_y090_depth.png": "3dfa6feaf34b8572aefe3d4b86e3d20d9e68d44b830375b0fc5a7ddf8fce5c56", "female/body/clip000-bind/f000000/p+00_y090_diffuse.png": "642327f2eeb976ebbbd0c7ab36be299c99d24e242efdeab7be52781abd143300", "female/body/clip000-bind/f000000/p+00_y090_normal.png": "96691b5434102e5f233d628d6fe144acdd889fe80ef3065199e184adfc918993", "female/body/clip000-bind/f000000/p+00_y090_specular.png": "c5a1a711bd93b544371a2e565a74666d9be53e8be289ffcf574d2a99b3c8581c", "female/body/clip000-bind/f000000/p+00_y120_depth.png": "b5824f4462903401040cc0108319f566437dd3ccd2a8ba8940914b85c3b17911", "female/body/clip000-bind/f000000/p+00_y120_diffuse.png": "f0386a31d2e6685474643d83d74b89538f777801cd7ab6d4c36455181f9959f2", "female/body/clip000-bind/f000000/p+00_y120_normal.png": "87f0d296a1c2d8daadc039118a4b6a279f8803175de54e4a3a664d3afe177924", "female/body/clip000-bind/f000000/p+00_y120_specular.png": "dfd71b73f05c8f731d4e6de3ec7fab55a5b7b1589e8d73dee8f809764b040c94", "female/body/clip000-bind/f000000/p+00_y150_depth.png": "50cfa38a47da56a7a938fafd768bd1750fb5d076c6318281218bed6b0b567276", "female/body/clip000-bind/f000000/p+00_y150_diffuse.png": "4b52655644f6a8f457b6aff09b4c21d60d1ca277518b82f28266afc46f6c1425", "female/body/clip000-bind/f000000/p+00_y150_normal.png": "d25647157dca638ee01073c347a49a807e494850cba78550d8345bda7e616d21", "female/body/clip000-bind/f000000/p+00_y150_specular.png": "d37be2ca979f881709a368d9920925f000a68dbc040d4c8aa5c65ea576a27d87", "female/body/clip000-bind/f000000/p+00_y180_depth.png": "30f22bf4e9fe6de168fb57f82d798066c0f08e07c40c65c402c8391beb100409", "female/body/clip000-bind/f000000/p+00_y180_diffuse.png": "184a6a613c3247a405b541d92ac0d574c4a644d730147b83f3cdffe8222dffd8", "female/body/clip000-bind/f000000/p+00_y180_normal.png": "e94459bf831426f6a7f18e25a851736eebacb11a9b9ad055843a74f9c20ef1ff", "female/body/clip000-bind/f000000/p+00_y180_specular.png": "603a9ef8a14a1707bb6c44356a08e766839b4331ba569acb238240ec09c83008", "female/body/clip000-bind/f000000/p+00_y210_depth.png": "c3697cf0d66e87746c96066c8bc791ddaf54f42c11810e995904479d3ef0ef33", "female/body/clip000-bind/f000000/p+00_y210_diffuse.png": "581f562b9bc3ccd8c7bf1b382f15d24dd1ea69c81f9560b3fe88b4fd549f8e29", "female/body/clip000-bind/f000000/p+00_y210_normal.png": "e47a96f0f5f997b88e2a142ad6a3c2f49e7cc73d9e3232d3e9ff262c102b87dd", "female/body/clip000-bind/f000000/p+00_y210_specular.png": "0cc9f5fd8947655582f32f24b046f0abea2d210ffaa3a8e00d7f7ce4bdbe4f4f", "female/body/clip000-bind/f000000/p+00_y240_depth.png": "1295345bbc5bf9b812a14c8eb9ba5ecfb6f134870b6985ce8369b4b5cdf3cef5", "female/body/clip000-bind/f000000/p+00_y240_diffuse.png": "aa25de6f43af59e971480e7ffd8459ab6137be1e6f887d2e33e9c4a1a950674a", "female/body/clip000-bind/f000000/p+00_y240_normal.png": "f0edb4d440b1b69fc0c4e5fccc9fc7d24d0675e64fd9b30bac551afdc3d914a2", "female/body/clip000-bind/f000000/p+00_y240_specular.png": "12bb9c834900d1c65355faa90ccb097406cf85f483ebc56ae098dd69af5574fd", "female/body/clip000-bind/f000000/p+00_y270_depth.png": "fae867f2adbfecf82325bc9d05bc2f52fa63c21411b1b80959eac1a12f95f0ba", "female/body/clip000-bind/f000000/p+00_y270_diffuse.png": "154f90eea8dd86c25c4355f6830903cb81c6070dac4d3ecab71340e9679efe10", "female/body/clip000-bind/f000000/p+00_y270_normal.png": "8cfaa080dcb42073ced360ff76cd7af9f874fa732b0185439f68d2cad967496a", "female/body/clip000-bind/f000000/p+00_y270_specular.png": "ef516345cf4877b36f920d3f08831d861488eef83052cfb93377d4d2b3e5eb14", "female/body/clip000-bind/f000000/p+00_y300_depth.png": "4e92778592ce85cec82be2ec3b53b2efb92e7aa70809276d304869c0b2312627", "female/body/clip000-bind/f000000/p+00_y300_diffuse.png": "aa25de6f43af59e971480e7ffd8459ab6137be1e6f887d2e33e9c4a1a950674a", "female/body/clip000-bind/f000000/p+00_y300_normal.png": "dd88fffa00f736bf2e7870416b540593ee1157cc9ed5c1b3494e7612a0c540b9", "female/body/clip000-bind/f000000/p+00_y300_specular.png": "12bb9c834900d1c65355faa90ccb097406cf85f483ebc56ae098dd69af5574fd", "female/body/clip000-bind/f000000/p+00_y330_depth.png": "267600816e03db623c8a92de901ff07293361379c1682f8cc8ef01620f075cf5", "female/body/clip000-bind/f000000/p+00_y330_diffuse.png": "581f562b9bc3ccd8c7bf1b382f15d24dd1ea69c81f9560b3fe88b4fd549f8e29", "female/body/clip000-bind/f000000/p+00_y330_normal.png": "4bf732e4001dae0ad732adab6e86b23e1d4c644e27a79f6b457c4be9ac259481", "female/body/clip000-bind/f000000/p+00_y330_specular.png": "0cc9f5fd8947655582f32f24b046f0abea2d210ffaa3a8e00d7f7ce4bdbe4f4f", "female/body/clip000-bind/f000000/p+30_y000_depth.png": "3c0c691168b29a0212aa4255c313b7ec682a1b9d8cc75b35df0297da8b3e1c4b", "female/body/clip000-bind/f000000/p+30_y000_diffuse.png": "2e9170fccaaa40954adb6af75e7292eeb611147ca109f7bb97b6408c614d5a04", "female/body/clip000-bind/f000000/p+30_y000_normal.png": "1a6b934da173d455cfc588bb6f1859ddb41604803080243a421d9874d15a0523", "female/body/clip000-bind/f000000/p+30_y000_specular.png": "9673f9dafa397e95702509fa38fe971d8e54b8c3e87797777ef6464eccaccf2e", "female/body/clip000-bind/f000000/p+30_y030_depth.png": "30a7f984329341872c5135bf3ad96f8718ed243b8f3274b0c81c9ba8b0c3a406", "female/body/clip000-bind/f000000/p+30_y030_diffuse.png": "0da0f035d2909ca467d6e30f3dba974d541b3e02aef9739754797d682b4aa6da", "female/body/clip000-bind/f000000/p+30_y030_normal.png": "7ff4fe359807f82327d4c3eb2e2241e4e620e2ede2faf8b9428403c12eb8f365", "female/body/clip000-bind/f000000/p+30_y030_specular.png": "4c5f8058f46af71285dc19d21cb85d338264d5c2adc3f6bd3737d5965d5e1a0c", "female/body/clip000-bind/f000000/p+30_y060_depth.png": "d2f88e89ab01fc6fceb0c6cc6c01e0e5f1c8a906c66be68cd6095ecaae6cfc8c", "female/body/clip000-bind/f000000/p+30_y060_diffuse.png": "c93bdfa3278b53c45e6cc95f6838f4597b27d9b671a8dce7abb433457f60c794", "female/body/clip000-bind/f000000/p+30_y060_normal.png": "214f56be7469723537b5872886704b6f8a8fed2e2b6a668f7423ac79ceca5d78", "female/body/clip000-bind/f000000/p+30_y060_specular.png": "bab1a3a87ddd015e649d9393ff99d6b22ca831176454802a4dd58eb463ea5e68", "female/body/clip000-bind/f000000/p+30_y090_depth.png": "5f9237c8f2f1dd9503cfc1e7f8bb447558586ee68c922e9a4aafed6776b5a300", "female/body/clip000-bind/f000000/p+30_y090_diffuse.png": "dba4e63c3fc0c975d2f5e7222128958da53486b11863756415a96c3e92a4dd90", "female/body/clip000-bind/f000000/p+30_y090_normal.png": "4d56a04634fe65711e232cd9d859271b64165a4de0ada606719fbccc63bc75f8", "female/body/clip000-bind/f000000/p+30_y090_specular.png": "0d16fe69d09c07c334d6799a3609d3ca2288c08adedcc6f79cf94162d1592c34", "female/body/clip000-bind/f000000/p+30_y120_depth.png": "ac94a5701cc7ad8220da59d5abe35ade2f88056645be844a1b0b52d08ff59f29", "female/body/clip000-bind/f000000/p+30_y120_diffuse.png": "cbb340fa858052050b3e8bfc187b60a705b0a31026bfbd8fe89d09de660f18f5", "female/body/clip000-bind/f000000/p+30_y120_normal.png": "fb64938dee7c981cc5388a01f3c213a2d2d4ca163ee3d37b36a6b8119ee3e929", "female/body/clip000-bind/f000000/p+30_y120_specular.png": "8fa92ad0ff49c33004d182e1282f98c646304753014a39c4c23b45223b45b8a8", "female/body/clip000-bind/f000000/p+30_y150_depth.png": "03d728d83872cb7deb55acb34d537472e7ae1df83eabc07e133329fda3f72be9", "female/body/clip000-bind/f000000/p+30_y150_diffuse.png": "4083a7ba2c16fa591fa6a0e4b6dc8f668566d80d92faae0cc171d92026526e0f", "female/body/clip000-bind/f000000/p+30_y150_normal.png": "8f82a49318d222a618ca545443eb82b6ad4a03d8ddfd7dfc935caf5927329cc5", "female/body/clip000-bind/f000000/p+30_y150_specular.png": "2d377867995fde1f7952587fe0b519c4bd4af7f23e42dbe2f59ff64c190622ed", "female/body/clip000-bind/f000000/p+30_y180_depth.png": "45716a8497503471feaf250da2fe8c3c9fcdc65f7a53ce837f1c017c43d3c897", "female/body/clip000-bind/f000000/p+30_y180_diffuse.png": "8fcfd1a3782ff50663f299a6a6d75b15ee08d012c34bedda5dce1fb9f313eb70", "female/body/clip000-bind/f000000/p+30_y180_normal.png": "8848f8c566f60109e1e82ccb8e3d2ff224706e275afa9cc0fa9732f185fdfce7", "female/body/clip000-bind/f000000/p+30_y180_specular.png": "324cc04a566333ed8c55d4ae258570cf146656158532b0335051af71458d640f", "female/body/clip000-bind/f000000/p+30_y210_depth.png": "3e8d0e19ccbb57e4ef4a83ab4ffc01d2a8040e70862f5183944c1c831662a27b", "female/body/clip000-bind/f000000/p+30_y210_diffuse.png": "5fb54b2d8ee8bdd5a30ebcf91b76c7c3ad48592531083f4a799f173817fed87b", "female/body/clip000-bind/f000000/p+30_y210_normal.png": "1cf99f027f4833110ea2c5423a7aa7f06a85fe86e03ee65572329a6fb65c4a21", "female/body/clip000-bind/f000000/p+30_y210_specular.png": "e5557ab6258fff357496721a8dcf64d975bee41c6b58e19004e8d99d7260cb04", "female/body/clip000-bind/f000000/p+30_y240_depth.png": "be9397e6372c2a17fcf94f2dd33eb5d9cccf14d82e8e62d5c97e71e986c780cc", "female/body/clip000-bind/f000000/p+30_y240_diffuse.png": "d7f3bd43781f32b0a5f14c350e84150fce1ed485fa5ea0838cab5c01de24319f", "female/body/clip000-bind/f000000/p+30_y240_normal.png": "a118c91fe423853a59a7f844020c7b5acbabc3a7152071e4ed8c4a19f392ecdb", "female/body/clip000-bind/f000000/p+30_y240_specular.png": "41323efd35b41f3b7ad0def7bacb05dbad522ef9db77f69ff545ad5a41a67ef4", "female/body/clip000-bind/f000000/p+30_y270_depth.png": "c06f29b55194a89a00ffa5a5a728ef8b2cc5deed08cb19d8d285c810e276368c", "female/body/clip000-bind/f000000/p+30_y270_diffuse.png": "9adbd706437f0423ee2705ca7fe15a7cc21a1619c11efd9f84cbe3c4e84bc3e8", "female/body/clip000-bind/f000000/p+30_y270_normal.png": "62198e745c335fd3d351530b6b37148855c78b27295d79433bf60f8703345c6a", "female/body/clip000-bind/f000000/p+30_y270_specular.png": "def640d3fcada94f8d0736aca7c9a5547193691f31fcd14e3199facf49c4c846", "female/body/clip000-bind/f000000/p+30_y300_depth.png": "d9691024262f18406f7722c8c0c52c831c807fcf6b5fe5ac5b6c259f3f0dbc63", "female/body/clip000-bind/f000000/p+30_y300_diffuse.png": "7a22854f038bca1d7eb3f57281f8b5f685aaae77c395aa294775d621d677176d", "female/body/clip000-bind/f000000/p+30_y300_normal.png": "144f29e6c9d7cadd70968e73a693b3aae4a773837b687c5f8f78adac94944c7e", "female/body/clip000-bind/f000000/p+30_y300_specular.png": "2c5c9dfa335e54a37b71dc5dda0f0b3eb6eddeac2e6730f8dd260da3be4394bf", "female/body/clip000-bind/f000000/p+30_y330_depth.png": "0b9da2cad56e93b0b5997e29aa689b882fc7211bb589e3bb5e364e50c783298c", "female/body/clip000-bind/f000000/p+30_y330_diffuse.png": "feadf62fe1283064c6d879a6c25ae645037c16477bbc5599c1113d4be0fd18d3", "female/body/clip000-bind/f000000/p+30_y330_normal.png": "6cec64448cb3129c67c197c47715480c070e1d59d178122d680f64c9fbd3e9dd", "female/body/clip000-bind/f000000/p+30_y330_specular.png": "b4c65be93980e8774687af2f54be50777595dda0c8cc5df88153924164386400", "female/body/clip000-bind/f000000/p+60_y000_depth.png": "c4c96e07593ebf8f43feab481bcbeb1ee0cce39048725bae329db7a0511a6ae7", "female/body/clip000-bind/f000000/p+60_y000_diffuse.png": "a60a8f1426697dc86be3e17adef9ed60f0924d6842471729da576d68079297f3", "female/body/clip000-bind/f000000/p+60_y000_normal.png": "1444c526fd274a68a19203f24578e13f97449a3b0d0169bcdc4b668b38446cae", "female/body/clip000-bind/f000000/p+60_y000_specular.png": "c7fb38fe5d40857cf230fa561343b50bf810cd6dafc58f60e8c33464564529d5", "female/body/clip000-bind/f000000/p+60_y030_depth.png": "0032df464c0c1c2d63cb092d4125bf9bed2213e814ba6d0b3f3b87ef1a586083", "female/body/clip000-bind/f000000/p+60_y030_diffuse.png": "1eb5cc7fa6d242f61869e5b1524fe2bd33e7018f8bf1d33b934ad61a0353a392", "female/body/clip000-bind/f000000/p+60_y030_normal.png": "8c702e8014b0ed0f2e6f14ad988ab314eeff51f6ef61e3a7badef7bddc101555", "female/body/clip000-bind/f000000/p+60_y030_specular.png": "87a5090095182ab1fe8e4913d5900fd4009c8e794eaef38352e835be73deae90", "female/body/clip000-bind/f000000/p+60_y060_depth.png": "52e25876e1353eac16008408698289b96a85a87f40899389e9b60fa364050a44", "female/body/clip000-bind/f000000/p+60_y060_diffuse.png": "8f04683547b634b0d81bd0c1123675421259fe5a25701ad4bfc9c468aa099571", "female/body/clip000-bind/f000000/p+60_y060_normal.png": "9ffb387e01c429bddd7185eb110fa9686a03bd4e068cbf9395b8ea318b116125", "female/body/clip000-bind/f000000/p+60_y060_specular.png": "5bc7f328c93f5cbdc91e278ed9fa29a66bf10b68924368d021f1d71145a00604", "female/body/clip000-bind/f000000/p+60_y090_depth.png": "6cb452800635b6033975053b221673d9a2d1256ec9b911a87a3d69b71a9c120f", "female/body/clip000-bind/f000000/p+60_y090_diffuse.png": "25e6f20f31fbda9e29d7e151c7f1615df294ceb4b83126cc9b93c87437a87945", "female/body/clip000-bind/f000000/p+60_y090_normal.png": "a62f037ce36a3bcd8129c16eb1bdbb84a4965b2d0a67208d92a01b842b685e5b", "female/body/clip000-bind/f000000/p+60_y090_specular.png": "7e5d53242af0feacc023ca241e3dfbce42b76bee82e5d24e018ad2accf4b53ae", "female/body/clip000-bind/f000000/p+60_y120_depth.png": "6c2ecf6ba066a53d9618ed7bbcc4ae2efb41101aa7be1307e206976b367436cf", "female/body/clip000-bind/f000000/p+60_y120_diffuse.png": "7244b72457fbd3274ceefd26fa854c28a6a2bce93ec21f65d59dffd281980c1a", "female/body/clip000-bind/f000000/p+60_y120_normal.png": "5fff4aeed846b05f2f26cd359c4e6e32efc8d8663ba92e4f77aa8f732380db95", "female/body/clip000-bind/f000000/p+60_y120_specular.png": "387edd2bf133ceb8d156544743ce6c1b6b1967fd90c7e0435f9b391ebc5e9a15", "female/body/clip000-bind/f000000/p+60_y150_depth.png": "f101ed8387e46176dc649b66a099f7cc4228f149259f2ae66a33e3124ccc8b0a", "female/body/clip000-bind/f000000/p+60_y150_diffuse.png": "8fcb347b4c153ff185903dfb1b78dd4224bfc8fe60e6adeb729b29ed68563f11", "female/body/clip000-bind/f000000/p+60_y150_normal.png": "b95299d07bfd54aa6c19e0ef1c7863cbfc8d39fbbf645b7766500e9d8478f616", "female/body/clip000-bind/f000000/p+60_y150_specular.png": "fd4f6dd0ec91ea31c00facb88a301d76fe6190ee31f5a9d818a67d81958b7375", "female/body/clip000-bind/f000000/p+60_y180_depth.png": "3c059792f1255e1ce5b4f7903e3b8299df4294c66729ccedcd336ff5278b426a", "female/body/clip000-bind/f000000/p+60_y180_diffuse.png": "c604188f6297b021730608b973d1711d55cd574ec44c3daf9a29348c5e1171ba", "female/body/clip000-bind/f000000/p+60_y180_normal.png": "8156a03fd2b91186351d9c6bedb0636ac3de618c09d79e580deb9e2aadfba4a1", "female/body/clip000-bind/f000000/p+60_y180_specular.png": "fee033e18cb1ba1571049fc88043a99c7edcbbb16d5be73bb0094dcf391f19a3", "female/body/clip000-bind/f000000/p+60_y210_depth.png": "a7c9c8fedc0c3a55c298efa6ea1355d0008417735d4d302181c520bc2f9ff5da", "female/body/clip000-bind/f000000/p+60_y210_diffuse.png": "80c7f288389df958c64927c8118232567e0b8beff80dd7ac6dd3c532e719d07a", "female/body/clip000-bind/f000000/p+60_y210_normal.png": "90b705a2694c817312a8db054825634e08147e0999fc13b8a5ed6a76df0b39cc", "female/body/clip000-bind/f000000/p+60_y210_specular.png": "31c34d2e368393bcbed604c6da0e5e0cfa17197ceef59ea6d60c64b482952a98", "female/body/clip000-bind/f000000/p+60_y240_depth.png": "9203bcf418109c75a637917a6ca6529aea2a7811d74b1b02f7eda0f45f2f72c2", "female/body/clip000-bind/f000000/p+60_y240_diffuse.png": "dcfe620b4224b4bfb45d7c577fcc1811ffd27b57faec8606198c37dae771960e", "female/body/clip000-bind/f000000/p+60_y240_normal.png": "44578198dea17749bac6d87c1e879420f5ae1010bb3241b405fa649d0b7e33f4", "female/body/clip000-bind/f000000/p+60_y240_specular.png": "537b832ffc6aa1bbe21faa6670cc1caad41aab283eefcbc03debc7d47961a90b", "female/body/clip000-bind/f000000/p+60_y270_depth.png": "3d35a269cb64b579eb2620c54f407d439ab7c2a0bf71518c08514084c5b3178c", "female/body/clip000-bind/f000000/p+60_y270_diffuse.png": "e2bd86e6868f617ab56d177de2efa0fd27ec65a426a0762a9a6ae84a6aa5235f", "female/body/clip000-bind/f000000/p+60_y270_normal.png": "dc160871e4940cb0667fe28a68b5160b1b4ce2087e1757887568e81e45ebd45c", "female/body/clip000-bind/f000000/p+60_y270_specular.png": "8d4820d4c508b2d08e16221a01c4a42b057f5eff9bbc8bf889d860f6bf3566b3", "female/body/clip000-bind/f000000/p+60_y300_depth.png": "4c1d660d43f0ea3ad2561517fbc639c69c2001e91ce36ed44089e3bc80884f05", "female/body/clip000-bind/f000000/p+60_y300_diffuse.png": "7ce2da9968de12780bc23a22887883da7847e20310a3e42e8b2bc4b8771087b5", "female/body/clip000-bind/f000000/p+60_y300_normal.png": "a72432ddf15c088e86dde2955b88c24174ea3de43de611e62435d2913a0d34b6", "female/body/clip000-bind/f000000/p+60_y300_specular.png": "f1fcc92887665ef411b19121ad7517f90b8dca5b4cfe8eb0a8979de0d23f3fbe", "female/body/clip000-bind/f000000/p+60_y330_depth.png": "b33cb3274b8de53051c028b1c4564628c4a8685c8e4e9c77a2827580459613c2", "female/body/clip000-bind/f000000/p+60_y330_diffuse.png": "5f55cc331092a9cc924ea56619b47ada8d42f7df552fe6c8244945958e468be0", "female/body/clip000-bind/f000000/p+60_y330_normal.png": "395dae6030daa9e837dbdb9f3f888fb642c9d5fbbbcaf4b45bb961fc9c730923", "female/body/clip000-bind/f000000/p+60_y330_specular.png": "4672e0e1f2c26ac7450dcf2b4a10b00f15c42cbb04775e5d215adc242367ef00", "female/body/clip000-bind/f000000/p-30_y000_depth.png": "3d1aad2678c32171ef0ef44da24fa3341352f4d7ea8e1b5256748aa645ad3e6c", "female/body/clip000-bind/f000000/p-30_y000_diffuse.png": "8fcfd1a3782ff50663f299a6a6d75b15ee08d012c34bedda5dce1fb9f313eb70", "female/body/clip000-bind/f000000/p-30_y000_normal.png": "65ae5754e73e1167493d326d233ac93aff93d7942763a8e7837cb0f78a433286", "female/body/clip000-bind/f000000/p-30_y000_specular.png": "324cc04a566333ed8c55d4ae258570cf146656158532b0335051af71458d640f", "female/body/clip000-bind/f000000/p-30_y030_depth.png": "95af5bb67fa051102826daf62a8923ecba74688d558a5f7654886fcf8792ce38", "female/body/clip000-bind/f000000/p-30_y030_diffuse.png": "4083a7ba2c16fa591fa6a0e4b6dc8f668566d80d92faae0cc171d92026526e0f", "female/body/clip000-bind/f000000/p-30_y030_normal.png": "d5b22ed41c625f0b2aa30cd85fbc0b49f31da4d08fe45c2a9cdad033db15b0b5", "female/body/clip000-bind/f000000/p-30_y030_specular.png": "2d377867995fde1f7952587fe0b519c4bd4af7f23e42dbe2f59ff64c190622ed", "female/body/clip000-bind/f000000/p-30_y060_depth.png": "8d409bd2357ba65114166840ceabfc625d926e579519f1e39e9e433d9a91ea99", "female/body/clip000-bind/f000000/p-30_y060_diffuse.png": "cbb340fa858052050b3e8bfc187b60a705b0a31026bfbd8fe89d09de660f18f5", "female/body/clip000-bind/f000000/p-30_y060_normal.png": "6e3e0cb5e0de839742e4cd8e1c770d05c0aeb65ddaec3fb8c02091bb2211f9a2", "female/body/clip000-bind/f000000/p-30_y060_specular.png": "8fa92ad0ff49c33004d182e1282f98c646304753014a39c4c23b45223b45b8a8", "female/body/clip000-bind/f000000/p-30_y090_depth.png": "2b16e54b8ba82e273a5e3d1987e2d76ebf1ee849d4fe91ffe19e7b897c15e9e7", "female/body/clip000-bind/f000000/p-30_y090_diffuse.png": "dba4e63c3fc0c975d2f5e7222128958da53486b11863756415a96c3e92a4dd90", "female/body/clip000-bind/f000000/p-30_y090_normal.png": "8193e36436c23c3cc265002a460d8e9def2d54d4fecb89647d7882cb586ab16c", "female/body/clip000-bind/f000000/p-30_y090_specular.png": "0d16fe69d09c07c334d6799a3609d3ca2288c08adedcc6f79cf94162d1592c34", "female/body/clip000-bind/f000000/p-30_y120_depth.png": "caa24a97bcf3f71fa2fe96b00e921bb2c7e368243269460162a989733765ca02", "female/body/clip000-bind/f000000/p-30_y120_diffuse.png": "c93bdfa3278b53c45e6cc95f6838f4597b27d9b671a8dce7abb433457f60c794", "female/body/clip000-bind/f000000/p-30_y120_normal.png": "80c596d11f80385e12c570f0e057972d9d5a01fcc7d992b0096145a16bedd801", "female/body/clip000-bind/f000000/p-30_y120_specular.png": "bab1a3a87ddd015e649d9393ff99d6b22ca831176454802a4dd58eb463ea5e68", "female/body/clip000-bind/f000000/p-30_y150_depth.png": "6cc0428c0895cfc05b6ee7911fd943becebf1aaee5e5b5a2fcd39253b5faa2ff", "female/body/clip000-bind/f000000/p-30_y150_diffuse.png": "0da0f035d2909ca467d6e30f3dba974d541b3e02aef9739754797d682b4aa6da", "female/body/clip000-bind/f000000/p-30_y150_normal.png": "3be8177399550b8ead0845ca2a5590ba4556fa680fef0367b5a9828ee0f646d4", "female/body/clip000-bind/f000000/p-30_y150_specular.png": "4c5f8058f46af71285dc19d21cb85d338264d5c2adc3f6bd3737d5965d5e1a0c", "female/body/clip000-bind/f000000/p-30_y180_depth.png": "0d7c6de43a0565915f5ce8d08e5dbfba483b1ab28a99fdfd124e6ae967ed78b8", "female/body/clip000-bind/f000000/p-30_y180_diffuse.png": "2e9170fccaaa40954adb6af75e7292eeb611147ca109f7bb97b6408c614d5a04", "female/body/clip000-bind/f000000/p-30_y180_normal.png": "1c5964102aaa00b82ecb0f691481255480610f78eac72d7d20cff443c1773180", "female/body/clip000-bind/f000000/p-30_y180_specular.png": "9673f9dafa397e95702509fa38fe971d8e54b8c3e87797777ef6464eccaccf2e", "female/body/clip000-bind/f000000/p-30_y210_depth.png": "d9f010884ed721db8e8efec486432841b84638112fe2925d5d533df4dbde7488", "female/body/clip000-bind/f000000/p-30_y210_diffuse.png": "feadf62fe1283064c6d879a6c25ae645037c16477bbc5599c1113d4be0fd18d3", "female/body/clip000-bind/f000000/p-30_y210_normal.png": "98b8cfea4698846d3cbb6b48d34895fa0f6ba51e274b75299a8354edf296773d", "female/body/clip000-bind/f000000/p-30_y210_specular.png": "b4c65be93980e8774687af2f54be50777595dda0c8cc5df88153924164386400", "female/body/clip000-bind/f000000/p-30_y240_depth.png": "9633da136d3ae4b8138752fd12b9cda0d57e0b3429d99182b83cceb9a11bacac", "female/body/clip000-bind/f000000/p-30_y240_diffuse.png": "7a22854f038bca1d7eb3f57281f8b5f685aaae77c395aa294775d621d677176d", "female/body/clip000-bind/f000000/p-30_y240_normal.png": "ed708ca9e7c716d6403c352d34c7f4bc4e7957796e067b38e20339f0634dc576", "female/body/clip000-bind/f000000/p-30_y240_specular.png": "2c5c9dfa335e54a37b71dc5dda0f0b3eb6eddeac2e6730f8dd260da3be4394bf", "female/body/clip000-bind/f000000/p-30_y270_depth.png": "d1277e9241794131524fbd344790ce57cac0fd7f9017f7f76221e5237cab6c43", "female/body/clip000-bind/f000000/p-30_y270_diffuse.png": "9adbd706437f0423ee2705ca7fe15a7cc21a1619c11efd9f84cbe3c4e84bc3e8", "female/body/clip000-bind/f000000/p-30_y270_normal.png": "2328b9635cb9c7100b04f2761efb9865d51a5d69b2c1e91d7b3d863c75dbe387", "female/body/clip000-bind/f000000/p-30_y270_specular.png": "def640d3fcada94f8d0736aca7c9a5547193691f31fcd14e3199facf49c4c846", "female/body/clip000-bind/f000000/p-30_y300_depth.png": "6b41f67d0ebb9e7e8946886abb5b3c0aca59d9ce66032f64813e321d493e4236", "female/body/clip000-bind/f000000/p-30_y300_diffuse.png": "d7f3bd43781f32b0a5f14c350e84150fce1ed485fa5ea0838cab5c01de24319f", "female/body/clip000-bind/f000000/p-30_y300_normal.png": "c7d44a5497410d9c0b4cc1ea59c794bf9ac0bc1305e317d26a2d485f7d1c0e7d", "female/body/clip000-bind/f000000/p-30_y300_specular.png": "41323efd35b41f3b7ad0def7bacb05dbad522ef9db77f69ff545ad5a41a67ef4", "female/body/clip000-bind/f000000/p-30_y330_depth.png": "cad7ce15ad476bbf98bf2f140165afb328bf033ad61acf8b860bf507f318edd5", "female/body/clip000-bind/f000000/p-30_y330_diffuse.png": "5fb54b2d8ee8bdd5a30ebcf91b76c7c3ad48592531083f4a799f173817fed87b", "female/body/clip000-bind/f000000/p-30_y330_normal.png": "b83adaebae364eb98db6360825b268b5a0a5aa8fa8f92e0fb6512e302c0e67e0", "female/body/clip000-bind/f000000/p-30_y330_specular.png": "e5557ab6258fff357496721a8dcf64d975bee41c6b58e19004e8d99d7260cb04", "female/body/clip000-bind/f000000/p-60_y000_depth.png": "6deae0247d9d1c9e9e24321c25656ef151686e79d72089e7fca864460a02b6ac", "female/body/clip000-bind/f000000/p-60_y000_diffuse.png": "c604188f6297b021730608b973d1711d55cd574ec44c3daf9a29348c5e1171ba", "female/body/clip000-bind/f000000/p-60_y000_normal.png": "f698c219df80999041de100fb98e5f8e6fb6cfe7737a8a42556419d3f005a3ff", "female/body/clip000-bind/f000000/p-60_y000_specular.png": "fee033e18cb1ba1571049fc88043a99c7edcbbb16d5be73bb0094dcf391f19a3", "female/body/clip000-bind/f000000/p-60_y030_depth.png": "f6d65ebd10b15fe8881028c868fab48d44938164e2f917a5cbd53994266e7062", "female/body/clip000-bind/f000000/p-60_y030_diffuse.png": "8fcb347b4c153ff185903dfb1b78dd4224bfc8fe60e6adeb729b29ed68563f11", "female/body/clip000-bind/f000000/p-60_y030_normal.png": "652a9db04e0f64cce0fa8df5103de7606b203d296298e5bf2547c52e44b8c1a9", "female/body/clip000-bind/f000000/p-60_y030_specular.png": "fd4f6dd0ec91ea31c00facb88a301d76fe6190ee31f5a9d818a67d81958b7375", "female/body/clip000-bind/f000000/p-60_y060_depth.png": "d601ce4100756ac0358d6c20102abe595a3031090abe7f8e5727918f882bec41", "female/body/clip000-bind/f000000/p-60_y060_diffuse.png": "7244b72457fbd3274ceefd26fa854c28a6a2bce93ec21f65d59dffd281980c1a", "female/body/clip000-bind/f000000/p-60_y060_normal.png": "b68a417cb56d7b00dbda41f315c870cf417f62695324972d7eddbfc2cc9b4d6d", "female/body/clip000-bind/f000000/p-60_y060_specular.png": "387edd2bf133ceb8d156544743ce6c1b6b1967fd90c7e0435f9b391ebc5e9a15", "female/body/clip000-bind/f000000/p-60_y090_depth.png": "0c81fcf417257fec9a266eec711e0b37d6ee684e3eeec9953a3fc2eb9319b7ec", "female/body/clip000-bind/f000000/p-60_y090_diffuse.png": "25e6f20f31fbda9e29d7e151c7f1615df294ceb4b83126cc9b93c87437a87945", "female/body/clip000-bind/f000000/p-60_y090_normal.png": "0690e84ae554f5fc19e5f29ea184cea71e840095e820dbcfd1aa11955e9a6b22", "female/body/clip000-bind/f000000/p-60_y090_specular.png": "7e5d53242af0feacc023ca241e3dfbce42b76bee82e5d24e018ad2accf4b53ae", "female/body/clip000-bind/f000000/p-60_y120_depth.png": "ca2de2787d20a46f4a7999008b86b863cfdadd835254aa09df3a5d7a0be527b9", "female/body/clip000-bind/f000000/p-60_y120_diffuse.png": "8f04683547b634b0d81bd0c1123675421259fe5a25701ad4bfc9c468aa099571", "female/body/clip000-bind/f000000/p-60_y120_normal.png": "db29607c180577806a0ab3bddc1518121f27478355c281c84a1d5b2186ffee22", "female/body/clip000-bind/f000000/p-60_y120_specular.png": "5bc7f328c93f5cbdc91e278ed9fa29a66bf10b68924368d021f1d71145a00604", "female/body/clip000-bind/f000000/p-60_y150_depth.png": "480ab0f26e366b6303bf9d96c97b53753c910bd19df5f69ac0ce454fbe4b8ab3", "female/body/clip000-bind/f000000/p-60_y150_diffuse.png": "1eb5cc7fa6d242f61869e5b1524fe2bd33e7018f8bf1d33b934ad61a0353a392", "female/body/clip000-bind/f000000/p-60_y150_normal.png": "874485137026ae22fdae1bd82b319312b5e179738164482c2b429efebc46a983", "female/body/clip000-bind/f000000/p-60_y150_specular.png": "87a5090095182ab1fe8e4913d5900fd4009c8e794eaef38352e835be73deae90", "female/body/clip000-bind/f000000/p-60_y180_depth.png": "fbccdf2b0e57d0d17f11bf1d21f3727f24bf79ee12b5c07c78c2fc6bb360c1c7", "female/body/clip000-bind/f000000/p-60_y180_diffuse.png": "a60a8f1426697dc86be3e17adef9ed60f0924d6842471729da576d68079297f3", "female/body/clip000-bind/f000000/p-60_y180_normal.png": "b06556672d29b674169aa1ff76ac036ce2b10b622b9ae77b9a9acaac90cc80f7", "female/body/clip000-bind/f000000/p-60_y180_specular.png": "c7fb38fe5d40857cf230fa561343b50bf810cd6dafc58f60e8c33464564529d5", "female/body/clip000-bind/f000000/p-60_y210_depth.png": "cf0cba505e57e8d44c2caecb196117be513ea4c8db62a2b3d93318ea0d7acb28", "female/body/clip000-bind/f000000/p-60_y210_diffuse.png": "5f55cc331092a9cc924ea56619b47ada8d42f7df552fe6c8244945958e468be0", "female/body/clip000-bind/f000000/p-60_y210_normal.png": "4852d765e0cd40e02145ede4a5c7be82cc74971430ae676430804cf3eddcfb6b", "female/body/clip000-bind/f000000/p-60_y210_specular.png": "4672e0e1f2c26ac7450dcf2b4a10b00f15c42cbb04775e5d215adc242367ef00", "female/body/clip000-bind/f000000/p-60_y240_depth.png": "502b9fd8cac9b5dbbb04eea94989ef54282e7260b239c2a4b56239fb8f0c2ffb", "female/body/clip000-bind/f000000/p-60_y240_diffuse.png": "7ce2da9968de12780bc23a22887883da7847e20310a3e42e8b2bc4b8771087b5", "female/body/clip000-bind/f000000/p-60_y240_normal.png": "b88e7d6fbae330d5c613bb572bc390140e5c36d0483d268839ebd19133a4772e", "female/body/clip000-bind/f000000/p-60_y240_specular.png": "f1fcc92887665ef411b19121ad7517f90b8dca5b4cfe8eb0a8979de0d23f3fbe", "female/body/clip000-bind/f000000/p-60_y270_depth.png": "beaa1614c03cd1236af3fd4297c62a4f22d684d125404a5b8a63c7935bf9f274", "female/body/clip000-bind/f000000/p-60_y270_diffuse.png": "e2bd86e6868f617ab56d177de2efa0fd27ec65a426a0762a9a6ae84a6aa5235f", "female/body/clip000-bind/f000000/p-60_y270_normal.png": "a7fbefd14abca1a800d1b5499307c2b01d6686aeeea4a576c439c687809c4a62", "female/body/clip000-bind/f000000/p-60_y270_specular.png": "8d4820d4c508b2d08e16221a01c4a42b057f5eff9bbc8bf889d860f6bf3566b3", "female/body/clip000-bind/f000000/p-60_y300_depth.png": "7c77c75a6cf832633da570d75e59e1b7b14ea53441512d30ed32ae532f826c88", "female/body/clip000-bind/f000000/p-60_y300_diffuse.png": "dcfe620b4224b4bfb45d7c577fcc1811ffd27b57faec8606198c37dae771960e", "female/body/clip000-bind/f000000/p-60_y300_normal.png": "bdb5e1f38746ab8b927d4fdec614b3a4ea7159a65917c81d647b42d7de23ec31", "female/body/clip000-bind/f000000/p-60_y300_specular.png": "537b832ffc6aa1bbe21faa6670cc1caad41aab283eefcbc03debc7d47961a90b", "female/body/clip000-bind/f000000/p-60_y330_depth.png": "c4f5165acd35f2627235ebce92e6831b9e84105ece63a1091b6e2a8637657de1", "female/body/clip000-bind/f000000/p-60_y330_diffuse.png": "80c7f288389df958c64927c8118232567e0b8beff80dd7ac6dd3c532e719d07a", "female/body/clip000-bind/f000000/p-60_y330_normal.png": "27af30dd5ba13f1f8016650fc7f7782611b7584f49bbca38ee833ca40c70b372", "female/body/clip000-bind/f000000/p-60_y330_specular.png": "31c34d2e368393bcbed604c6da0e5e0cfa17197ceef59ea6d60c64b482952a98" }, "status": "complete"}@@ -0,0 +1,573 @@
{
"format_version": 2,
"sex": "female",
"settype": "body",
"project": {
"id": "ppd-18e5be694a41d971",
"name": "Nieuw project"
},
"identity": {
"body_model_sha256": "672e8ec453c674803bf39620e24f8747052045d8aaac7911b7665c1fda7a08d7",
"equipment_preset_sha256": null,
"framing": {
"height_milli": 2600,
"center_y_milli": 1000,
"pivot_y_milli": 1000
},
"pivot_source": "fallback",
"near": 8.7,
"far": 11.3,
"camera_distance": 10.0,
"normal_space": "view (+Y up), PNG rows top-down",
"depth": "16-bit gray+alpha; distance=near+(sample/65535)*(far-near); per-sex fixed range, out-of-range clamped"
},
"fps": 2,
"depth_near": 8.7,
"depth_far": 11.3,
"depth_encoding": "linear: distance = depth_near + (sample/65535)*(depth_far-depth_near); 16-bit gray+alpha; clamped to [near,far]",
"cell_width": 16,
"cell_height": 24,
"pitches": [
-60,
-30,
0,
30,
60
],
"yaws": [
0,
30,
60,
90,
120,
150,
180,
210,
240,
270,
300,
330
],
"maps": {
"depth": {
"file": "female-body-depth-atlas.png",
"sha256": "5ff4a97adeb10ce5106a7eb330493dd0bb5650712383b835fb3a4cf3afcb93fa",
"width": 960,
"height": 24
},
"diffuse": {
"file": "female-body-diffuse-atlas.png",
"sha256": "77c4ce766320f6895e0213fd45cd4e1b4dcba2fc1e91b1907de1227af95f5b00",
"width": 960,
"height": 24
},
"normal": {
"file": "female-body-normal-atlas.png",
"sha256": "a5c04db35e3d986de8e1c33162ecda8de76a0811a1724294924df59916137840",
"width": 960,
"height": 24
},
"specular": {
"file": "female-body-specular-atlas.png",
"sha256": "2af936f4d835da83d6447d42a212bef0adbd2a2624408ea3d4633f055752609f",
"width": 960,
"height": 24
}
},
"clips": [
{
"source_index": 0,
"name": "",
"token": "clip000-bind",
"frame_count": 1,
"duration": 0.0,
"frames": [
{
"index": 0,
"views": [
{
"pitch": -60,
"yaw": 0,
"x": 0,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": -60,
"yaw": 30,
"x": 16,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": -60,
"yaw": 60,
"x": 32,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": -60,
"yaw": 90,
"x": 48,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": -60,
"yaw": 120,
"x": 64,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": -60,
"yaw": 150,
"x": 80,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": -60,
"yaw": 180,
"x": 96,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": -60,
"yaw": 210,
"x": 112,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": -60,
"yaw": 240,
"x": 128,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": -60,
"yaw": 270,
"x": 144,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": -60,
"yaw": 300,
"x": 160,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": -60,
"yaw": 330,
"x": 176,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": -30,
"yaw": 0,
"x": 192,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": -30,
"yaw": 30,
"x": 208,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": -30,
"yaw": 60,
"x": 224,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": -30,
"yaw": 90,
"x": 240,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": -30,
"yaw": 120,
"x": 256,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": -30,
"yaw": 150,
"x": 272,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": -30,
"yaw": 180,
"x": 288,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": -30,
"yaw": 210,
"x": 304,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": -30,
"yaw": 240,
"x": 320,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": -30,
"yaw": 270,
"x": 336,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": -30,
"yaw": 300,
"x": 352,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": -30,
"yaw": 330,
"x": 368,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": 0,
"yaw": 0,
"x": 384,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": 0,
"yaw": 30,
"x": 400,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": 0,
"yaw": 60,
"x": 416,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": 0,
"yaw": 90,
"x": 432,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": 0,
"yaw": 120,
"x": 448,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": 0,
"yaw": 150,
"x": 464,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": 0,
"yaw": 180,
"x": 480,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": 0,
"yaw": 210,
"x": 496,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": 0,
"yaw": 240,
"x": 512,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": 0,
"yaw": 270,
"x": 528,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": 0,
"yaw": 300,
"x": 544,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": 0,
"yaw": 330,
"x": 560,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": 30,
"yaw": 0,
"x": 576,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": 30,
"yaw": 30,
"x": 592,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": 30,
"yaw": 60,
"x": 608,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": 30,
"yaw": 90,
"x": 624,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": 30,
"yaw": 120,
"x": 640,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": 30,
"yaw": 150,
"x": 656,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": 30,
"yaw": 180,
"x": 672,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": 30,
"yaw": 210,
"x": 688,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": 30,
"yaw": 240,
"x": 704,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": 30,
"yaw": 270,
"x": 720,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": 30,
"yaw": 300,
"x": 736,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": 30,
"yaw": 330,
"x": 752,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": 60,
"yaw": 0,
"x": 768,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": 60,
"yaw": 30,
"x": 784,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": 60,
"yaw": 60,
"x": 800,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": 60,
"yaw": 90,
"x": 816,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": 60,
"yaw": 120,
"x": 832,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": 60,
"yaw": 150,
"x": 848,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": 60,
"yaw": 180,
"x": 864,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": 60,
"yaw": 210,
"x": 880,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": 60,
"yaw": 240,
"x": 896,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": 60,
"yaw": 270,
"x": 912,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": 60,
"yaw": 300,
"x": 928,
"y": 0,
"w": 16,
"h": 24
},
{
"pitch": 60,
"yaw": 330,
"x": 944,
"y": 0,
"w": 16,
"h": 24
}
]
}
]
}
]
}
@@ -0,0 +1,573 @@{ "format_version": 2, "sex": "female", "settype": "body", "project": { "id": "ppd-18e5be694a41d971", "name": "Nieuw project" }, "identity": { "body_model_sha256": "672e8ec453c674803bf39620e24f8747052045d8aaac7911b7665c1fda7a08d7", "equipment_preset_sha256": null, "framing": { "height_milli": 2600, "center_y_milli": 1000, "pivot_y_milli": 1000 }, "pivot_source": "fallback", "near": 8.7, "far": 11.3, "camera_distance": 10.0, "normal_space": "view (+Y up), PNG rows top-down", "depth": "16-bit gray+alpha; distance=near+(sample/65535)*(far-near); per-sex fixed range, out-of-range clamped" }, "fps": 2, "depth_near": 8.7, "depth_far": 11.3, "depth_encoding": "linear: distance = depth_near + (sample/65535)*(depth_far-depth_near); 16-bit gray+alpha; clamped to [near,far]", "cell_width": 16, "cell_height": 24, "pitches": [ -60, -30, 0, 30, 60 ], "yaws": [ 0, 30, 60, 90, 120, 150, 180, 210, 240, 270, 300, 330 ], "maps": { "depth": { "file": "female-body-depth-atlas.png", "sha256": "5ff4a97adeb10ce5106a7eb330493dd0bb5650712383b835fb3a4cf3afcb93fa", "width": 960, "height": 24 }, "diffuse": { "file": "female-body-diffuse-atlas.png", "sha256": "77c4ce766320f6895e0213fd45cd4e1b4dcba2fc1e91b1907de1227af95f5b00", "width": 960, "height": 24 }, "normal": { "file": "female-body-normal-atlas.png", "sha256": "a5c04db35e3d986de8e1c33162ecda8de76a0811a1724294924df59916137840", "width": 960, "height": 24 }, "specular": { "file": "female-body-specular-atlas.png", "sha256": "2af936f4d835da83d6447d42a212bef0adbd2a2624408ea3d4633f055752609f", "width": 960, "height": 24 } }, "clips": [ { "source_index": 0, "name": "", "token": "clip000-bind", "frame_count": 1, "duration": 0.0, "frames": [ { "index": 0, "views": [ { "pitch": -60, "yaw": 0, "x": 0, "y": 0, "w": 16, "h": 24 }, { "pitch": -60, "yaw": 30, "x": 16, "y": 0, "w": 16, "h": 24 }, { "pitch": -60, "yaw": 60, "x": 32, "y": 0, "w": 16, "h": 24 }, { "pitch": -60, "yaw": 90, "x": 48, "y": 0, "w": 16, "h": 24 }, { "pitch": -60, "yaw": 120, "x": 64, "y": 0, "w": 16, "h": 24 }, { "pitch": -60, "yaw": 150, "x": 80, "y": 0, "w": 16, "h": 24 }, { "pitch": -60, "yaw": 180, "x": 96, "y": 0, "w": 16, "h": 24 }, { "pitch": -60, "yaw": 210, "x": 112, "y": 0, "w": 16, "h": 24 }, { "pitch": -60, "yaw": 240, "x": 128, "y": 0, "w": 16, "h": 24 }, { "pitch": -60, "yaw": 270, "x": 144, "y": 0, "w": 16, "h": 24 }, { "pitch": -60, "yaw": 300, "x": 160, "y": 0, "w": 16, "h": 24 }, { "pitch": -60, "yaw": 330, "x": 176, "y": 0, "w": 16, "h": 24 }, { "pitch": -30, "yaw": 0, "x": 192, "y": 0, "w": 16, "h": 24 }, { "pitch": -30, "yaw": 30, "x": 208, "y": 0, "w": 16, "h": 24 }, { "pitch": -30, "yaw": 60, "x": 224, "y": 0, "w": 16, "h": 24 }, { "pitch": -30, "yaw": 90, "x": 240, "y": 0, "w": 16, "h": 24 }, { "pitch": -30, "yaw": 120, "x": 256, "y": 0, "w": 16, "h": 24 }, { "pitch": -30, "yaw": 150, "x": 272, "y": 0, "w": 16, "h": 24 }, { "pitch": -30, "yaw": 180, "x": 288, "y": 0, "w": 16, "h": 24 }, { "pitch": -30, "yaw": 210, "x": 304, "y": 0, "w": 16, "h": 24 }, { "pitch": -30, "yaw": 240, "x": 320, "y": 0, "w": 16, "h": 24 }, { "pitch": -30, "yaw": 270, "x": 336, "y": 0, "w": 16, "h": 24 }, { "pitch": -30, "yaw": 300, "x": 352, "y": 0, "w": 16, "h": 24 }, { "pitch": -30, "yaw": 330, "x": 368, "y": 0, "w": 16, "h": 24 }, { "pitch": 0, "yaw": 0, "x": 384, "y": 0, "w": 16, "h": 24 }, { "pitch": 0, "yaw": 30, "x": 400, "y": 0, "w": 16, "h": 24 }, { "pitch": 0, "yaw": 60, "x": 416, "y": 0, "w": 16, "h": 24 }, { "pitch": 0, "yaw": 90, "x": 432, "y": 0, "w": 16, "h": 24 }, { "pitch": 0, "yaw": 120, "x": 448, "y": 0, "w": 16, "h": 24 }, { "pitch": 0, "yaw": 150, "x": 464, "y": 0, "w": 16, "h": 24 }, { "pitch": 0, "yaw": 180, "x": 480, "y": 0, "w": 16, "h": 24 }, { "pitch": 0, "yaw": 210, "x": 496, "y": 0, "w": 16, "h": 24 }, { "pitch": 0, "yaw": 240, "x": 512, "y": 0, "w": 16, "h": 24 }, { "pitch": 0, "yaw": 270, "x": 528, "y": 0, "w": 16, "h": 24 }, { "pitch": 0, "yaw": 300, "x": 544, "y": 0, "w": 16, "h": 24 }, { "pitch": 0, "yaw": 330, "x": 560, "y": 0, "w": 16, "h": 24 }, { "pitch": 30, "yaw": 0, "x": 576, "y": 0, "w": 16, "h": 24 }, { "pitch": 30, "yaw": 30, "x": 592, "y": 0, "w": 16, "h": 24 }, { "pitch": 30, "yaw": 60, "x": 608, "y": 0, "w": 16, "h": 24 }, { "pitch": 30, "yaw": 90, "x": 624, "y": 0, "w": 16, "h": 24 }, { "pitch": 30, "yaw": 120, "x": 640, "y": 0, "w": 16, "h": 24 }, { "pitch": 30, "yaw": 150, "x": 656, "y": 0, "w": 16, "h": 24 }, { "pitch": 30, "yaw": 180, "x": 672, "y": 0, "w": 16, "h": 24 }, { "pitch": 30, "yaw": 210, "x": 688, "y": 0, "w": 16, "h": 24 }, { "pitch": 30, "yaw": 240, "x": 704, "y": 0, "w": 16, "h": 24 }, { "pitch": 30, "yaw": 270, "x": 720, "y": 0, "w": 16, "h": 24 }, { "pitch": 30, "yaw": 300, "x": 736, "y": 0, "w": 16, "h": 24 }, { "pitch": 30, "yaw": 330, "x": 752, "y": 0, "w": 16, "h": 24 }, { "pitch": 60, "yaw": 0, "x": 768, "y": 0, "w": 16, "h": 24 }, { "pitch": 60, "yaw": 30, "x": 784, "y": 0, "w": 16, "h": 24 }, { "pitch": 60, "yaw": 60, "x": 800, "y": 0, "w": 16, "h": 24 }, { "pitch": 60, "yaw": 90, "x": 816, "y": 0, "w": 16, "h": 24 }, { "pitch": 60, "yaw": 120, "x": 832, "y": 0, "w": 16, "h": 24 }, { "pitch": 60, "yaw": 150, "x": 848, "y": 0, "w": 16, "h": 24 }, { "pitch": 60, "yaw": 180, "x": 864, "y": 0, "w": 16, "h": 24 }, { "pitch": 60, "yaw": 210, "x": 880, "y": 0, "w": 16, "h": 24 }, { "pitch": 60, "yaw": 240, "x": 896, "y": 0, "w": 16, "h": 24 }, { "pitch": 60, "yaw": 270, "x": 912, "y": 0, "w": 16, "h": 24 }, { "pitch": 60, "yaw": 300, "x": 928, "y": 0, "w": 16, "h": 24 }, { "pitch": 60, "yaw": 330, "x": 944, "y": 0, "w": 16, "h": 24 } ] } ] } ]}The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
The contents of this binary file are not shown.
@@ -0,0 +1,240 @@
{"path":"female/body/clip000-bind/f000000/p-60_y000_diffuse.png","sha256":"c604188f6297b021730608b973d1711d55cd574ec44c3daf9a29348c5e1171ba"}
{"path":"female/body/clip000-bind/f000000/p-60_y000_depth.png","sha256":"6deae0247d9d1c9e9e24321c25656ef151686e79d72089e7fca864460a02b6ac"}
{"path":"female/body/clip000-bind/f000000/p-60_y000_normal.png","sha256":"f698c219df80999041de100fb98e5f8e6fb6cfe7737a8a42556419d3f005a3ff"}
{"path":"female/body/clip000-bind/f000000/p-60_y000_specular.png","sha256":"fee033e18cb1ba1571049fc88043a99c7edcbbb16d5be73bb0094dcf391f19a3"}
{"path":"female/body/clip000-bind/f000000/p-60_y030_diffuse.png","sha256":"8fcb347b4c153ff185903dfb1b78dd4224bfc8fe60e6adeb729b29ed68563f11"}
{"path":"female/body/clip000-bind/f000000/p-60_y030_depth.png","sha256":"f6d65ebd10b15fe8881028c868fab48d44938164e2f917a5cbd53994266e7062"}
{"path":"female/body/clip000-bind/f000000/p-60_y030_normal.png","sha256":"652a9db04e0f64cce0fa8df5103de7606b203d296298e5bf2547c52e44b8c1a9"}
{"path":"female/body/clip000-bind/f000000/p-60_y030_specular.png","sha256":"fd4f6dd0ec91ea31c00facb88a301d76fe6190ee31f5a9d818a67d81958b7375"}
{"path":"female/body/clip000-bind/f000000/p-60_y060_diffuse.png","sha256":"7244b72457fbd3274ceefd26fa854c28a6a2bce93ec21f65d59dffd281980c1a"}
{"path":"female/body/clip000-bind/f000000/p-60_y060_depth.png","sha256":"d601ce4100756ac0358d6c20102abe595a3031090abe7f8e5727918f882bec41"}
{"path":"female/body/clip000-bind/f000000/p-60_y060_normal.png","sha256":"b68a417cb56d7b00dbda41f315c870cf417f62695324972d7eddbfc2cc9b4d6d"}
{"path":"female/body/clip000-bind/f000000/p-60_y060_specular.png","sha256":"387edd2bf133ceb8d156544743ce6c1b6b1967fd90c7e0435f9b391ebc5e9a15"}
{"path":"female/body/clip000-bind/f000000/p-60_y090_diffuse.png","sha256":"25e6f20f31fbda9e29d7e151c7f1615df294ceb4b83126cc9b93c87437a87945"}
{"path":"female/body/clip000-bind/f000000/p-60_y090_depth.png","sha256":"0c81fcf417257fec9a266eec711e0b37d6ee684e3eeec9953a3fc2eb9319b7ec"}
{"path":"female/body/clip000-bind/f000000/p-60_y090_normal.png","sha256":"0690e84ae554f5fc19e5f29ea184cea71e840095e820dbcfd1aa11955e9a6b22"}
{"path":"female/body/clip000-bind/f000000/p-60_y090_specular.png","sha256":"7e5d53242af0feacc023ca241e3dfbce42b76bee82e5d24e018ad2accf4b53ae"}
{"path":"female/body/clip000-bind/f000000/p-60_y120_diffuse.png","sha256":"8f04683547b634b0d81bd0c1123675421259fe5a25701ad4bfc9c468aa099571"}
{"path":"female/body/clip000-bind/f000000/p-60_y120_depth.png","sha256":"ca2de2787d20a46f4a7999008b86b863cfdadd835254aa09df3a5d7a0be527b9"}
{"path":"female/body/clip000-bind/f000000/p-60_y120_normal.png","sha256":"db29607c180577806a0ab3bddc1518121f27478355c281c84a1d5b2186ffee22"}
{"path":"female/body/clip000-bind/f000000/p-60_y120_specular.png","sha256":"5bc7f328c93f5cbdc91e278ed9fa29a66bf10b68924368d021f1d71145a00604"}
{"path":"female/body/clip000-bind/f000000/p-60_y150_diffuse.png","sha256":"1eb5cc7fa6d242f61869e5b1524fe2bd33e7018f8bf1d33b934ad61a0353a392"}
{"path":"female/body/clip000-bind/f000000/p-60_y150_depth.png","sha256":"480ab0f26e366b6303bf9d96c97b53753c910bd19df5f69ac0ce454fbe4b8ab3"}
{"path":"female/body/clip000-bind/f000000/p-60_y150_normal.png","sha256":"874485137026ae22fdae1bd82b319312b5e179738164482c2b429efebc46a983"}
{"path":"female/body/clip000-bind/f000000/p-60_y150_specular.png","sha256":"87a5090095182ab1fe8e4913d5900fd4009c8e794eaef38352e835be73deae90"}
{"path":"female/body/clip000-bind/f000000/p-60_y180_diffuse.png","sha256":"a60a8f1426697dc86be3e17adef9ed60f0924d6842471729da576d68079297f3"}
{"path":"female/body/clip000-bind/f000000/p-60_y180_depth.png","sha256":"fbccdf2b0e57d0d17f11bf1d21f3727f24bf79ee12b5c07c78c2fc6bb360c1c7"}
{"path":"female/body/clip000-bind/f000000/p-60_y180_normal.png","sha256":"b06556672d29b674169aa1ff76ac036ce2b10b622b9ae77b9a9acaac90cc80f7"}
{"path":"female/body/clip000-bind/f000000/p-60_y180_specular.png","sha256":"c7fb38fe5d40857cf230fa561343b50bf810cd6dafc58f60e8c33464564529d5"}
{"path":"female/body/clip000-bind/f000000/p-60_y210_diffuse.png","sha256":"5f55cc331092a9cc924ea56619b47ada8d42f7df552fe6c8244945958e468be0"}
{"path":"female/body/clip000-bind/f000000/p-60_y210_depth.png","sha256":"cf0cba505e57e8d44c2caecb196117be513ea4c8db62a2b3d93318ea0d7acb28"}
{"path":"female/body/clip000-bind/f000000/p-60_y210_normal.png","sha256":"4852d765e0cd40e02145ede4a5c7be82cc74971430ae676430804cf3eddcfb6b"}
{"path":"female/body/clip000-bind/f000000/p-60_y210_specular.png","sha256":"4672e0e1f2c26ac7450dcf2b4a10b00f15c42cbb04775e5d215adc242367ef00"}
{"path":"female/body/clip000-bind/f000000/p-60_y240_diffuse.png","sha256":"7ce2da9968de12780bc23a22887883da7847e20310a3e42e8b2bc4b8771087b5"}
{"path":"female/body/clip000-bind/f000000/p-60_y240_depth.png","sha256":"502b9fd8cac9b5dbbb04eea94989ef54282e7260b239c2a4b56239fb8f0c2ffb"}
{"path":"female/body/clip000-bind/f000000/p-60_y240_normal.png","sha256":"b88e7d6fbae330d5c613bb572bc390140e5c36d0483d268839ebd19133a4772e"}
{"path":"female/body/clip000-bind/f000000/p-60_y240_specular.png","sha256":"f1fcc92887665ef411b19121ad7517f90b8dca5b4cfe8eb0a8979de0d23f3fbe"}
{"path":"female/body/clip000-bind/f000000/p-60_y270_diffuse.png","sha256":"e2bd86e6868f617ab56d177de2efa0fd27ec65a426a0762a9a6ae84a6aa5235f"}
{"path":"female/body/clip000-bind/f000000/p-60_y270_depth.png","sha256":"beaa1614c03cd1236af3fd4297c62a4f22d684d125404a5b8a63c7935bf9f274"}
{"path":"female/body/clip000-bind/f000000/p-60_y270_normal.png","sha256":"a7fbefd14abca1a800d1b5499307c2b01d6686aeeea4a576c439c687809c4a62"}
{"path":"female/body/clip000-bind/f000000/p-60_y270_specular.png","sha256":"8d4820d4c508b2d08e16221a01c4a42b057f5eff9bbc8bf889d860f6bf3566b3"}
{"path":"female/body/clip000-bind/f000000/p-60_y300_diffuse.png","sha256":"dcfe620b4224b4bfb45d7c577fcc1811ffd27b57faec8606198c37dae771960e"}
{"path":"female/body/clip000-bind/f000000/p-60_y300_depth.png","sha256":"7c77c75a6cf832633da570d75e59e1b7b14ea53441512d30ed32ae532f826c88"}
{"path":"female/body/clip000-bind/f000000/p-60_y300_normal.png","sha256":"bdb5e1f38746ab8b927d4fdec614b3a4ea7159a65917c81d647b42d7de23ec31"}
{"path":"female/body/clip000-bind/f000000/p-60_y300_specular.png","sha256":"537b832ffc6aa1bbe21faa6670cc1caad41aab283eefcbc03debc7d47961a90b"}
{"path":"female/body/clip000-bind/f000000/p-60_y330_diffuse.png","sha256":"80c7f288389df958c64927c8118232567e0b8beff80dd7ac6dd3c532e719d07a"}
{"path":"female/body/clip000-bind/f000000/p-60_y330_depth.png","sha256":"c4f5165acd35f2627235ebce92e6831b9e84105ece63a1091b6e2a8637657de1"}
{"path":"female/body/clip000-bind/f000000/p-60_y330_normal.png","sha256":"27af30dd5ba13f1f8016650fc7f7782611b7584f49bbca38ee833ca40c70b372"}
{"path":"female/body/clip000-bind/f000000/p-60_y330_specular.png","sha256":"31c34d2e368393bcbed604c6da0e5e0cfa17197ceef59ea6d60c64b482952a98"}
{"path":"female/body/clip000-bind/f000000/p-30_y000_diffuse.png","sha256":"8fcfd1a3782ff50663f299a6a6d75b15ee08d012c34bedda5dce1fb9f313eb70"}
{"path":"female/body/clip000-bind/f000000/p-30_y000_depth.png","sha256":"3d1aad2678c32171ef0ef44da24fa3341352f4d7ea8e1b5256748aa645ad3e6c"}
{"path":"female/body/clip000-bind/f000000/p-30_y000_normal.png","sha256":"65ae5754e73e1167493d326d233ac93aff93d7942763a8e7837cb0f78a433286"}
{"path":"female/body/clip000-bind/f000000/p-30_y000_specular.png","sha256":"324cc04a566333ed8c55d4ae258570cf146656158532b0335051af71458d640f"}
{"path":"female/body/clip000-bind/f000000/p-30_y030_diffuse.png","sha256":"4083a7ba2c16fa591fa6a0e4b6dc8f668566d80d92faae0cc171d92026526e0f"}
{"path":"female/body/clip000-bind/f000000/p-30_y030_depth.png","sha256":"95af5bb67fa051102826daf62a8923ecba74688d558a5f7654886fcf8792ce38"}
{"path":"female/body/clip000-bind/f000000/p-30_y030_normal.png","sha256":"d5b22ed41c625f0b2aa30cd85fbc0b49f31da4d08fe45c2a9cdad033db15b0b5"}
{"path":"female/body/clip000-bind/f000000/p-30_y030_specular.png","sha256":"2d377867995fde1f7952587fe0b519c4bd4af7f23e42dbe2f59ff64c190622ed"}
{"path":"female/body/clip000-bind/f000000/p-30_y060_diffuse.png","sha256":"cbb340fa858052050b3e8bfc187b60a705b0a31026bfbd8fe89d09de660f18f5"}
{"path":"female/body/clip000-bind/f000000/p-30_y060_depth.png","sha256":"8d409bd2357ba65114166840ceabfc625d926e579519f1e39e9e433d9a91ea99"}
{"path":"female/body/clip000-bind/f000000/p-30_y060_normal.png","sha256":"6e3e0cb5e0de839742e4cd8e1c770d05c0aeb65ddaec3fb8c02091bb2211f9a2"}
{"path":"female/body/clip000-bind/f000000/p-30_y060_specular.png","sha256":"8fa92ad0ff49c33004d182e1282f98c646304753014a39c4c23b45223b45b8a8"}
{"path":"female/body/clip000-bind/f000000/p-30_y090_diffuse.png","sha256":"dba4e63c3fc0c975d2f5e7222128958da53486b11863756415a96c3e92a4dd90"}
{"path":"female/body/clip000-bind/f000000/p-30_y090_depth.png","sha256":"2b16e54b8ba82e273a5e3d1987e2d76ebf1ee849d4fe91ffe19e7b897c15e9e7"}
{"path":"female/body/clip000-bind/f000000/p-30_y090_normal.png","sha256":"8193e36436c23c3cc265002a460d8e9def2d54d4fecb89647d7882cb586ab16c"}
{"path":"female/body/clip000-bind/f000000/p-30_y090_specular.png","sha256":"0d16fe69d09c07c334d6799a3609d3ca2288c08adedcc6f79cf94162d1592c34"}
{"path":"female/body/clip000-bind/f000000/p-30_y120_diffuse.png","sha256":"c93bdfa3278b53c45e6cc95f6838f4597b27d9b671a8dce7abb433457f60c794"}
{"path":"female/body/clip000-bind/f000000/p-30_y120_depth.png","sha256":"caa24a97bcf3f71fa2fe96b00e921bb2c7e368243269460162a989733765ca02"}
{"path":"female/body/clip000-bind/f000000/p-30_y120_normal.png","sha256":"80c596d11f80385e12c570f0e057972d9d5a01fcc7d992b0096145a16bedd801"}
{"path":"female/body/clip000-bind/f000000/p-30_y120_specular.png","sha256":"bab1a3a87ddd015e649d9393ff99d6b22ca831176454802a4dd58eb463ea5e68"}
{"path":"female/body/clip000-bind/f000000/p-30_y150_diffuse.png","sha256":"0da0f035d2909ca467d6e30f3dba974d541b3e02aef9739754797d682b4aa6da"}
{"path":"female/body/clip000-bind/f000000/p-30_y150_depth.png","sha256":"6cc0428c0895cfc05b6ee7911fd943becebf1aaee5e5b5a2fcd39253b5faa2ff"}
{"path":"female/body/clip000-bind/f000000/p-30_y150_normal.png","sha256":"3be8177399550b8ead0845ca2a5590ba4556fa680fef0367b5a9828ee0f646d4"}
{"path":"female/body/clip000-bind/f000000/p-30_y150_specular.png","sha256":"4c5f8058f46af71285dc19d21cb85d338264d5c2adc3f6bd3737d5965d5e1a0c"}
{"path":"female/body/clip000-bind/f000000/p-30_y180_diffuse.png","sha256":"2e9170fccaaa40954adb6af75e7292eeb611147ca109f7bb97b6408c614d5a04"}
{"path":"female/body/clip000-bind/f000000/p-30_y180_depth.png","sha256":"0d7c6de43a0565915f5ce8d08e5dbfba483b1ab28a99fdfd124e6ae967ed78b8"}
{"path":"female/body/clip000-bind/f000000/p-30_y180_normal.png","sha256":"1c5964102aaa00b82ecb0f691481255480610f78eac72d7d20cff443c1773180"}
{"path":"female/body/clip000-bind/f000000/p-30_y180_specular.png","sha256":"9673f9dafa397e95702509fa38fe971d8e54b8c3e87797777ef6464eccaccf2e"}
{"path":"female/body/clip000-bind/f000000/p-30_y210_diffuse.png","sha256":"feadf62fe1283064c6d879a6c25ae645037c16477bbc5599c1113d4be0fd18d3"}
{"path":"female/body/clip000-bind/f000000/p-30_y210_depth.png","sha256":"d9f010884ed721db8e8efec486432841b84638112fe2925d5d533df4dbde7488"}
{"path":"female/body/clip000-bind/f000000/p-30_y210_normal.png","sha256":"98b8cfea4698846d3cbb6b48d34895fa0f6ba51e274b75299a8354edf296773d"}
{"path":"female/body/clip000-bind/f000000/p-30_y210_specular.png","sha256":"b4c65be93980e8774687af2f54be50777595dda0c8cc5df88153924164386400"}
{"path":"female/body/clip000-bind/f000000/p-30_y240_diffuse.png","sha256":"7a22854f038bca1d7eb3f57281f8b5f685aaae77c395aa294775d621d677176d"}
{"path":"female/body/clip000-bind/f000000/p-30_y240_depth.png","sha256":"9633da136d3ae4b8138752fd12b9cda0d57e0b3429d99182b83cceb9a11bacac"}
{"path":"female/body/clip000-bind/f000000/p-30_y240_normal.png","sha256":"ed708ca9e7c716d6403c352d34c7f4bc4e7957796e067b38e20339f0634dc576"}
{"path":"female/body/clip000-bind/f000000/p-30_y240_specular.png","sha256":"2c5c9dfa335e54a37b71dc5dda0f0b3eb6eddeac2e6730f8dd260da3be4394bf"}
{"path":"female/body/clip000-bind/f000000/p-30_y270_diffuse.png","sha256":"9adbd706437f0423ee2705ca7fe15a7cc21a1619c11efd9f84cbe3c4e84bc3e8"}
{"path":"female/body/clip000-bind/f000000/p-30_y270_depth.png","sha256":"d1277e9241794131524fbd344790ce57cac0fd7f9017f7f76221e5237cab6c43"}
{"path":"female/body/clip000-bind/f000000/p-30_y270_normal.png","sha256":"2328b9635cb9c7100b04f2761efb9865d51a5d69b2c1e91d7b3d863c75dbe387"}
{"path":"female/body/clip000-bind/f000000/p-30_y270_specular.png","sha256":"def640d3fcada94f8d0736aca7c9a5547193691f31fcd14e3199facf49c4c846"}
{"path":"female/body/clip000-bind/f000000/p-30_y300_diffuse.png","sha256":"d7f3bd43781f32b0a5f14c350e84150fce1ed485fa5ea0838cab5c01de24319f"}
{"path":"female/body/clip000-bind/f000000/p-30_y300_depth.png","sha256":"6b41f67d0ebb9e7e8946886abb5b3c0aca59d9ce66032f64813e321d493e4236"}
{"path":"female/body/clip000-bind/f000000/p-30_y300_normal.png","sha256":"c7d44a5497410d9c0b4cc1ea59c794bf9ac0bc1305e317d26a2d485f7d1c0e7d"}
{"path":"female/body/clip000-bind/f000000/p-30_y300_specular.png","sha256":"41323efd35b41f3b7ad0def7bacb05dbad522ef9db77f69ff545ad5a41a67ef4"}
{"path":"female/body/clip000-bind/f000000/p-30_y330_diffuse.png","sha256":"5fb54b2d8ee8bdd5a30ebcf91b76c7c3ad48592531083f4a799f173817fed87b"}
{"path":"female/body/clip000-bind/f000000/p-30_y330_depth.png","sha256":"cad7ce15ad476bbf98bf2f140165afb328bf033ad61acf8b860bf507f318edd5"}
{"path":"female/body/clip000-bind/f000000/p-30_y330_normal.png","sha256":"b83adaebae364eb98db6360825b268b5a0a5aa8fa8f92e0fb6512e302c0e67e0"}
{"path":"female/body/clip000-bind/f000000/p-30_y330_specular.png","sha256":"e5557ab6258fff357496721a8dcf64d975bee41c6b58e19004e8d99d7260cb04"}
{"path":"female/body/clip000-bind/f000000/p+00_y000_diffuse.png","sha256":"184a6a613c3247a405b541d92ac0d574c4a644d730147b83f3cdffe8222dffd8"}
{"path":"female/body/clip000-bind/f000000/p+00_y000_depth.png","sha256":"d0d147693b595ca69203875fa272c4da6e1b4f36dafd35abed09c423e698476b"}
{"path":"female/body/clip000-bind/f000000/p+00_y000_normal.png","sha256":"e94459bf831426f6a7f18e25a851736eebacb11a9b9ad055843a74f9c20ef1ff"}
{"path":"female/body/clip000-bind/f000000/p+00_y000_specular.png","sha256":"603a9ef8a14a1707bb6c44356a08e766839b4331ba569acb238240ec09c83008"}
{"path":"female/body/clip000-bind/f000000/p+00_y030_diffuse.png","sha256":"4b52655644f6a8f457b6aff09b4c21d60d1ca277518b82f28266afc46f6c1425"}
{"path":"female/body/clip000-bind/f000000/p+00_y030_depth.png","sha256":"08f13444bf028cc0da4b39c286806e7df5a305f52bcd3f11403f5edcdbb098aa"}
{"path":"female/body/clip000-bind/f000000/p+00_y030_normal.png","sha256":"1bbed3e7a1f2719c67bde3971f3d89eb4c984d530981a7e705fe36943a5de095"}
{"path":"female/body/clip000-bind/f000000/p+00_y030_specular.png","sha256":"d37be2ca979f881709a368d9920925f000a68dbc040d4c8aa5c65ea576a27d87"}
{"path":"female/body/clip000-bind/f000000/p+00_y060_diffuse.png","sha256":"f0386a31d2e6685474643d83d74b89538f777801cd7ab6d4c36455181f9959f2"}
{"path":"female/body/clip000-bind/f000000/p+00_y060_depth.png","sha256":"a5adadf1ca5515b5e04387d9eb04e1f80590cc4f563db806709bf34ab28f46c6"}
{"path":"female/body/clip000-bind/f000000/p+00_y060_normal.png","sha256":"83b7d2035002d5e0fdcba8298007abb6de95ada35eec16809f8ac9a7aa2bdc68"}
{"path":"female/body/clip000-bind/f000000/p+00_y060_specular.png","sha256":"dfd71b73f05c8f731d4e6de3ec7fab55a5b7b1589e8d73dee8f809764b040c94"}
{"path":"female/body/clip000-bind/f000000/p+00_y090_diffuse.png","sha256":"642327f2eeb976ebbbd0c7ab36be299c99d24e242efdeab7be52781abd143300"}
{"path":"female/body/clip000-bind/f000000/p+00_y090_depth.png","sha256":"3dfa6feaf34b8572aefe3d4b86e3d20d9e68d44b830375b0fc5a7ddf8fce5c56"}
{"path":"female/body/clip000-bind/f000000/p+00_y090_normal.png","sha256":"96691b5434102e5f233d628d6fe144acdd889fe80ef3065199e184adfc918993"}
{"path":"female/body/clip000-bind/f000000/p+00_y090_specular.png","sha256":"c5a1a711bd93b544371a2e565a74666d9be53e8be289ffcf574d2a99b3c8581c"}
{"path":"female/body/clip000-bind/f000000/p+00_y120_diffuse.png","sha256":"f0386a31d2e6685474643d83d74b89538f777801cd7ab6d4c36455181f9959f2"}
{"path":"female/body/clip000-bind/f000000/p+00_y120_depth.png","sha256":"b5824f4462903401040cc0108319f566437dd3ccd2a8ba8940914b85c3b17911"}
{"path":"female/body/clip000-bind/f000000/p+00_y120_normal.png","sha256":"87f0d296a1c2d8daadc039118a4b6a279f8803175de54e4a3a664d3afe177924"}
{"path":"female/body/clip000-bind/f000000/p+00_y120_specular.png","sha256":"dfd71b73f05c8f731d4e6de3ec7fab55a5b7b1589e8d73dee8f809764b040c94"}
{"path":"female/body/clip000-bind/f000000/p+00_y150_diffuse.png","sha256":"4b52655644f6a8f457b6aff09b4c21d60d1ca277518b82f28266afc46f6c1425"}
{"path":"female/body/clip000-bind/f000000/p+00_y150_depth.png","sha256":"50cfa38a47da56a7a938fafd768bd1750fb5d076c6318281218bed6b0b567276"}
{"path":"female/body/clip000-bind/f000000/p+00_y150_normal.png","sha256":"d25647157dca638ee01073c347a49a807e494850cba78550d8345bda7e616d21"}
{"path":"female/body/clip000-bind/f000000/p+00_y150_specular.png","sha256":"d37be2ca979f881709a368d9920925f000a68dbc040d4c8aa5c65ea576a27d87"}
{"path":"female/body/clip000-bind/f000000/p+00_y180_diffuse.png","sha256":"184a6a613c3247a405b541d92ac0d574c4a644d730147b83f3cdffe8222dffd8"}
{"path":"female/body/clip000-bind/f000000/p+00_y180_depth.png","sha256":"30f22bf4e9fe6de168fb57f82d798066c0f08e07c40c65c402c8391beb100409"}
{"path":"female/body/clip000-bind/f000000/p+00_y180_normal.png","sha256":"e94459bf831426f6a7f18e25a851736eebacb11a9b9ad055843a74f9c20ef1ff"}
{"path":"female/body/clip000-bind/f000000/p+00_y180_specular.png","sha256":"603a9ef8a14a1707bb6c44356a08e766839b4331ba569acb238240ec09c83008"}
{"path":"female/body/clip000-bind/f000000/p+00_y210_diffuse.png","sha256":"581f562b9bc3ccd8c7bf1b382f15d24dd1ea69c81f9560b3fe88b4fd549f8e29"}
{"path":"female/body/clip000-bind/f000000/p+00_y210_depth.png","sha256":"c3697cf0d66e87746c96066c8bc791ddaf54f42c11810e995904479d3ef0ef33"}
{"path":"female/body/clip000-bind/f000000/p+00_y210_normal.png","sha256":"e47a96f0f5f997b88e2a142ad6a3c2f49e7cc73d9e3232d3e9ff262c102b87dd"}
{"path":"female/body/clip000-bind/f000000/p+00_y210_specular.png","sha256":"0cc9f5fd8947655582f32f24b046f0abea2d210ffaa3a8e00d7f7ce4bdbe4f4f"}
{"path":"female/body/clip000-bind/f000000/p+00_y240_diffuse.png","sha256":"aa25de6f43af59e971480e7ffd8459ab6137be1e6f887d2e33e9c4a1a950674a"}
{"path":"female/body/clip000-bind/f000000/p+00_y240_depth.png","sha256":"1295345bbc5bf9b812a14c8eb9ba5ecfb6f134870b6985ce8369b4b5cdf3cef5"}
{"path":"female/body/clip000-bind/f000000/p+00_y240_normal.png","sha256":"f0edb4d440b1b69fc0c4e5fccc9fc7d24d0675e64fd9b30bac551afdc3d914a2"}
{"path":"female/body/clip000-bind/f000000/p+00_y240_specular.png","sha256":"12bb9c834900d1c65355faa90ccb097406cf85f483ebc56ae098dd69af5574fd"}
{"path":"female/body/clip000-bind/f000000/p+00_y270_diffuse.png","sha256":"154f90eea8dd86c25c4355f6830903cb81c6070dac4d3ecab71340e9679efe10"}
{"path":"female/body/clip000-bind/f000000/p+00_y270_depth.png","sha256":"fae867f2adbfecf82325bc9d05bc2f52fa63c21411b1b80959eac1a12f95f0ba"}
{"path":"female/body/clip000-bind/f000000/p+00_y270_normal.png","sha256":"8cfaa080dcb42073ced360ff76cd7af9f874fa732b0185439f68d2cad967496a"}
{"path":"female/body/clip000-bind/f000000/p+00_y270_specular.png","sha256":"ef516345cf4877b36f920d3f08831d861488eef83052cfb93377d4d2b3e5eb14"}
{"path":"female/body/clip000-bind/f000000/p+00_y300_diffuse.png","sha256":"aa25de6f43af59e971480e7ffd8459ab6137be1e6f887d2e33e9c4a1a950674a"}
{"path":"female/body/clip000-bind/f000000/p+00_y300_depth.png","sha256":"4e92778592ce85cec82be2ec3b53b2efb92e7aa70809276d304869c0b2312627"}
{"path":"female/body/clip000-bind/f000000/p+00_y300_normal.png","sha256":"dd88fffa00f736bf2e7870416b540593ee1157cc9ed5c1b3494e7612a0c540b9"}
{"path":"female/body/clip000-bind/f000000/p+00_y300_specular.png","sha256":"12bb9c834900d1c65355faa90ccb097406cf85f483ebc56ae098dd69af5574fd"}
{"path":"female/body/clip000-bind/f000000/p+00_y330_diffuse.png","sha256":"581f562b9bc3ccd8c7bf1b382f15d24dd1ea69c81f9560b3fe88b4fd549f8e29"}
{"path":"female/body/clip000-bind/f000000/p+00_y330_depth.png","sha256":"267600816e03db623c8a92de901ff07293361379c1682f8cc8ef01620f075cf5"}
{"path":"female/body/clip000-bind/f000000/p+00_y330_normal.png","sha256":"4bf732e4001dae0ad732adab6e86b23e1d4c644e27a79f6b457c4be9ac259481"}
{"path":"female/body/clip000-bind/f000000/p+00_y330_specular.png","sha256":"0cc9f5fd8947655582f32f24b046f0abea2d210ffaa3a8e00d7f7ce4bdbe4f4f"}
{"path":"female/body/clip000-bind/f000000/p+30_y000_diffuse.png","sha256":"2e9170fccaaa40954adb6af75e7292eeb611147ca109f7bb97b6408c614d5a04"}
{"path":"female/body/clip000-bind/f000000/p+30_y000_depth.png","sha256":"3c0c691168b29a0212aa4255c313b7ec682a1b9d8cc75b35df0297da8b3e1c4b"}
{"path":"female/body/clip000-bind/f000000/p+30_y000_normal.png","sha256":"1a6b934da173d455cfc588bb6f1859ddb41604803080243a421d9874d15a0523"}
{"path":"female/body/clip000-bind/f000000/p+30_y000_specular.png","sha256":"9673f9dafa397e95702509fa38fe971d8e54b8c3e87797777ef6464eccaccf2e"}
{"path":"female/body/clip000-bind/f000000/p+30_y030_diffuse.png","sha256":"0da0f035d2909ca467d6e30f3dba974d541b3e02aef9739754797d682b4aa6da"}
{"path":"female/body/clip000-bind/f000000/p+30_y030_depth.png","sha256":"30a7f984329341872c5135bf3ad96f8718ed243b8f3274b0c81c9ba8b0c3a406"}
{"path":"female/body/clip000-bind/f000000/p+30_y030_normal.png","sha256":"7ff4fe359807f82327d4c3eb2e2241e4e620e2ede2faf8b9428403c12eb8f365"}
{"path":"female/body/clip000-bind/f000000/p+30_y030_specular.png","sha256":"4c5f8058f46af71285dc19d21cb85d338264d5c2adc3f6bd3737d5965d5e1a0c"}
{"path":"female/body/clip000-bind/f000000/p+30_y060_diffuse.png","sha256":"c93bdfa3278b53c45e6cc95f6838f4597b27d9b671a8dce7abb433457f60c794"}
{"path":"female/body/clip000-bind/f000000/p+30_y060_depth.png","sha256":"d2f88e89ab01fc6fceb0c6cc6c01e0e5f1c8a906c66be68cd6095ecaae6cfc8c"}
{"path":"female/body/clip000-bind/f000000/p+30_y060_normal.png","sha256":"214f56be7469723537b5872886704b6f8a8fed2e2b6a668f7423ac79ceca5d78"}
{"path":"female/body/clip000-bind/f000000/p+30_y060_specular.png","sha256":"bab1a3a87ddd015e649d9393ff99d6b22ca831176454802a4dd58eb463ea5e68"}
{"path":"female/body/clip000-bind/f000000/p+30_y090_diffuse.png","sha256":"dba4e63c3fc0c975d2f5e7222128958da53486b11863756415a96c3e92a4dd90"}
{"path":"female/body/clip000-bind/f000000/p+30_y090_depth.png","sha256":"5f9237c8f2f1dd9503cfc1e7f8bb447558586ee68c922e9a4aafed6776b5a300"}
{"path":"female/body/clip000-bind/f000000/p+30_y090_normal.png","sha256":"4d56a04634fe65711e232cd9d859271b64165a4de0ada606719fbccc63bc75f8"}
{"path":"female/body/clip000-bind/f000000/p+30_y090_specular.png","sha256":"0d16fe69d09c07c334d6799a3609d3ca2288c08adedcc6f79cf94162d1592c34"}
{"path":"female/body/clip000-bind/f000000/p+30_y120_diffuse.png","sha256":"cbb340fa858052050b3e8bfc187b60a705b0a31026bfbd8fe89d09de660f18f5"}
{"path":"female/body/clip000-bind/f000000/p+30_y120_depth.png","sha256":"ac94a5701cc7ad8220da59d5abe35ade2f88056645be844a1b0b52d08ff59f29"}
{"path":"female/body/clip000-bind/f000000/p+30_y120_normal.png","sha256":"fb64938dee7c981cc5388a01f3c213a2d2d4ca163ee3d37b36a6b8119ee3e929"}
{"path":"female/body/clip000-bind/f000000/p+30_y120_specular.png","sha256":"8fa92ad0ff49c33004d182e1282f98c646304753014a39c4c23b45223b45b8a8"}
{"path":"female/body/clip000-bind/f000000/p+30_y150_diffuse.png","sha256":"4083a7ba2c16fa591fa6a0e4b6dc8f668566d80d92faae0cc171d92026526e0f"}
{"path":"female/body/clip000-bind/f000000/p+30_y150_depth.png","sha256":"03d728d83872cb7deb55acb34d537472e7ae1df83eabc07e133329fda3f72be9"}
{"path":"female/body/clip000-bind/f000000/p+30_y150_normal.png","sha256":"8f82a49318d222a618ca545443eb82b6ad4a03d8ddfd7dfc935caf5927329cc5"}
{"path":"female/body/clip000-bind/f000000/p+30_y150_specular.png","sha256":"2d377867995fde1f7952587fe0b519c4bd4af7f23e42dbe2f59ff64c190622ed"}
{"path":"female/body/clip000-bind/f000000/p+30_y180_diffuse.png","sha256":"8fcfd1a3782ff50663f299a6a6d75b15ee08d012c34bedda5dce1fb9f313eb70"}
{"path":"female/body/clip000-bind/f000000/p+30_y180_depth.png","sha256":"45716a8497503471feaf250da2fe8c3c9fcdc65f7a53ce837f1c017c43d3c897"}
{"path":"female/body/clip000-bind/f000000/p+30_y180_normal.png","sha256":"8848f8c566f60109e1e82ccb8e3d2ff224706e275afa9cc0fa9732f185fdfce7"}
{"path":"female/body/clip000-bind/f000000/p+30_y180_specular.png","sha256":"324cc04a566333ed8c55d4ae258570cf146656158532b0335051af71458d640f"}
{"path":"female/body/clip000-bind/f000000/p+30_y210_diffuse.png","sha256":"5fb54b2d8ee8bdd5a30ebcf91b76c7c3ad48592531083f4a799f173817fed87b"}
{"path":"female/body/clip000-bind/f000000/p+30_y210_depth.png","sha256":"3e8d0e19ccbb57e4ef4a83ab4ffc01d2a8040e70862f5183944c1c831662a27b"}
{"path":"female/body/clip000-bind/f000000/p+30_y210_normal.png","sha256":"1cf99f027f4833110ea2c5423a7aa7f06a85fe86e03ee65572329a6fb65c4a21"}
{"path":"female/body/clip000-bind/f000000/p+30_y210_specular.png","sha256":"e5557ab6258fff357496721a8dcf64d975bee41c6b58e19004e8d99d7260cb04"}
{"path":"female/body/clip000-bind/f000000/p+30_y240_diffuse.png","sha256":"d7f3bd43781f32b0a5f14c350e84150fce1ed485fa5ea0838cab5c01de24319f"}
{"path":"female/body/clip000-bind/f000000/p+30_y240_depth.png","sha256":"be9397e6372c2a17fcf94f2dd33eb5d9cccf14d82e8e62d5c97e71e986c780cc"}
{"path":"female/body/clip000-bind/f000000/p+30_y240_normal.png","sha256":"a118c91fe423853a59a7f844020c7b5acbabc3a7152071e4ed8c4a19f392ecdb"}
{"path":"female/body/clip000-bind/f000000/p+30_y240_specular.png","sha256":"41323efd35b41f3b7ad0def7bacb05dbad522ef9db77f69ff545ad5a41a67ef4"}
{"path":"female/body/clip000-bind/f000000/p+30_y270_diffuse.png","sha256":"9adbd706437f0423ee2705ca7fe15a7cc21a1619c11efd9f84cbe3c4e84bc3e8"}
{"path":"female/body/clip000-bind/f000000/p+30_y270_depth.png","sha256":"c06f29b55194a89a00ffa5a5a728ef8b2cc5deed08cb19d8d285c810e276368c"}
{"path":"female/body/clip000-bind/f000000/p+30_y270_normal.png","sha256":"62198e745c335fd3d351530b6b37148855c78b27295d79433bf60f8703345c6a"}
{"path":"female/body/clip000-bind/f000000/p+30_y270_specular.png","sha256":"def640d3fcada94f8d0736aca7c9a5547193691f31fcd14e3199facf49c4c846"}
{"path":"female/body/clip000-bind/f000000/p+30_y300_diffuse.png","sha256":"7a22854f038bca1d7eb3f57281f8b5f685aaae77c395aa294775d621d677176d"}
{"path":"female/body/clip000-bind/f000000/p+30_y300_depth.png","sha256":"d9691024262f18406f7722c8c0c52c831c807fcf6b5fe5ac5b6c259f3f0dbc63"}
{"path":"female/body/clip000-bind/f000000/p+30_y300_normal.png","sha256":"144f29e6c9d7cadd70968e73a693b3aae4a773837b687c5f8f78adac94944c7e"}
{"path":"female/body/clip000-bind/f000000/p+30_y300_specular.png","sha256":"2c5c9dfa335e54a37b71dc5dda0f0b3eb6eddeac2e6730f8dd260da3be4394bf"}
{"path":"female/body/clip000-bind/f000000/p+30_y330_diffuse.png","sha256":"feadf62fe1283064c6d879a6c25ae645037c16477bbc5599c1113d4be0fd18d3"}
{"path":"female/body/clip000-bind/f000000/p+30_y330_depth.png","sha256":"0b9da2cad56e93b0b5997e29aa689b882fc7211bb589e3bb5e364e50c783298c"}
{"path":"female/body/clip000-bind/f000000/p+30_y330_normal.png","sha256":"6cec64448cb3129c67c197c47715480c070e1d59d178122d680f64c9fbd3e9dd"}
{"path":"female/body/clip000-bind/f000000/p+30_y330_specular.png","sha256":"b4c65be93980e8774687af2f54be50777595dda0c8cc5df88153924164386400"}
{"path":"female/body/clip000-bind/f000000/p+60_y000_diffuse.png","sha256":"a60a8f1426697dc86be3e17adef9ed60f0924d6842471729da576d68079297f3"}
{"path":"female/body/clip000-bind/f000000/p+60_y000_depth.png","sha256":"c4c96e07593ebf8f43feab481bcbeb1ee0cce39048725bae329db7a0511a6ae7"}
{"path":"female/body/clip000-bind/f000000/p+60_y000_normal.png","sha256":"1444c526fd274a68a19203f24578e13f97449a3b0d0169bcdc4b668b38446cae"}
{"path":"female/body/clip000-bind/f000000/p+60_y000_specular.png","sha256":"c7fb38fe5d40857cf230fa561343b50bf810cd6dafc58f60e8c33464564529d5"}
{"path":"female/body/clip000-bind/f000000/p+60_y030_diffuse.png","sha256":"1eb5cc7fa6d242f61869e5b1524fe2bd33e7018f8bf1d33b934ad61a0353a392"}
{"path":"female/body/clip000-bind/f000000/p+60_y030_depth.png","sha256":"0032df464c0c1c2d63cb092d4125bf9bed2213e814ba6d0b3f3b87ef1a586083"}
{"path":"female/body/clip000-bind/f000000/p+60_y030_normal.png","sha256":"8c702e8014b0ed0f2e6f14ad988ab314eeff51f6ef61e3a7badef7bddc101555"}
{"path":"female/body/clip000-bind/f000000/p+60_y030_specular.png","sha256":"87a5090095182ab1fe8e4913d5900fd4009c8e794eaef38352e835be73deae90"}
{"path":"female/body/clip000-bind/f000000/p+60_y060_diffuse.png","sha256":"8f04683547b634b0d81bd0c1123675421259fe5a25701ad4bfc9c468aa099571"}
{"path":"female/body/clip000-bind/f000000/p+60_y060_depth.png","sha256":"52e25876e1353eac16008408698289b96a85a87f40899389e9b60fa364050a44"}
{"path":"female/body/clip000-bind/f000000/p+60_y060_normal.png","sha256":"9ffb387e01c429bddd7185eb110fa9686a03bd4e068cbf9395b8ea318b116125"}
{"path":"female/body/clip000-bind/f000000/p+60_y060_specular.png","sha256":"5bc7f328c93f5cbdc91e278ed9fa29a66bf10b68924368d021f1d71145a00604"}
{"path":"female/body/clip000-bind/f000000/p+60_y090_diffuse.png","sha256":"25e6f20f31fbda9e29d7e151c7f1615df294ceb4b83126cc9b93c87437a87945"}
{"path":"female/body/clip000-bind/f000000/p+60_y090_depth.png","sha256":"6cb452800635b6033975053b221673d9a2d1256ec9b911a87a3d69b71a9c120f"}
{"path":"female/body/clip000-bind/f000000/p+60_y090_normal.png","sha256":"a62f037ce36a3bcd8129c16eb1bdbb84a4965b2d0a67208d92a01b842b685e5b"}
{"path":"female/body/clip000-bind/f000000/p+60_y090_specular.png","sha256":"7e5d53242af0feacc023ca241e3dfbce42b76bee82e5d24e018ad2accf4b53ae"}
{"path":"female/body/clip000-bind/f000000/p+60_y120_diffuse.png","sha256":"7244b72457fbd3274ceefd26fa854c28a6a2bce93ec21f65d59dffd281980c1a"}
{"path":"female/body/clip000-bind/f000000/p+60_y120_depth.png","sha256":"6c2ecf6ba066a53d9618ed7bbcc4ae2efb41101aa7be1307e206976b367436cf"}
{"path":"female/body/clip000-bind/f000000/p+60_y120_normal.png","sha256":"5fff4aeed846b05f2f26cd359c4e6e32efc8d8663ba92e4f77aa8f732380db95"}
{"path":"female/body/clip000-bind/f000000/p+60_y120_specular.png","sha256":"387edd2bf133ceb8d156544743ce6c1b6b1967fd90c7e0435f9b391ebc5e9a15"}
{"path":"female/body/clip000-bind/f000000/p+60_y150_diffuse.png","sha256":"8fcb347b4c153ff185903dfb1b78dd4224bfc8fe60e6adeb729b29ed68563f11"}
{"path":"female/body/clip000-bind/f000000/p+60_y150_depth.png","sha256":"f101ed8387e46176dc649b66a099f7cc4228f149259f2ae66a33e3124ccc8b0a"}
{"path":"female/body/clip000-bind/f000000/p+60_y150_normal.png","sha256":"b95299d07bfd54aa6c19e0ef1c7863cbfc8d39fbbf645b7766500e9d8478f616"}
{"path":"female/body/clip000-bind/f000000/p+60_y150_specular.png","sha256":"fd4f6dd0ec91ea31c00facb88a301d76fe6190ee31f5a9d818a67d81958b7375"}
{"path":"female/body/clip000-bind/f000000/p+60_y180_diffuse.png","sha256":"c604188f6297b021730608b973d1711d55cd574ec44c3daf9a29348c5e1171ba"}
{"path":"female/body/clip000-bind/f000000/p+60_y180_depth.png","sha256":"3c059792f1255e1ce5b4f7903e3b8299df4294c66729ccedcd336ff5278b426a"}
{"path":"female/body/clip000-bind/f000000/p+60_y180_normal.png","sha256":"8156a03fd2b91186351d9c6bedb0636ac3de618c09d79e580deb9e2aadfba4a1"}
{"path":"female/body/clip000-bind/f000000/p+60_y180_specular.png","sha256":"fee033e18cb1ba1571049fc88043a99c7edcbbb16d5be73bb0094dcf391f19a3"}
{"path":"female/body/clip000-bind/f000000/p+60_y210_diffuse.png","sha256":"80c7f288389df958c64927c8118232567e0b8beff80dd7ac6dd3c532e719d07a"}
{"path":"female/body/clip000-bind/f000000/p+60_y210_depth.png","sha256":"a7c9c8fedc0c3a55c298efa6ea1355d0008417735d4d302181c520bc2f9ff5da"}
{"path":"female/body/clip000-bind/f000000/p+60_y210_normal.png","sha256":"90b705a2694c817312a8db054825634e08147e0999fc13b8a5ed6a76df0b39cc"}
{"path":"female/body/clip000-bind/f000000/p+60_y210_specular.png","sha256":"31c34d2e368393bcbed604c6da0e5e0cfa17197ceef59ea6d60c64b482952a98"}
{"path":"female/body/clip000-bind/f000000/p+60_y240_diffuse.png","sha256":"dcfe620b4224b4bfb45d7c577fcc1811ffd27b57faec8606198c37dae771960e"}
{"path":"female/body/clip000-bind/f000000/p+60_y240_depth.png","sha256":"9203bcf418109c75a637917a6ca6529aea2a7811d74b1b02f7eda0f45f2f72c2"}
{"path":"female/body/clip000-bind/f000000/p+60_y240_normal.png","sha256":"44578198dea17749bac6d87c1e879420f5ae1010bb3241b405fa649d0b7e33f4"}
{"path":"female/body/clip000-bind/f000000/p+60_y240_specular.png","sha256":"537b832ffc6aa1bbe21faa6670cc1caad41aab283eefcbc03debc7d47961a90b"}
{"path":"female/body/clip000-bind/f000000/p+60_y270_diffuse.png","sha256":"e2bd86e6868f617ab56d177de2efa0fd27ec65a426a0762a9a6ae84a6aa5235f"}
{"path":"female/body/clip000-bind/f000000/p+60_y270_depth.png","sha256":"3d35a269cb64b579eb2620c54f407d439ab7c2a0bf71518c08514084c5b3178c"}
{"path":"female/body/clip000-bind/f000000/p+60_y270_normal.png","sha256":"dc160871e4940cb0667fe28a68b5160b1b4ce2087e1757887568e81e45ebd45c"}
{"path":"female/body/clip000-bind/f000000/p+60_y270_specular.png","sha256":"8d4820d4c508b2d08e16221a01c4a42b057f5eff9bbc8bf889d860f6bf3566b3"}
{"path":"female/body/clip000-bind/f000000/p+60_y300_diffuse.png","sha256":"7ce2da9968de12780bc23a22887883da7847e20310a3e42e8b2bc4b8771087b5"}
{"path":"female/body/clip000-bind/f000000/p+60_y300_depth.png","sha256":"4c1d660d43f0ea3ad2561517fbc639c69c2001e91ce36ed44089e3bc80884f05"}
{"path":"female/body/clip000-bind/f000000/p+60_y300_normal.png","sha256":"a72432ddf15c088e86dde2955b88c24174ea3de43de611e62435d2913a0d34b6"}
{"path":"female/body/clip000-bind/f000000/p+60_y300_specular.png","sha256":"f1fcc92887665ef411b19121ad7517f90b8dca5b4cfe8eb0a8979de0d23f3fbe"}
{"path":"female/body/clip000-bind/f000000/p+60_y330_diffuse.png","sha256":"5f55cc331092a9cc924ea56619b47ada8d42f7df552fe6c8244945958e468be0"}
{"path":"female/body/clip000-bind/f000000/p+60_y330_depth.png","sha256":"b33cb3274b8de53051c028b1c4564628c4a8685c8e4e9c77a2827580459613c2"}
{"path":"female/body/clip000-bind/f000000/p+60_y330_normal.png","sha256":"395dae6030daa9e837dbdb9f3f888fb642c9d5fbbbcaf4b45bb961fc9c730923"}
{"path":"female/body/clip000-bind/f000000/p+60_y330_specular.png","sha256":"4672e0e1f2c26ac7450dcf2b4a10b00f15c42cbb04775e5d215adc242367ef00"}
@@ -0,0 +1,240 @@{"path":"female/body/clip000-bind/f000000/p-60_y000_diffuse.png","sha256":"c604188f6297b021730608b973d1711d55cd574ec44c3daf9a29348c5e1171ba"}{"path":"female/body/clip000-bind/f000000/p-60_y000_depth.png","sha256":"6deae0247d9d1c9e9e24321c25656ef151686e79d72089e7fca864460a02b6ac"}{"path":"female/body/clip000-bind/f000000/p-60_y000_normal.png","sha256":"f698c219df80999041de100fb98e5f8e6fb6cfe7737a8a42556419d3f005a3ff"}{"path":"female/body/clip000-bind/f000000/p-60_y000_specular.png","sha256":"fee033e18cb1ba1571049fc88043a99c7edcbbb16d5be73bb0094dcf391f19a3"}{"path":"female/body/clip000-bind/f000000/p-60_y030_diffuse.png","sha256":"8fcb347b4c153ff185903dfb1b78dd4224bfc8fe60e6adeb729b29ed68563f11"}{"path":"female/body/clip000-bind/f000000/p-60_y030_depth.png","sha256":"f6d65ebd10b15fe8881028c868fab48d44938164e2f917a5cbd53994266e7062"}{"path":"female/body/clip000-bind/f000000/p-60_y030_normal.png","sha256":"652a9db04e0f64cce0fa8df5103de7606b203d296298e5bf2547c52e44b8c1a9"}{"path":"female/body/clip000-bind/f000000/p-60_y030_specular.png","sha256":"fd4f6dd0ec91ea31c00facb88a301d76fe6190ee31f5a9d818a67d81958b7375"}{"path":"female/body/clip000-bind/f000000/p-60_y060_diffuse.png","sha256":"7244b72457fbd3274ceefd26fa854c28a6a2bce93ec21f65d59dffd281980c1a"}{"path":"female/body/clip000-bind/f000000/p-60_y060_depth.png","sha256":"d601ce4100756ac0358d6c20102abe595a3031090abe7f8e5727918f882bec41"}{"path":"female/body/clip000-bind/f000000/p-60_y060_normal.png","sha256":"b68a417cb56d7b00dbda41f315c870cf417f62695324972d7eddbfc2cc9b4d6d"}{"path":"female/body/clip000-bind/f000000/p-60_y060_specular.png","sha256":"387edd2bf133ceb8d156544743ce6c1b6b1967fd90c7e0435f9b391ebc5e9a15"}{"path":"female/body/clip000-bind/f000000/p-60_y090_diffuse.png","sha256":"25e6f20f31fbda9e29d7e151c7f1615df294ceb4b83126cc9b93c87437a87945"}{"path":"female/body/clip000-bind/f000000/p-60_y090_depth.png","sha256":"0c81fcf417257fec9a266eec711e0b37d6ee684e3eeec9953a3fc2eb9319b7ec"}{"path":"female/body/clip000-bind/f000000/p-60_y090_normal.png","sha256":"0690e84ae554f5fc19e5f29ea184cea71e840095e820dbcfd1aa11955e9a6b22"}{"path":"female/body/clip000-bind/f000000/p-60_y090_specular.png","sha256":"7e5d53242af0feacc023ca241e3dfbce42b76bee82e5d24e018ad2accf4b53ae"}{"path":"female/body/clip000-bind/f000000/p-60_y120_diffuse.png","sha256":"8f04683547b634b0d81bd0c1123675421259fe5a25701ad4bfc9c468aa099571"}{"path":"female/body/clip000-bind/f000000/p-60_y120_depth.png","sha256":"ca2de2787d20a46f4a7999008b86b863cfdadd835254aa09df3a5d7a0be527b9"}{"path":"female/body/clip000-bind/f000000/p-60_y120_normal.png","sha256":"db29607c180577806a0ab3bddc1518121f27478355c281c84a1d5b2186ffee22"}{"path":"female/body/clip000-bind/f000000/p-60_y120_specular.png","sha256":"5bc7f328c93f5cbdc91e278ed9fa29a66bf10b68924368d021f1d71145a00604"}{"path":"female/body/clip000-bind/f000000/p-60_y150_diffuse.png","sha256":"1eb5cc7fa6d242f61869e5b1524fe2bd33e7018f8bf1d33b934ad61a0353a392"}{"path":"female/body/clip000-bind/f000000/p-60_y150_depth.png","sha256":"480ab0f26e366b6303bf9d96c97b53753c910bd19df5f69ac0ce454fbe4b8ab3"}{"path":"female/body/clip000-bind/f000000/p-60_y150_normal.png","sha256":"874485137026ae22fdae1bd82b319312b5e179738164482c2b429efebc46a983"}{"path":"female/body/clip000-bind/f000000/p-60_y150_specular.png","sha256":"87a5090095182ab1fe8e4913d5900fd4009c8e794eaef38352e835be73deae90"}{"path":"female/body/clip000-bind/f000000/p-60_y180_diffuse.png","sha256":"a60a8f1426697dc86be3e17adef9ed60f0924d6842471729da576d68079297f3"}{"path":"female/body/clip000-bind/f000000/p-60_y180_depth.png","sha256":"fbccdf2b0e57d0d17f11bf1d21f3727f24bf79ee12b5c07c78c2fc6bb360c1c7"}{"path":"female/body/clip000-bind/f000000/p-60_y180_normal.png","sha256":"b06556672d29b674169aa1ff76ac036ce2b10b622b9ae77b9a9acaac90cc80f7"}{"path":"female/body/clip000-bind/f000000/p-60_y180_specular.png","sha256":"c7fb38fe5d40857cf230fa561343b50bf810cd6dafc58f60e8c33464564529d5"}{"path":"female/body/clip000-bind/f000000/p-60_y210_diffuse.png","sha256":"5f55cc331092a9cc924ea56619b47ada8d42f7df552fe6c8244945958e468be0"}{"path":"female/body/clip000-bind/f000000/p-60_y210_depth.png","sha256":"cf0cba505e57e8d44c2caecb196117be513ea4c8db62a2b3d93318ea0d7acb28"}{"path":"female/body/clip000-bind/f000000/p-60_y210_normal.png","sha256":"4852d765e0cd40e02145ede4a5c7be82cc74971430ae676430804cf3eddcfb6b"}{"path":"female/body/clip000-bind/f000000/p-60_y210_specular.png","sha256":"4672e0e1f2c26ac7450dcf2b4a10b00f15c42cbb04775e5d215adc242367ef00"}{"path":"female/body/clip000-bind/f000000/p-60_y240_diffuse.png","sha256":"7ce2da9968de12780bc23a22887883da7847e20310a3e42e8b2bc4b8771087b5"}{"path":"female/body/clip000-bind/f000000/p-60_y240_depth.png","sha256":"502b9fd8cac9b5dbbb04eea94989ef54282e7260b239c2a4b56239fb8f0c2ffb"}{"path":"female/body/clip000-bind/f000000/p-60_y240_normal.png","sha256":"b88e7d6fbae330d5c613bb572bc390140e5c36d0483d268839ebd19133a4772e"}{"path":"female/body/clip000-bind/f000000/p-60_y240_specular.png","sha256":"f1fcc92887665ef411b19121ad7517f90b8dca5b4cfe8eb0a8979de0d23f3fbe"}{"path":"female/body/clip000-bind/f000000/p-60_y270_diffuse.png","sha256":"e2bd86e6868f617ab56d177de2efa0fd27ec65a426a0762a9a6ae84a6aa5235f"}{"path":"female/body/clip000-bind/f000000/p-60_y270_depth.png","sha256":"beaa1614c03cd1236af3fd4297c62a4f22d684d125404a5b8a63c7935bf9f274"}{"path":"female/body/clip000-bind/f000000/p-60_y270_normal.png","sha256":"a7fbefd14abca1a800d1b5499307c2b01d6686aeeea4a576c439c687809c4a62"}{"path":"female/body/clip000-bind/f000000/p-60_y270_specular.png","sha256":"8d4820d4c508b2d08e16221a01c4a42b057f5eff9bbc8bf889d860f6bf3566b3"}{"path":"female/body/clip000-bind/f000000/p-60_y300_diffuse.png","sha256":"dcfe620b4224b4bfb45d7c577fcc1811ffd27b57faec8606198c37dae771960e"}{"path":"female/body/clip000-bind/f000000/p-60_y300_depth.png","sha256":"7c77c75a6cf832633da570d75e59e1b7b14ea53441512d30ed32ae532f826c88"}{"path":"female/body/clip000-bind/f000000/p-60_y300_normal.png","sha256":"bdb5e1f38746ab8b927d4fdec614b3a4ea7159a65917c81d647b42d7de23ec31"}{"path":"female/body/clip000-bind/f000000/p-60_y300_specular.png","sha256":"537b832ffc6aa1bbe21faa6670cc1caad41aab283eefcbc03debc7d47961a90b"}{"path":"female/body/clip000-bind/f000000/p-60_y330_diffuse.png","sha256":"80c7f288389df958c64927c8118232567e0b8beff80dd7ac6dd3c532e719d07a"}{"path":"female/body/clip000-bind/f000000/p-60_y330_depth.png","sha256":"c4f5165acd35f2627235ebce92e6831b9e84105ece63a1091b6e2a8637657de1"}{"path":"female/body/clip000-bind/f000000/p-60_y330_normal.png","sha256":"27af30dd5ba13f1f8016650fc7f7782611b7584f49bbca38ee833ca40c70b372"}{"path":"female/body/clip000-bind/f000000/p-60_y330_specular.png","sha256":"31c34d2e368393bcbed604c6da0e5e0cfa17197ceef59ea6d60c64b482952a98"}{"path":"female/body/clip000-bind/f000000/p-30_y000_diffuse.png","sha256":"8fcfd1a3782ff50663f299a6a6d75b15ee08d012c34bedda5dce1fb9f313eb70"}{"path":"female/body/clip000-bind/f000000/p-30_y000_depth.png","sha256":"3d1aad2678c32171ef0ef44da24fa3341352f4d7ea8e1b5256748aa645ad3e6c"}{"path":"female/body/clip000-bind/f000000/p-30_y000_normal.png","sha256":"65ae5754e73e1167493d326d233ac93aff93d7942763a8e7837cb0f78a433286"}{"path":"female/body/clip000-bind/f000000/p-30_y000_specular.png","sha256":"324cc04a566333ed8c55d4ae258570cf146656158532b0335051af71458d640f"}{"path":"female/body/clip000-bind/f000000/p-30_y030_diffuse.png","sha256":"4083a7ba2c16fa591fa6a0e4b6dc8f668566d80d92faae0cc171d92026526e0f"}{"path":"female/body/clip000-bind/f000000/p-30_y030_depth.png","sha256":"95af5bb67fa051102826daf62a8923ecba74688d558a5f7654886fcf8792ce38"}{"path":"female/body/clip000-bind/f000000/p-30_y030_normal.png","sha256":"d5b22ed41c625f0b2aa30cd85fbc0b49f31da4d08fe45c2a9cdad033db15b0b5"}{"path":"female/body/clip000-bind/f000000/p-30_y030_specular.png","sha256":"2d377867995fde1f7952587fe0b519c4bd4af7f23e42dbe2f59ff64c190622ed"}{"path":"female/body/clip000-bind/f000000/p-30_y060_diffuse.png","sha256":"cbb340fa858052050b3e8bfc187b60a705b0a31026bfbd8fe89d09de660f18f5"}{"path":"female/body/clip000-bind/f000000/p-30_y060_depth.png","sha256":"8d409bd2357ba65114166840ceabfc625d926e579519f1e39e9e433d9a91ea99"}{"path":"female/body/clip000-bind/f000000/p-30_y060_normal.png","sha256":"6e3e0cb5e0de839742e4cd8e1c770d05c0aeb65ddaec3fb8c02091bb2211f9a2"}{"path":"female/body/clip000-bind/f000000/p-30_y060_specular.png","sha256":"8fa92ad0ff49c33004d182e1282f98c646304753014a39c4c23b45223b45b8a8"}{"path":"female/body/clip000-bind/f000000/p-30_y090_diffuse.png","sha256":"dba4e63c3fc0c975d2f5e7222128958da53486b11863756415a96c3e92a4dd90"}{"path":"female/body/clip000-bind/f000000/p-30_y090_depth.png","sha256":"2b16e54b8ba82e273a5e3d1987e2d76ebf1ee849d4fe91ffe19e7b897c15e9e7"}{"path":"female/body/clip000-bind/f000000/p-30_y090_normal.png","sha256":"8193e36436c23c3cc265002a460d8e9def2d54d4fecb89647d7882cb586ab16c"}{"path":"female/body/clip000-bind/f000000/p-30_y090_specular.png","sha256":"0d16fe69d09c07c334d6799a3609d3ca2288c08adedcc6f79cf94162d1592c34"}{"path":"female/body/clip000-bind/f000000/p-30_y120_diffuse.png","sha256":"c93bdfa3278b53c45e6cc95f6838f4597b27d9b671a8dce7abb433457f60c794"}{"path":"female/body/clip000-bind/f000000/p-30_y120_depth.png","sha256":"caa24a97bcf3f71fa2fe96b00e921bb2c7e368243269460162a989733765ca02"}{"path":"female/body/clip000-bind/f000000/p-30_y120_normal.png","sha256":"80c596d11f80385e12c570f0e057972d9d5a01fcc7d992b0096145a16bedd801"}{"path":"female/body/clip000-bind/f000000/p-30_y120_specular.png","sha256":"bab1a3a87ddd015e649d9393ff99d6b22ca831176454802a4dd58eb463ea5e68"}{"path":"female/body/clip000-bind/f000000/p-30_y150_diffuse.png","sha256":"0da0f035d2909ca467d6e30f3dba974d541b3e02aef9739754797d682b4aa6da"}{"path":"female/body/clip000-bind/f000000/p-30_y150_depth.png","sha256":"6cc0428c0895cfc05b6ee7911fd943becebf1aaee5e5b5a2fcd39253b5faa2ff"}{"path":"female/body/clip000-bind/f000000/p-30_y150_normal.png","sha256":"3be8177399550b8ead0845ca2a5590ba4556fa680fef0367b5a9828ee0f646d4"}{"path":"female/body/clip000-bind/f000000/p-30_y150_specular.png","sha256":"4c5f8058f46af71285dc19d21cb85d338264d5c2adc3f6bd3737d5965d5e1a0c"}{"path":"female/body/clip000-bind/f000000/p-30_y180_diffuse.png","sha256":"2e9170fccaaa40954adb6af75e7292eeb611147ca109f7bb97b6408c614d5a04"}{"path":"female/body/clip000-bind/f000000/p-30_y180_depth.png","sha256":"0d7c6de43a0565915f5ce8d08e5dbfba483b1ab28a99fdfd124e6ae967ed78b8"}{"path":"female/body/clip000-bind/f000000/p-30_y180_normal.png","sha256":"1c5964102aaa00b82ecb0f691481255480610f78eac72d7d20cff443c1773180"}{"path":"female/body/clip000-bind/f000000/p-30_y180_specular.png","sha256":"9673f9dafa397e95702509fa38fe971d8e54b8c3e87797777ef6464eccaccf2e"}{"path":"female/body/clip000-bind/f000000/p-30_y210_diffuse.png","sha256":"feadf62fe1283064c6d879a6c25ae645037c16477bbc5599c1113d4be0fd18d3"}{"path":"female/body/clip000-bind/f000000/p-30_y210_depth.png","sha256":"d9f010884ed721db8e8efec486432841b84638112fe2925d5d533df4dbde7488"}{"path":"female/body/clip000-bind/f000000/p-30_y210_normal.png","sha256":"98b8cfea4698846d3cbb6b48d34895fa0f6ba51e274b75299a8354edf296773d"}{"path":"female/body/clip000-bind/f000000/p-30_y210_specular.png","sha256":"b4c65be93980e8774687af2f54be50777595dda0c8cc5df88153924164386400"}{"path":"female/body/clip000-bind/f000000/p-30_y240_diffuse.png","sha256":"7a22854f038bca1d7eb3f57281f8b5f685aaae77c395aa294775d621d677176d"}{"path":"female/body/clip000-bind/f000000/p-30_y240_depth.png","sha256":"9633da136d3ae4b8138752fd12b9cda0d57e0b3429d99182b83cceb9a11bacac"}{"path":"female/body/clip000-bind/f000000/p-30_y240_normal.png","sha256":"ed708ca9e7c716d6403c352d34c7f4bc4e7957796e067b38e20339f0634dc576"}{"path":"female/body/clip000-bind/f000000/p-30_y240_specular.png","sha256":"2c5c9dfa335e54a37b71dc5dda0f0b3eb6eddeac2e6730f8dd260da3be4394bf"}{"path":"female/body/clip000-bind/f000000/p-30_y270_diffuse.png","sha256":"9adbd706437f0423ee2705ca7fe15a7cc21a1619c11efd9f84cbe3c4e84bc3e8"}{"path":"female/body/clip000-bind/f000000/p-30_y270_depth.png","sha256":"d1277e9241794131524fbd344790ce57cac0fd7f9017f7f76221e5237cab6c43"}{"path":"female/body/clip000-bind/f000000/p-30_y270_normal.png","sha256":"2328b9635cb9c7100b04f2761efb9865d51a5d69b2c1e91d7b3d863c75dbe387"}{"path":"female/body/clip000-bind/f000000/p-30_y270_specular.png","sha256":"def640d3fcada94f8d0736aca7c9a5547193691f31fcd14e3199facf49c4c846"}{"path":"female/body/clip000-bind/f000000/p-30_y300_diffuse.png","sha256":"d7f3bd43781f32b0a5f14c350e84150fce1ed485fa5ea0838cab5c01de24319f"}{"path":"female/body/clip000-bind/f000000/p-30_y300_depth.png","sha256":"6b41f67d0ebb9e7e8946886abb5b3c0aca59d9ce66032f64813e321d493e4236"}{"path":"female/body/clip000-bind/f000000/p-30_y300_normal.png","sha256":"c7d44a5497410d9c0b4cc1ea59c794bf9ac0bc1305e317d26a2d485f7d1c0e7d"}{"path":"female/body/clip000-bind/f000000/p-30_y300_specular.png","sha256":"41323efd35b41f3b7ad0def7bacb05dbad522ef9db77f69ff545ad5a41a67ef4"}{"path":"female/body/clip000-bind/f000000/p-30_y330_diffuse.png","sha256":"5fb54b2d8ee8bdd5a30ebcf91b76c7c3ad48592531083f4a799f173817fed87b"}{"path":"female/body/clip000-bind/f000000/p-30_y330_depth.png","sha256":"cad7ce15ad476bbf98bf2f140165afb328bf033ad61acf8b860bf507f318edd5"}{"path":"female/body/clip000-bind/f000000/p-30_y330_normal.png","sha256":"b83adaebae364eb98db6360825b268b5a0a5aa8fa8f92e0fb6512e302c0e67e0"}{"path":"female/body/clip000-bind/f000000/p-30_y330_specular.png","sha256":"e5557ab6258fff357496721a8dcf64d975bee41c6b58e19004e8d99d7260cb04"}{"path":"female/body/clip000-bind/f000000/p+00_y000_diffuse.png","sha256":"184a6a613c3247a405b541d92ac0d574c4a644d730147b83f3cdffe8222dffd8"}{"path":"female/body/clip000-bind/f000000/p+00_y000_depth.png","sha256":"d0d147693b595ca69203875fa272c4da6e1b4f36dafd35abed09c423e698476b"}{"path":"female/body/clip000-bind/f000000/p+00_y000_normal.png","sha256":"e94459bf831426f6a7f18e25a851736eebacb11a9b9ad055843a74f9c20ef1ff"}{"path":"female/body/clip000-bind/f000000/p+00_y000_specular.png","sha256":"603a9ef8a14a1707bb6c44356a08e766839b4331ba569acb238240ec09c83008"}{"path":"female/body/clip000-bind/f000000/p+00_y030_diffuse.png","sha256":"4b52655644f6a8f457b6aff09b4c21d60d1ca277518b82f28266afc46f6c1425"}{"path":"female/body/clip000-bind/f000000/p+00_y030_depth.png","sha256":"08f13444bf028cc0da4b39c286806e7df5a305f52bcd3f11403f5edcdbb098aa"}{"path":"female/body/clip000-bind/f000000/p+00_y030_normal.png","sha256":"1bbed3e7a1f2719c67bde3971f3d89eb4c984d530981a7e705fe36943a5de095"}{"path":"female/body/clip000-bind/f000000/p+00_y030_specular.png","sha256":"d37be2ca979f881709a368d9920925f000a68dbc040d4c8aa5c65ea576a27d87"}{"path":"female/body/clip000-bind/f000000/p+00_y060_diffuse.png","sha256":"f0386a31d2e6685474643d83d74b89538f777801cd7ab6d4c36455181f9959f2"}{"path":"female/body/clip000-bind/f000000/p+00_y060_depth.png","sha256":"a5adadf1ca5515b5e04387d9eb04e1f80590cc4f563db806709bf34ab28f46c6"}{"path":"female/body/clip000-bind/f000000/p+00_y060_normal.png","sha256":"83b7d2035002d5e0fdcba8298007abb6de95ada35eec16809f8ac9a7aa2bdc68"}{"path":"female/body/clip000-bind/f000000/p+00_y060_specular.png","sha256":"dfd71b73f05c8f731d4e6de3ec7fab55a5b7b1589e8d73dee8f809764b040c94"}{"path":"female/body/clip000-bind/f000000/p+00_y090_diffuse.png","sha256":"642327f2eeb976ebbbd0c7ab36be299c99d24e242efdeab7be52781abd143300"}{"path":"female/body/clip000-bind/f000000/p+00_y090_depth.png","sha256":"3dfa6feaf34b8572aefe3d4b86e3d20d9e68d44b830375b0fc5a7ddf8fce5c56"}{"path":"female/body/clip000-bind/f000000/p+00_y090_normal.png","sha256":"96691b5434102e5f233d628d6fe144acdd889fe80ef3065199e184adfc918993"}{"path":"female/body/clip000-bind/f000000/p+00_y090_specular.png","sha256":"c5a1a711bd93b544371a2e565a74666d9be53e8be289ffcf574d2a99b3c8581c"}{"path":"female/body/clip000-bind/f000000/p+00_y120_diffuse.png","sha256":"f0386a31d2e6685474643d83d74b89538f777801cd7ab6d4c36455181f9959f2"}{"path":"female/body/clip000-bind/f000000/p+00_y120_depth.png","sha256":"b5824f4462903401040cc0108319f566437dd3ccd2a8ba8940914b85c3b17911"}{"path":"female/body/clip000-bind/f000000/p+00_y120_normal.png","sha256":"87f0d296a1c2d8daadc039118a4b6a279f8803175de54e4a3a664d3afe177924"}{"path":"female/body/clip000-bind/f000000/p+00_y120_specular.png","sha256":"dfd71b73f05c8f731d4e6de3ec7fab55a5b7b1589e8d73dee8f809764b040c94"}{"path":"female/body/clip000-bind/f000000/p+00_y150_diffuse.png","sha256":"4b52655644f6a8f457b6aff09b4c21d60d1ca277518b82f28266afc46f6c1425"}{"path":"female/body/clip000-bind/f000000/p+00_y150_depth.png","sha256":"50cfa38a47da56a7a938fafd768bd1750fb5d076c6318281218bed6b0b567276"}{"path":"female/body/clip000-bind/f000000/p+00_y150_normal.png","sha256":"d25647157dca638ee01073c347a49a807e494850cba78550d8345bda7e616d21"}{"path":"female/body/clip000-bind/f000000/p+00_y150_specular.png","sha256":"d37be2ca979f881709a368d9920925f000a68dbc040d4c8aa5c65ea576a27d87"}{"path":"female/body/clip000-bind/f000000/p+00_y180_diffuse.png","sha256":"184a6a613c3247a405b541d92ac0d574c4a644d730147b83f3cdffe8222dffd8"}{"path":"female/body/clip000-bind/f000000/p+00_y180_depth.png","sha256":"30f22bf4e9fe6de168fb57f82d798066c0f08e07c40c65c402c8391beb100409"}{"path":"female/body/clip000-bind/f000000/p+00_y180_normal.png","sha256":"e94459bf831426f6a7f18e25a851736eebacb11a9b9ad055843a74f9c20ef1ff"}{"path":"female/body/clip000-bind/f000000/p+00_y180_specular.png","sha256":"603a9ef8a14a1707bb6c44356a08e766839b4331ba569acb238240ec09c83008"}{"path":"female/body/clip000-bind/f000000/p+00_y210_diffuse.png","sha256":"581f562b9bc3ccd8c7bf1b382f15d24dd1ea69c81f9560b3fe88b4fd549f8e29"}{"path":"female/body/clip000-bind/f000000/p+00_y210_depth.png","sha256":"c3697cf0d66e87746c96066c8bc791ddaf54f42c11810e995904479d3ef0ef33"}{"path":"female/body/clip000-bind/f000000/p+00_y210_normal.png","sha256":"e47a96f0f5f997b88e2a142ad6a3c2f49e7cc73d9e3232d3e9ff262c102b87dd"}{"path":"female/body/clip000-bind/f000000/p+00_y210_specular.png","sha256":"0cc9f5fd8947655582f32f24b046f0abea2d210ffaa3a8e00d7f7ce4bdbe4f4f"}{"path":"female/body/clip000-bind/f000000/p+00_y240_diffuse.png","sha256":"aa25de6f43af59e971480e7ffd8459ab6137be1e6f887d2e33e9c4a1a950674a"}{"path":"female/body/clip000-bind/f000000/p+00_y240_depth.png","sha256":"1295345bbc5bf9b812a14c8eb9ba5ecfb6f134870b6985ce8369b4b5cdf3cef5"}{"path":"female/body/clip000-bind/f000000/p+00_y240_normal.png","sha256":"f0edb4d440b1b69fc0c4e5fccc9fc7d24d0675e64fd9b30bac551afdc3d914a2"}{"path":"female/body/clip000-bind/f000000/p+00_y240_specular.png","sha256":"12bb9c834900d1c65355faa90ccb097406cf85f483ebc56ae098dd69af5574fd"}{"path":"female/body/clip000-bind/f000000/p+00_y270_diffuse.png","sha256":"154f90eea8dd86c25c4355f6830903cb81c6070dac4d3ecab71340e9679efe10"}{"path":"female/body/clip000-bind/f000000/p+00_y270_depth.png","sha256":"fae867f2adbfecf82325bc9d05bc2f52fa63c21411b1b80959eac1a12f95f0ba"}{"path":"female/body/clip000-bind/f000000/p+00_y270_normal.png","sha256":"8cfaa080dcb42073ced360ff76cd7af9f874fa732b0185439f68d2cad967496a"}{"path":"female/body/clip000-bind/f000000/p+00_y270_specular.png","sha256":"ef516345cf4877b36f920d3f08831d861488eef83052cfb93377d4d2b3e5eb14"}{"path":"female/body/clip000-bind/f000000/p+00_y300_diffuse.png","sha256":"aa25de6f43af59e971480e7ffd8459ab6137be1e6f887d2e33e9c4a1a950674a"}{"path":"female/body/clip000-bind/f000000/p+00_y300_depth.png","sha256":"4e92778592ce85cec82be2ec3b53b2efb92e7aa70809276d304869c0b2312627"}{"path":"female/body/clip000-bind/f000000/p+00_y300_normal.png","sha256":"dd88fffa00f736bf2e7870416b540593ee1157cc9ed5c1b3494e7612a0c540b9"}{"path":"female/body/clip000-bind/f000000/p+00_y300_specular.png","sha256":"12bb9c834900d1c65355faa90ccb097406cf85f483ebc56ae098dd69af5574fd"}{"path":"female/body/clip000-bind/f000000/p+00_y330_diffuse.png","sha256":"581f562b9bc3ccd8c7bf1b382f15d24dd1ea69c81f9560b3fe88b4fd549f8e29"}{"path":"female/body/clip000-bind/f000000/p+00_y330_depth.png","sha256":"267600816e03db623c8a92de901ff07293361379c1682f8cc8ef01620f075cf5"}{"path":"female/body/clip000-bind/f000000/p+00_y330_normal.png","sha256":"4bf732e4001dae0ad732adab6e86b23e1d4c644e27a79f6b457c4be9ac259481"}{"path":"female/body/clip000-bind/f000000/p+00_y330_specular.png","sha256":"0cc9f5fd8947655582f32f24b046f0abea2d210ffaa3a8e00d7f7ce4bdbe4f4f"}{"path":"female/body/clip000-bind/f000000/p+30_y000_diffuse.png","sha256":"2e9170fccaaa40954adb6af75e7292eeb611147ca109f7bb97b6408c614d5a04"}{"path":"female/body/clip000-bind/f000000/p+30_y000_depth.png","sha256":"3c0c691168b29a0212aa4255c313b7ec682a1b9d8cc75b35df0297da8b3e1c4b"}{"path":"female/body/clip000-bind/f000000/p+30_y000_normal.png","sha256":"1a6b934da173d455cfc588bb6f1859ddb41604803080243a421d9874d15a0523"}{"path":"female/body/clip000-bind/f000000/p+30_y000_specular.png","sha256":"9673f9dafa397e95702509fa38fe971d8e54b8c3e87797777ef6464eccaccf2e"}{"path":"female/body/clip000-bind/f000000/p+30_y030_diffuse.png","sha256":"0da0f035d2909ca467d6e30f3dba974d541b3e02aef9739754797d682b4aa6da"}{"path":"female/body/clip000-bind/f000000/p+30_y030_depth.png","sha256":"30a7f984329341872c5135bf3ad96f8718ed243b8f3274b0c81c9ba8b0c3a406"}{"path":"female/body/clip000-bind/f000000/p+30_y030_normal.png","sha256":"7ff4fe359807f82327d4c3eb2e2241e4e620e2ede2faf8b9428403c12eb8f365"}{"path":"female/body/clip000-bind/f000000/p+30_y030_specular.png","sha256":"4c5f8058f46af71285dc19d21cb85d338264d5c2adc3f6bd3737d5965d5e1a0c"}{"path":"female/body/clip000-bind/f000000/p+30_y060_diffuse.png","sha256":"c93bdfa3278b53c45e6cc95f6838f4597b27d9b671a8dce7abb433457f60c794"}{"path":"female/body/clip000-bind/f000000/p+30_y060_depth.png","sha256":"d2f88e89ab01fc6fceb0c6cc6c01e0e5f1c8a906c66be68cd6095ecaae6cfc8c"}{"path":"female/body/clip000-bind/f000000/p+30_y060_normal.png","sha256":"214f56be7469723537b5872886704b6f8a8fed2e2b6a668f7423ac79ceca5d78"}{"path":"female/body/clip000-bind/f000000/p+30_y060_specular.png","sha256":"bab1a3a87ddd015e649d9393ff99d6b22ca831176454802a4dd58eb463ea5e68"}{"path":"female/body/clip000-bind/f000000/p+30_y090_diffuse.png","sha256":"dba4e63c3fc0c975d2f5e7222128958da53486b11863756415a96c3e92a4dd90"}{"path":"female/body/clip000-bind/f000000/p+30_y090_depth.png","sha256":"5f9237c8f2f1dd9503cfc1e7f8bb447558586ee68c922e9a4aafed6776b5a300"}{"path":"female/body/clip000-bind/f000000/p+30_y090_normal.png","sha256":"4d56a04634fe65711e232cd9d859271b64165a4de0ada606719fbccc63bc75f8"}{"path":"female/body/clip000-bind/f000000/p+30_y090_specular.png","sha256":"0d16fe69d09c07c334d6799a3609d3ca2288c08adedcc6f79cf94162d1592c34"}{"path":"female/body/clip000-bind/f000000/p+30_y120_diffuse.png","sha256":"cbb340fa858052050b3e8bfc187b60a705b0a31026bfbd8fe89d09de660f18f5"}{"path":"female/body/clip000-bind/f000000/p+30_y120_depth.png","sha256":"ac94a5701cc7ad8220da59d5abe35ade2f88056645be844a1b0b52d08ff59f29"}{"path":"female/body/clip000-bind/f000000/p+30_y120_normal.png","sha256":"fb64938dee7c981cc5388a01f3c213a2d2d4ca163ee3d37b36a6b8119ee3e929"}{"path":"female/body/clip000-bind/f000000/p+30_y120_specular.png","sha256":"8fa92ad0ff49c33004d182e1282f98c646304753014a39c4c23b45223b45b8a8"}{"path":"female/body/clip000-bind/f000000/p+30_y150_diffuse.png","sha256":"4083a7ba2c16fa591fa6a0e4b6dc8f668566d80d92faae0cc171d92026526e0f"}{"path":"female/body/clip000-bind/f000000/p+30_y150_depth.png","sha256":"03d728d83872cb7deb55acb34d537472e7ae1df83eabc07e133329fda3f72be9"}{"path":"female/body/clip000-bind/f000000/p+30_y150_normal.png","sha256":"8f82a49318d222a618ca545443eb82b6ad4a03d8ddfd7dfc935caf5927329cc5"}{"path":"female/body/clip000-bind/f000000/p+30_y150_specular.png","sha256":"2d377867995fde1f7952587fe0b519c4bd4af7f23e42dbe2f59ff64c190622ed"}{"path":"female/body/clip000-bind/f000000/p+30_y180_diffuse.png","sha256":"8fcfd1a3782ff50663f299a6a6d75b15ee08d012c34bedda5dce1fb9f313eb70"}{"path":"female/body/clip000-bind/f000000/p+30_y180_depth.png","sha256":"45716a8497503471feaf250da2fe8c3c9fcdc65f7a53ce837f1c017c43d3c897"}{"path":"female/body/clip000-bind/f000000/p+30_y180_normal.png","sha256":"8848f8c566f60109e1e82ccb8e3d2ff224706e275afa9cc0fa9732f185fdfce7"}{"path":"female/body/clip000-bind/f000000/p+30_y180_specular.png","sha256":"324cc04a566333ed8c55d4ae258570cf146656158532b0335051af71458d640f"}{"path":"female/body/clip000-bind/f000000/p+30_y210_diffuse.png","sha256":"5fb54b2d8ee8bdd5a30ebcf91b76c7c3ad48592531083f4a799f173817fed87b"}{"path":"female/body/clip000-bind/f000000/p+30_y210_depth.png","sha256":"3e8d0e19ccbb57e4ef4a83ab4ffc01d2a8040e70862f5183944c1c831662a27b"}{"path":"female/body/clip000-bind/f000000/p+30_y210_normal.png","sha256":"1cf99f027f4833110ea2c5423a7aa7f06a85fe86e03ee65572329a6fb65c4a21"}{"path":"female/body/clip000-bind/f000000/p+30_y210_specular.png","sha256":"e5557ab6258fff357496721a8dcf64d975bee41c6b58e19004e8d99d7260cb04"}{"path":"female/body/clip000-bind/f000000/p+30_y240_diffuse.png","sha256":"d7f3bd43781f32b0a5f14c350e84150fce1ed485fa5ea0838cab5c01de24319f"}{"path":"female/body/clip000-bind/f000000/p+30_y240_depth.png","sha256":"be9397e6372c2a17fcf94f2dd33eb5d9cccf14d82e8e62d5c97e71e986c780cc"}{"path":"female/body/clip000-bind/f000000/p+30_y240_normal.png","sha256":"a118c91fe423853a59a7f844020c7b5acbabc3a7152071e4ed8c4a19f392ecdb"}{"path":"female/body/clip000-bind/f000000/p+30_y240_specular.png","sha256":"41323efd35b41f3b7ad0def7bacb05dbad522ef9db77f69ff545ad5a41a67ef4"}{"path":"female/body/clip000-bind/f000000/p+30_y270_diffuse.png","sha256":"9adbd706437f0423ee2705ca7fe15a7cc21a1619c11efd9f84cbe3c4e84bc3e8"}{"path":"female/body/clip000-bind/f000000/p+30_y270_depth.png","sha256":"c06f29b55194a89a00ffa5a5a728ef8b2cc5deed08cb19d8d285c810e276368c"}{"path":"female/body/clip000-bind/f000000/p+30_y270_normal.png","sha256":"62198e745c335fd3d351530b6b37148855c78b27295d79433bf60f8703345c6a"}{"path":"female/body/clip000-bind/f000000/p+30_y270_specular.png","sha256":"def640d3fcada94f8d0736aca7c9a5547193691f31fcd14e3199facf49c4c846"}{"path":"female/body/clip000-bind/f000000/p+30_y300_diffuse.png","sha256":"7a22854f038bca1d7eb3f57281f8b5f685aaae77c395aa294775d621d677176d"}{"path":"female/body/clip000-bind/f000000/p+30_y300_depth.png","sha256":"d9691024262f18406f7722c8c0c52c831c807fcf6b5fe5ac5b6c259f3f0dbc63"}{"path":"female/body/clip000-bind/f000000/p+30_y300_normal.png","sha256":"144f29e6c9d7cadd70968e73a693b3aae4a773837b687c5f8f78adac94944c7e"}{"path":"female/body/clip000-bind/f000000/p+30_y300_specular.png","sha256":"2c5c9dfa335e54a37b71dc5dda0f0b3eb6eddeac2e6730f8dd260da3be4394bf"}{"path":"female/body/clip000-bind/f000000/p+30_y330_diffuse.png","sha256":"feadf62fe1283064c6d879a6c25ae645037c16477bbc5599c1113d4be0fd18d3"}{"path":"female/body/clip000-bind/f000000/p+30_y330_depth.png","sha256":"0b9da2cad56e93b0b5997e29aa689b882fc7211bb589e3bb5e364e50c783298c"}{"path":"female/body/clip000-bind/f000000/p+30_y330_normal.png","sha256":"6cec64448cb3129c67c197c47715480c070e1d59d178122d680f64c9fbd3e9dd"}{"path":"female/body/clip000-bind/f000000/p+30_y330_specular.png","sha256":"b4c65be93980e8774687af2f54be50777595dda0c8cc5df88153924164386400"}{"path":"female/body/clip000-bind/f000000/p+60_y000_diffuse.png","sha256":"a60a8f1426697dc86be3e17adef9ed60f0924d6842471729da576d68079297f3"}{"path":"female/body/clip000-bind/f000000/p+60_y000_depth.png","sha256":"c4c96e07593ebf8f43feab481bcbeb1ee0cce39048725bae329db7a0511a6ae7"}{"path":"female/body/clip000-bind/f000000/p+60_y000_normal.png","sha256":"1444c526fd274a68a19203f24578e13f97449a3b0d0169bcdc4b668b38446cae"}{"path":"female/body/clip000-bind/f000000/p+60_y000_specular.png","sha256":"c7fb38fe5d40857cf230fa561343b50bf810cd6dafc58f60e8c33464564529d5"}{"path":"female/body/clip000-bind/f000000/p+60_y030_diffuse.png","sha256":"1eb5cc7fa6d242f61869e5b1524fe2bd33e7018f8bf1d33b934ad61a0353a392"}{"path":"female/body/clip000-bind/f000000/p+60_y030_depth.png","sha256":"0032df464c0c1c2d63cb092d4125bf9bed2213e814ba6d0b3f3b87ef1a586083"}{"path":"female/body/clip000-bind/f000000/p+60_y030_normal.png","sha256":"8c702e8014b0ed0f2e6f14ad988ab314eeff51f6ef61e3a7badef7bddc101555"}{"path":"female/body/clip000-bind/f000000/p+60_y030_specular.png","sha256":"87a5090095182ab1fe8e4913d5900fd4009c8e794eaef38352e835be73deae90"}{"path":"female/body/clip000-bind/f000000/p+60_y060_diffuse.png","sha256":"8f04683547b634b0d81bd0c1123675421259fe5a25701ad4bfc9c468aa099571"}{"path":"female/body/clip000-bind/f000000/p+60_y060_depth.png","sha256":"52e25876e1353eac16008408698289b96a85a87f40899389e9b60fa364050a44"}{"path":"female/body/clip000-bind/f000000/p+60_y060_normal.png","sha256":"9ffb387e01c429bddd7185eb110fa9686a03bd4e068cbf9395b8ea318b116125"}{"path":"female/body/clip000-bind/f000000/p+60_y060_specular.png","sha256":"5bc7f328c93f5cbdc91e278ed9fa29a66bf10b68924368d021f1d71145a00604"}{"path":"female/body/clip000-bind/f000000/p+60_y090_diffuse.png","sha256":"25e6f20f31fbda9e29d7e151c7f1615df294ceb4b83126cc9b93c87437a87945"}{"path":"female/body/clip000-bind/f000000/p+60_y090_depth.png","sha256":"6cb452800635b6033975053b221673d9a2d1256ec9b911a87a3d69b71a9c120f"}{"path":"female/body/clip000-bind/f000000/p+60_y090_normal.png","sha256":"a62f037ce36a3bcd8129c16eb1bdbb84a4965b2d0a67208d92a01b842b685e5b"}{"path":"female/body/clip000-bind/f000000/p+60_y090_specular.png","sha256":"7e5d53242af0feacc023ca241e3dfbce42b76bee82e5d24e018ad2accf4b53ae"}{"path":"female/body/clip000-bind/f000000/p+60_y120_diffuse.png","sha256":"7244b72457fbd3274ceefd26fa854c28a6a2bce93ec21f65d59dffd281980c1a"}{"path":"female/body/clip000-bind/f000000/p+60_y120_depth.png","sha256":"6c2ecf6ba066a53d9618ed7bbcc4ae2efb41101aa7be1307e206976b367436cf"}{"path":"female/body/clip000-bind/f000000/p+60_y120_normal.png","sha256":"5fff4aeed846b05f2f26cd359c4e6e32efc8d8663ba92e4f77aa8f732380db95"}{"path":"female/body/clip000-bind/f000000/p+60_y120_specular.png","sha256":"387edd2bf133ceb8d156544743ce6c1b6b1967fd90c7e0435f9b391ebc5e9a15"}{"path":"female/body/clip000-bind/f000000/p+60_y150_diffuse.png","sha256":"8fcb347b4c153ff185903dfb1b78dd4224bfc8fe60e6adeb729b29ed68563f11"}{"path":"female/body/clip000-bind/f000000/p+60_y150_depth.png","sha256":"f101ed8387e46176dc649b66a099f7cc4228f149259f2ae66a33e3124ccc8b0a"}{"path":"female/body/clip000-bind/f000000/p+60_y150_normal.png","sha256":"b95299d07bfd54aa6c19e0ef1c7863cbfc8d39fbbf645b7766500e9d8478f616"}{"path":"female/body/clip000-bind/f000000/p+60_y150_specular.png","sha256":"fd4f6dd0ec91ea31c00facb88a301d76fe6190ee31f5a9d818a67d81958b7375"}{"path":"female/body/clip000-bind/f000000/p+60_y180_diffuse.png","sha256":"c604188f6297b021730608b973d1711d55cd574ec44c3daf9a29348c5e1171ba"}{"path":"female/body/clip000-bind/f000000/p+60_y180_depth.png","sha256":"3c059792f1255e1ce5b4f7903e3b8299df4294c66729ccedcd336ff5278b426a"}{"path":"female/body/clip000-bind/f000000/p+60_y180_normal.png","sha256":"8156a03fd2b91186351d9c6bedb0636ac3de618c09d79e580deb9e2aadfba4a1"}{"path":"female/body/clip000-bind/f000000/p+60_y180_specular.png","sha256":"fee033e18cb1ba1571049fc88043a99c7edcbbb16d5be73bb0094dcf391f19a3"}{"path":"female/body/clip000-bind/f000000/p+60_y210_diffuse.png","sha256":"80c7f288389df958c64927c8118232567e0b8beff80dd7ac6dd3c532e719d07a"}{"path":"female/body/clip000-bind/f000000/p+60_y210_depth.png","sha256":"a7c9c8fedc0c3a55c298efa6ea1355d0008417735d4d302181c520bc2f9ff5da"}{"path":"female/body/clip000-bind/f000000/p+60_y210_normal.png","sha256":"90b705a2694c817312a8db054825634e08147e0999fc13b8a5ed6a76df0b39cc"}{"path":"female/body/clip000-bind/f000000/p+60_y210_specular.png","sha256":"31c34d2e368393bcbed604c6da0e5e0cfa17197ceef59ea6d60c64b482952a98"}{"path":"female/body/clip000-bind/f000000/p+60_y240_diffuse.png","sha256":"dcfe620b4224b4bfb45d7c577fcc1811ffd27b57faec8606198c37dae771960e"}{"path":"female/body/clip000-bind/f000000/p+60_y240_depth.png","sha256":"9203bcf418109c75a637917a6ca6529aea2a7811d74b1b02f7eda0f45f2f72c2"}{"path":"female/body/clip000-bind/f000000/p+60_y240_normal.png","sha256":"44578198dea17749bac6d87c1e879420f5ae1010bb3241b405fa649d0b7e33f4"}{"path":"female/body/clip000-bind/f000000/p+60_y240_specular.png","sha256":"537b832ffc6aa1bbe21faa6670cc1caad41aab283eefcbc03debc7d47961a90b"}{"path":"female/body/clip000-bind/f000000/p+60_y270_diffuse.png","sha256":"e2bd86e6868f617ab56d177de2efa0fd27ec65a426a0762a9a6ae84a6aa5235f"}{"path":"female/body/clip000-bind/f000000/p+60_y270_depth.png","sha256":"3d35a269cb64b579eb2620c54f407d439ab7c2a0bf71518c08514084c5b3178c"}{"path":"female/body/clip000-bind/f000000/p+60_y270_normal.png","sha256":"dc160871e4940cb0667fe28a68b5160b1b4ce2087e1757887568e81e45ebd45c"}{"path":"female/body/clip000-bind/f000000/p+60_y270_specular.png","sha256":"8d4820d4c508b2d08e16221a01c4a42b057f5eff9bbc8bf889d860f6bf3566b3"}{"path":"female/body/clip000-bind/f000000/p+60_y300_diffuse.png","sha256":"7ce2da9968de12780bc23a22887883da7847e20310a3e42e8b2bc4b8771087b5"}{"path":"female/body/clip000-bind/f000000/p+60_y300_depth.png","sha256":"4c1d660d43f0ea3ad2561517fbc639c69c2001e91ce36ed44089e3bc80884f05"}{"path":"female/body/clip000-bind/f000000/p+60_y300_normal.png","sha256":"a72432ddf15c088e86dde2955b88c24174ea3de43de611e62435d2913a0d34b6"}{"path":"female/body/clip000-bind/f000000/p+60_y300_specular.png","sha256":"f1fcc92887665ef411b19121ad7517f90b8dca5b4cfe8eb0a8979de0d23f3fbe"}{"path":"female/body/clip000-bind/f000000/p+60_y330_diffuse.png","sha256":"5f55cc331092a9cc924ea56619b47ada8d42f7df552fe6c8244945958e468be0"}{"path":"female/body/clip000-bind/f000000/p+60_y330_depth.png","sha256":"b33cb3274b8de53051c028b1c4564628c4a8685c8e4e9c77a2827580459613c2"}{"path":"female/body/clip000-bind/f000000/p+60_y330_normal.png","sha256":"395dae6030daa9e837dbdb9f3f888fb642c9d5fbbbcaf4b45bb961fc9c730923"}{"path":"female/body/clip000-bind/f000000/p+60_y330_specular.png","sha256":"4672e0e1f2c26ac7450dcf2b4a10b00f15c42cbb04775e5d215adc242367ef00"}@@ -0,0 +1,90 @@
{
"alpha": "straight, opaque/cutout, coverage resolve",
"body_model": {
"path": "tests/fixtures/bodies/static/static-body-male.glb",
"sha256": "672e8ec453c674803bf39620e24f8747052045d8aaac7911b7665c1fda7a08d7"
},
"camera_distance": 10.0,
"clips": [
{
"duration": 0.0,
"frames": 1,
"name": "",
"token": "clip000-bind"
}
],
"depth": "16-bit gray+alpha; distance=near+(sample/65535)*(far-near); per-sex fixed range, out-of-range clamped",
"depth_encoding": "linear: distance = depth_near + (sample/65535)*(depth_far-depth_near); 16-bit gray+alpha; clamped to [near,far]",
"depth_far": 11.300000190734863,
"depth_near": 8.699999809265137,
"diffuse": "unlit sRGB albedo × vertex color, linear-light detail resolve",
"equipment_preset": null,
"far": 11.300000190734863,
"format_version": 5,
"fps": 2,
"framing": {
"center_y_milli": 1000,
"height_milli": 2600,
"pivot_y_milli": 1000
},
"highres_scale": 8,
"images": 60,
"near": 8.699999809265137,
"normal_space": "view (+Y up), PNG rows top-down",
"pass_order": [
"highres",
"detail",
"target-res / diffuse",
"depth",
"normal",
"specular"
],
"passes": 360,
"pitches": [
-60,
-30,
0,
30,
60
],
"pivot_source": {
"kind": "fallback",
"reason": "Statisch lichaam zonder skeleton: geen nekbot"
},
"png_files": 240,
"project": {
"id": "ppd-18e5be694a41d971",
"name": "Nieuw project"
},
"sampling": "clip -> frame (t=frame/fps) -> pitch -> yaw -> pass; ceil(duration*fps) snapped within 4*f32_epsilon*max(1,samples) of an integer to omit floating terminal duplicates; root motion retained",
"saved_maps": [
"diffuse",
"depth",
"normal",
"specular"
],
"set": "body",
"sex": "female",
"specular": "linear scalar; body defaults zero",
"status": "incomplete",
"target": [
16,
24
],
"yaw_step": 30,
"yaw_zero": "camera on -Z",
"yaws": [
0,
30,
60,
90,
120,
150,
180,
210,
240,
270,
300,
330
]
}
@@ -0,0 +1,90 @@{ "alpha": "straight, opaque/cutout, coverage resolve", "body_model": { "path": "tests/fixtures/bodies/static/static-body-male.glb", "sha256": "672e8ec453c674803bf39620e24f8747052045d8aaac7911b7665c1fda7a08d7" }, "camera_distance": 10.0, "clips": [ { "duration": 0.0, "frames": 1, "name": "", "token": "clip000-bind" } ], "depth": "16-bit gray+alpha; distance=near+(sample/65535)*(far-near); per-sex fixed range, out-of-range clamped", "depth_encoding": "linear: distance = depth_near + (sample/65535)*(depth_far-depth_near); 16-bit gray+alpha; clamped to [near,far]", "depth_far": 11.300000190734863, "depth_near": 8.699999809265137, "diffuse": "unlit sRGB albedo × vertex color, linear-light detail resolve", "equipment_preset": null, "far": 11.300000190734863, "format_version": 5, "fps": 2, "framing": { "center_y_milli": 1000, "height_milli": 2600, "pivot_y_milli": 1000 }, "highres_scale": 8, "images": 60, "near": 8.699999809265137, "normal_space": "view (+Y up), PNG rows top-down", "pass_order": [ "highres", "detail", "target-res / diffuse", "depth", "normal", "specular" ], "passes": 360, "pitches": [ -60, -30, 0, 30, 60 ], "pivot_source": { "kind": "fallback", "reason": "Statisch lichaam zonder skeleton: geen nekbot" }, "png_files": 240, "project": { "id": "ppd-18e5be694a41d971", "name": "Nieuw project" }, "sampling": "clip -> frame (t=frame/fps) -> pitch -> yaw -> pass; ceil(duration*fps) snapped within 4*f32_epsilon*max(1,samples) of an integer to omit floating terminal duplicates; root motion retained", "saved_maps": [ "diffuse", "depth", "normal", "specular" ], "set": "body", "sex": "female", "specular": "linear scalar; body defaults zero", "status": "incomplete", "target": [ 16, 24 ], "yaw_step": 30, "yaw_zero": "camera on -Z", "yaws": [ 0, 30, 60, 90, 120, 150, 180, 210, 240, 270, 300, 330 ]}@@ -15,7 +15,7 @@ use crate::{
digest::{self, is_sha256_hex, Sha256},
export_set::{self, ExportError, MapImage, MapKind, MAX_PNG_BYTES, MAX_TARGET},
preview::PRODUCTION_PITCHES,
production::{self, Plan, FAR, NEAR},
production::{self, Plan},
project::CameraFraming,
};
use serde::{Deserialize, Serialize};
@@ -28,7 +28,8 @@ use std::{
};
/// `.ppda` schema version written and accepted.
pub const PPDA_FORMAT_VERSION: u32 = 1;
/// 2: top-level depth_near/depth_far/depth_encoding (per-sex narrow range).
pub const PPDA_FORMAT_VERSION: u32 = 2;
/// Largest atlas side in pixels (common GPU texture limit). Larger exports are
/// refused up front with a clear message; atlases are never split.
pub const MAX_ATLAS_DIM: u32 = 16384;
@@ -143,6 +144,10 @@ pub struct Ppda {
/// compatibility without the loose run manifests.
pub identity: PpdaIdentity,
pub fps: u32,
/// Camera distance (m) of 16-bit depth sample 0 / 65535; see depth_encoding.
pub depth_near: f32,
pub depth_far: f32,
pub depth_encoding: String,
pub cell_width: u32,
pub cell_height: u32,
pub pitches: Vec<i32>,
@@ -426,6 +431,7 @@ pub fn build_ppda(
let framing: CameraFraming =
serde_json::from_value(get("/framing")?.clone()).map_err(|e| e.to_string())?;
let fps = get("/fps")?.as_u64().ok_or("fps")? as u32;
let (depth_near, depth_far) = crate::camera::depth_range(framing);
let mut maps = BTreeMap::new();
for kind in ATLAS_MAPS {
maps.insert(
@@ -481,13 +487,16 @@ pub fn build_ppda(
.map(str::to_string),
framing,
pivot_source: text("/pivot_source/kind")?,
near: NEAR,
far: FAR,
camera_distance: 10.,
near: depth_near,
far: depth_far,
camera_distance: crate::camera::CAMERA_DISTANCE,
normal_space: text("/normal_space")?,
depth: text("/depth")?,
},
fps,
depth_near,
depth_far,
depth_encoding: crate::camera::DEPTH_ENCODING.into(),
cell_width: layout.cell_width,
cell_height: layout.cell_height,
pitches: PRODUCTION_PITCHES.to_vec(),
@@ -547,7 +556,7 @@ fn ident(msg: impl Into<String>) -> ExportError {
fn validate_ppda(p: &Ppda, file_name: &str) -> Result<AtlasLayout, ExportError> {
if p.format_version != PPDA_FORMAT_VERSION {
return Err(ident(format!(
".ppda format_version {} wordt niet ondersteund (verwacht {PPDA_FORMAT_VERSION})",
".ppda format_version {} wordt niet ondersteund (verwacht {PPDA_FORMAT_VERSION}; versie 1 = oud globaal dieptebereik)",
p.format_version
)));
}
@@ -585,8 +594,17 @@ fn validate_ppda(p: &Ppda, file_name: &str) -> Result<AtlasLayout, ExportError>
if !["manual", "neck", "fallback"].contains(&id.pivot_source.as_str()) {
return Err(ident(".ppda: onbekende pivot_source"));
}
if id.near != NEAR || id.far != FAR || id.camera_distance != 10. {
return Err(ident(".ppda: camera-contract wijkt af"));
let (near, far) = crate::camera::depth_range(id.framing);
if id.near != near
|| id.far != far
|| p.depth_near != near
|| p.depth_far != far
|| id.camera_distance != crate::camera::CAMERA_DISTANCE
{
return Err(ident(".ppda: camera-/dieptecontract wijkt af"));
}
if p.depth_encoding != crate::camera::DEPTH_ENCODING {
return Err(ident(".ppda: onbekende depth_encoding"));
}
if p.fps == 0 || p.fps > 240 {
return Err(ident(".ppda: ongeldige fps"));
@@ -1014,8 +1032,12 @@ mod tests {
let tmp = fixture();
let set = AtlasSet::open(&tmp.0.join("female-body-atlas.ppda")).unwrap();
let p = &set.ppda;
assert_eq!(p.format_version, 1);
assert_eq!(p.format_version, 2);
assert_eq!((p.sex.as_str(), p.settype.as_str()), ("female", "body"));
let (near, far) = crate::camera::depth_range(p.identity.framing);
assert_eq!((p.depth_near, p.depth_far), (near, far));
assert_eq!((p.identity.near, p.identity.far), (near, far));
assert_eq!(p.depth_encoding, crate::camera::DEPTH_ENCODING);
assert_eq!(p.fps, 4);
assert_eq!((p.cell_width, p.cell_height), (3, 2));
assert_eq!(p.pitches, [-60, -30, 0, 30, 60]);
@@ -1071,7 +1093,19 @@ mod tests {
};
AtlasSet::open(&ppda).unwrap();
rewrite_ppda(&tmp.0, |d| d["format_version"] = 2.into());
rewrite_ppda(&tmp.0, |d| d["format_version"] = 1.into());
assert!(matches!(
AtlasSet::open(&ppda),
Err(ExportError::Identity(_))
));
restore();
rewrite_ppda(&tmp.0, |d| d["depth_far"] = 40.0.into());
assert!(matches!(
AtlasSet::open(&ppda),
Err(ExportError::Identity(_))
));
restore();
rewrite_ppda(&tmp.0, |d| d["format_version"] = 3.into());
assert!(matches!(
AtlasSet::open(&ppda),
Err(ExportError::Identity(_))
@@ -15,7 +15,7 @@ use crate::{ digest::{self, is_sha256_hex, Sha256}, digest::{self, is_sha256_hex, Sha256}, export_set::{self, ExportError, MapImage, MapKind, MAX_PNG_BYTES, MAX_TARGET}, export_set::{self, ExportError, MapImage, MapKind, MAX_PNG_BYTES, MAX_TARGET}, preview::PRODUCTION_PITCHES, preview::PRODUCTION_PITCHES, production::{self, Plan, FAR, NEAR}, production::{self, Plan}, project::CameraFraming, project::CameraFraming,};};use serde::{Deserialize, Serialize};use serde::{Deserialize, Serialize};@@ -28,7 +28,8 @@ use std::{};};/// `.ppda` schema version written and accepted./// `.ppda` schema version written and accepted.pub const PPDA_FORMAT_VERSION: u32 = 1;/// 2: top-level depth_near/depth_far/depth_encoding (per-sex narrow range).pub const PPDA_FORMAT_VERSION: u32 = 2;/// Largest atlas side in pixels (common GPU texture limit). Larger exports are/// Largest atlas side in pixels (common GPU texture limit). Larger exports are/// refused up front with a clear message; atlases are never split./// refused up front with a clear message; atlases are never split.pub const MAX_ATLAS_DIM: u32 = 16384;pub const MAX_ATLAS_DIM: u32 = 16384;@@ -143,6 +144,10 @@ pub struct Ppda { /// compatibility without the loose run manifests. /// compatibility without the loose run manifests. pub identity: PpdaIdentity, pub identity: PpdaIdentity, pub fps: u32, pub fps: u32, /// Camera distance (m) of 16-bit depth sample 0 / 65535; see depth_encoding. pub depth_near: f32, pub depth_far: f32, pub depth_encoding: String, pub cell_width: u32, pub cell_width: u32, pub cell_height: u32, pub cell_height: u32, pub pitches: Vec<i32>, pub pitches: Vec<i32>,@@ -426,6 +431,7 @@ pub fn build_ppda( let framing: CameraFraming = let framing: CameraFraming = serde_json::from_value(get("/framing")?.clone()).map_err(|e| e.to_string())?; serde_json::from_value(get("/framing")?.clone()).map_err(|e| e.to_string())?; let fps = get("/fps")?.as_u64().ok_or("fps")? as u32; let fps = get("/fps")?.as_u64().ok_or("fps")? as u32; let (depth_near, depth_far) = crate::camera::depth_range(framing); let mut maps = BTreeMap::new(); let mut maps = BTreeMap::new(); for kind in ATLAS_MAPS { for kind in ATLAS_MAPS { maps.insert( maps.insert(@@ -481,13 +487,16 @@ pub fn build_ppda( .map(str::to_string), .map(str::to_string), framing, framing, pivot_source: text("/pivot_source/kind")?, pivot_source: text("/pivot_source/kind")?, near: NEAR, near: depth_near, far: FAR, far: depth_far, camera_distance: 10., camera_distance: crate::camera::CAMERA_DISTANCE, normal_space: text("/normal_space")?, normal_space: text("/normal_space")?, depth: text("/depth")?, depth: text("/depth")?, }, }, fps, fps, depth_near, depth_far, depth_encoding: crate::camera::DEPTH_ENCODING.into(), cell_width: layout.cell_width, cell_width: layout.cell_width, cell_height: layout.cell_height, cell_height: layout.cell_height, pitches: PRODUCTION_PITCHES.to_vec(), pitches: PRODUCTION_PITCHES.to_vec(),@@ -547,7 +556,7 @@ fn ident(msg: impl Into<String>) -> ExportError {fn validate_ppda(p: &Ppda, file_name: &str) -> Result<AtlasLayout, ExportError> {fn validate_ppda(p: &Ppda, file_name: &str) -> Result<AtlasLayout, ExportError> { if p.format_version != PPDA_FORMAT_VERSION { if p.format_version != PPDA_FORMAT_VERSION { return Err(ident(format!( return Err(ident(format!( ".ppda format_version {} wordt niet ondersteund (verwacht {PPDA_FORMAT_VERSION})", ".ppda format_version {} wordt niet ondersteund (verwacht {PPDA_FORMAT_VERSION}; versie 1 = oud globaal dieptebereik)", p.format_version p.format_version ))); ))); } }@@ -585,8 +594,17 @@ fn validate_ppda(p: &Ppda, file_name: &str) -> Result<AtlasLayout, ExportError> if !["manual", "neck", "fallback"].contains(&id.pivot_source.as_str()) { if !["manual", "neck", "fallback"].contains(&id.pivot_source.as_str()) { return Err(ident(".ppda: onbekende pivot_source")); return Err(ident(".ppda: onbekende pivot_source")); } } if id.near != NEAR || id.far != FAR || id.camera_distance != 10. { let (near, far) = crate::camera::depth_range(id.framing); return Err(ident(".ppda: camera-contract wijkt af")); if id.near != near || id.far != far || p.depth_near != near || p.depth_far != far || id.camera_distance != crate::camera::CAMERA_DISTANCE { return Err(ident(".ppda: camera-/dieptecontract wijkt af")); } if p.depth_encoding != crate::camera::DEPTH_ENCODING { return Err(ident(".ppda: onbekende depth_encoding")); } } if p.fps == 0 || p.fps > 240 { if p.fps == 0 || p.fps > 240 { return Err(ident(".ppda: ongeldige fps")); return Err(ident(".ppda: ongeldige fps"));@@ -1014,8 +1032,12 @@ mod tests { let tmp = fixture(); let tmp = fixture(); let set = AtlasSet::open(&tmp.0.join("female-body-atlas.ppda")).unwrap(); let set = AtlasSet::open(&tmp.0.join("female-body-atlas.ppda")).unwrap(); let p = &set.ppda; let p = &set.ppda; assert_eq!(p.format_version, 1); assert_eq!(p.format_version, 2); assert_eq!((p.sex.as_str(), p.settype.as_str()), ("female", "body")); assert_eq!((p.sex.as_str(), p.settype.as_str()), ("female", "body")); let (near, far) = crate::camera::depth_range(p.identity.framing); assert_eq!((p.depth_near, p.depth_far), (near, far)); assert_eq!((p.identity.near, p.identity.far), (near, far)); assert_eq!(p.depth_encoding, crate::camera::DEPTH_ENCODING); assert_eq!(p.fps, 4); assert_eq!(p.fps, 4); assert_eq!((p.cell_width, p.cell_height), (3, 2)); assert_eq!((p.cell_width, p.cell_height), (3, 2)); assert_eq!(p.pitches, [-60, -30, 0, 30, 60]); assert_eq!(p.pitches, [-60, -30, 0, 30, 60]);@@ -1071,7 +1093,19 @@ mod tests { }; }; AtlasSet::open(&ppda).unwrap(); AtlasSet::open(&ppda).unwrap(); rewrite_ppda(&tmp.0, |d| d["format_version"] = 2.into()); rewrite_ppda(&tmp.0, |d| d["format_version"] = 1.into()); assert!(matches!( AtlasSet::open(&ppda), Err(ExportError::Identity(_)) )); restore(); rewrite_ppda(&tmp.0, |d| d["depth_far"] = 40.0.into()); assert!(matches!( AtlasSet::open(&ppda), Err(ExportError::Identity(_)) )); restore(); rewrite_ppda(&tmp.0, |d| d["format_version"] = 3.into()); assert!(matches!( assert!(matches!( AtlasSet::open(&ppda), AtlasSet::open(&ppda), Err(ExportError::Identity(_)) Err(ExportError::Identity(_))@@ -129,20 +129,37 @@ pub fn resolve(body: &PreviewCharacter, mut framing: CameraFraming) -> Resolved
/// Translation around the neck is separate from the image's vertical framing.
/// Keeping the orthographic offset constant makes the orbit pivot pixel stable
/// for every yaw/pitch without cropping the feet merely by raising the pivot.
/// Orthographic camera distance from the orbit pivot (metres).
pub const CAMERA_DISTANCE: f32 = 10.;
/// Minimum half-depth of the per-sex depth interval (metres).
pub const MIN_DEPTH_HALF: f32 = 0.5;
/// How 16-bit depth samples map back to camera distance (t963u/t964u).
pub const DEPTH_ENCODING: &str = "linear: distance = depth_near + (sample/65535)*(depth_far-depth_near); 16-bit gray+alpha; clamped to [near,far]";
/// Fixed, narrow depth interval around the orbit pivot derived only from the
/// per-sex framing: `CAMERA_DISTANCE ∓ R`, R = max(height × 0.5 + |pivot −
/// center|, 0.5 m) — the radius around the pivot that reaches the frame's
/// farthest edge, so geometry inside the pitch-0 frame stays in range at
/// pitch ±60 too. Shared by every clip, frame, view and equipment of that sex.
pub fn depth_range(framing: CameraFraming) -> (f32, f32) {
let pivot = framing.pivot_y_milli.unwrap_or(framing.center_y_milli);
let offset = (i64::from(pivot) - i64::from(framing.center_y_milli)).unsigned_abs();
let r = ((u64::from(framing.height_milli) / 2 + offset) as f32 / 1000.).max(MIN_DEPTH_HALF);
(CAMERA_DISTANCE - r, CAMERA_DISTANCE + r)
}
pub fn matrices(framing: CameraFraming, yaw: f32, pitch: f32, aspect: f32) -> (Mat4, Mat4) {
let pivot = framing.pivot_y_milli.unwrap_or(framing.center_y_milli) as f32 / 1000.;
let center = framing.center_y_milli as f32 / 1000.;
let target = [0., pivot, 0.];
let d = preview::eye_offset(yaw, pitch, 10.);
let d = preview::eye_offset(yaw, pitch, CAMERA_DISTANCE);
let (near, far) = depth_range(framing);
let eye = [d[0], pivot + d[1], d[2]];
let half = framing.height_milli as f32 / 2000.;
let mut p = preview::identity();
p[0] = 1. / (half * aspect);
p[5] = 1. / half;
p[13] = (pivot - center) / half;
p[10] = -2. / (crate::production::FAR - crate::production::NEAR);
p[14] = -(crate::production::FAR + crate::production::NEAR)
/ (crate::production::FAR - crate::production::NEAR);
p[10] = -2. / (far - near);
p[14] = -(far + near) / (far - near);
(preview::view_matrix(eye, target), p)
}
@@ -203,6 +220,38 @@ mod tests {
]
}
#[test]
fn depth_range_is_narrow_fixed_and_maps_pivot_to_middle() {
let f = CameraFraming::default();
let (near, far) = depth_range(f);
assert!((near - 8.7).abs() < 1e-5 && (far - 11.3).abs() < 1e-5);
let small = CameraFraming {
height_milli: 400,
..f
};
assert_eq!(depth_range(small), (9.5, 10.5));
let offset = CameraFraming {
pivot_y_milli: Some(1460),
..f
};
let (near, far) = depth_range(offset);
assert!((near - 8.24).abs() < 1e-5 && (far - 11.76).abs() < 1e-5);
// Pivot projects to NDC z = 0 (gray 32768) for every view.
let f = CameraFraming {
pivot_y_milli: Some(1460),
..f
};
for (yaw, pitch) in [(0., 0.), (90., 30.), (210., -60.), (330., 60.)] {
let (view, projection) = matrices(f, yaw, pitch, 1.);
let p = project(view, projection, [0., 1.46, 0.]);
assert!(p[2].abs() < 1e-4, "{p:?}");
// 0.5 m in front of the pivot uses a large part of the range.
let d = preview::eye_offset(yaw, pitch, 0.5);
let q = project(view, projection, [d[0], 1.46 + d[1], d[2]]);
assert!((q[2] + 0.5 / 1.76).abs() < 1e-3, "{q:?}");
}
}
#[test]
fn neck_name_variants_and_missing_ambiguous() {
let cases = [
@@ -129,20 +129,37 @@ pub fn resolve(body: &PreviewCharacter, mut framing: CameraFraming) -> Resolved/// Translation around the neck is separate from the image's vertical framing./// Translation around the neck is separate from the image's vertical framing./// Keeping the orthographic offset constant makes the orbit pivot pixel stable/// Keeping the orthographic offset constant makes the orbit pivot pixel stable/// for every yaw/pitch without cropping the feet merely by raising the pivot./// for every yaw/pitch without cropping the feet merely by raising the pivot./// Orthographic camera distance from the orbit pivot (metres).pub const CAMERA_DISTANCE: f32 = 10.;/// Minimum half-depth of the per-sex depth interval (metres).pub const MIN_DEPTH_HALF: f32 = 0.5;/// How 16-bit depth samples map back to camera distance (t963u/t964u).pub const DEPTH_ENCODING: &str = "linear: distance = depth_near + (sample/65535)*(depth_far-depth_near); 16-bit gray+alpha; clamped to [near,far]";/// Fixed, narrow depth interval around the orbit pivot derived only from the/// per-sex framing: `CAMERA_DISTANCE ∓ R`, R = max(height × 0.5 + |pivot −/// center|, 0.5 m) — the radius around the pivot that reaches the frame's/// farthest edge, so geometry inside the pitch-0 frame stays in range at/// pitch ±60 too. Shared by every clip, frame, view and equipment of that sex.pub fn depth_range(framing: CameraFraming) -> (f32, f32) { let pivot = framing.pivot_y_milli.unwrap_or(framing.center_y_milli); let offset = (i64::from(pivot) - i64::from(framing.center_y_milli)).unsigned_abs(); let r = ((u64::from(framing.height_milli) / 2 + offset) as f32 / 1000.).max(MIN_DEPTH_HALF); (CAMERA_DISTANCE - r, CAMERA_DISTANCE + r)}pub fn matrices(framing: CameraFraming, yaw: f32, pitch: f32, aspect: f32) -> (Mat4, Mat4) {pub fn matrices(framing: CameraFraming, yaw: f32, pitch: f32, aspect: f32) -> (Mat4, Mat4) { let pivot = framing.pivot_y_milli.unwrap_or(framing.center_y_milli) as f32 / 1000.; let pivot = framing.pivot_y_milli.unwrap_or(framing.center_y_milli) as f32 / 1000.; let center = framing.center_y_milli as f32 / 1000.; let center = framing.center_y_milli as f32 / 1000.; let target = [0., pivot, 0.]; let target = [0., pivot, 0.]; let d = preview::eye_offset(yaw, pitch, 10.); let d = preview::eye_offset(yaw, pitch, CAMERA_DISTANCE); let (near, far) = depth_range(framing); let eye = [d[0], pivot + d[1], d[2]]; let eye = [d[0], pivot + d[1], d[2]]; let half = framing.height_milli as f32 / 2000.; let half = framing.height_milli as f32 / 2000.; let mut p = preview::identity(); let mut p = preview::identity(); p[0] = 1. / (half * aspect); p[0] = 1. / (half * aspect); p[5] = 1. / half; p[5] = 1. / half; p[13] = (pivot - center) / half; p[13] = (pivot - center) / half; p[10] = -2. / (crate::production::FAR - crate::production::NEAR); p[10] = -2. / (far - near); p[14] = -(crate::production::FAR + crate::production::NEAR) p[14] = -(far + near) / (far - near); / (crate::production::FAR - crate::production::NEAR); (preview::view_matrix(eye, target), p) (preview::view_matrix(eye, target), p)}}@@ -203,6 +220,38 @@ mod tests { ] ] } } #[test] fn depth_range_is_narrow_fixed_and_maps_pivot_to_middle() { let f = CameraFraming::default(); let (near, far) = depth_range(f); assert!((near - 8.7).abs() < 1e-5 && (far - 11.3).abs() < 1e-5); let small = CameraFraming { height_milli: 400, ..f }; assert_eq!(depth_range(small), (9.5, 10.5)); let offset = CameraFraming { pivot_y_milli: Some(1460), ..f }; let (near, far) = depth_range(offset); assert!((near - 8.24).abs() < 1e-5 && (far - 11.76).abs() < 1e-5); // Pivot projects to NDC z = 0 (gray 32768) for every view. let f = CameraFraming { pivot_y_milli: Some(1460), ..f }; for (yaw, pitch) in [(0., 0.), (90., 30.), (210., -60.), (330., 60.)] { let (view, projection) = matrices(f, yaw, pitch, 1.); let p = project(view, projection, [0., 1.46, 0.]); assert!(p[2].abs() < 1e-4, "{p:?}"); // 0.5 m in front of the pivot uses a large part of the range. let d = preview::eye_offset(yaw, pitch, 0.5); let q = project(view, projection, [d[0], 1.46 + d[1], d[2]]); assert!((q[2] + 0.5 / 1.76).abs() < 1e-3, "{q:?}"); } } #[test] #[test] fn neck_name_variants_and_missing_ambiguous() { fn neck_name_variants_and_missing_ambiguous() { let cases = [ let cases = [@@ -1665,18 +1665,22 @@ impl EditorApp {
});
ui.separator();
ui.add_enabled_ui(self.preview2d.view_mode.uses_light(), |ui| {
let held_ctx = ui.ctx().clone();
let held = |r: &egui::Response| {
held_ctx.input(|i| crate::preview2d::raw_pointer_hold(r.rect, i))
};
ui.label("Licht (vasthouden; °/s — alleen Resultaat)");
ui.horizontal(|ui| {
let west = ui.button("Azimut −");
let east = ui.button("Azimut +");
if self.preview2d.view_mode.uses_light() {
if west.is_pointer_button_down_on() {
if held(&west) {
hold_az = Some(HoldSign::Negative);
} else if east.is_pointer_button_down_on() {
} else if held(&east) {
hold_az = Some(HoldSign::Positive);
} else if self.preview2d.hold_azimuth.is_some()
&& !west.is_pointer_button_down_on()
&& !east.is_pointer_button_down_on()
&& !held(&west)
&& !held(&east)
{
release_az = true;
}
@@ -1687,13 +1691,13 @@ impl EditorApp {
let down = ui.button("Elevatie −");
let up = ui.button("Elevatie +");
if self.preview2d.view_mode.uses_light() {
if down.is_pointer_button_down_on() {
if held(&down) {
hold_el = Some(HoldSign::Negative);
} else if up.is_pointer_button_down_on() {
} else if held(&up) {
hold_el = Some(HoldSign::Positive);
} else if self.preview2d.hold_elevation.is_some()
&& !down.is_pointer_button_down_on()
&& !up.is_pointer_button_down_on()
&& !held(&down)
&& !held(&up)
{
release_el = true;
}
@@ -1665,18 +1665,22 @@ impl EditorApp { }); }); ui.separator(); ui.separator(); ui.add_enabled_ui(self.preview2d.view_mode.uses_light(), |ui| { ui.add_enabled_ui(self.preview2d.view_mode.uses_light(), |ui| { let held_ctx = ui.ctx().clone(); let held = |r: &egui::Response| { held_ctx.input(|i| crate::preview2d::raw_pointer_hold(r.rect, i)) }; ui.label("Licht (vasthouden; °/s — alleen Resultaat)"); ui.label("Licht (vasthouden; °/s — alleen Resultaat)"); ui.horizontal(|ui| { ui.horizontal(|ui| { let west = ui.button("Azimut −"); let west = ui.button("Azimut −"); let east = ui.button("Azimut +"); let east = ui.button("Azimut +"); if self.preview2d.view_mode.uses_light() { if self.preview2d.view_mode.uses_light() { if west.is_pointer_button_down_on() { if held(&west) { hold_az = Some(HoldSign::Negative); hold_az = Some(HoldSign::Negative); } else if east.is_pointer_button_down_on() { } else if held(&east) { hold_az = Some(HoldSign::Positive); hold_az = Some(HoldSign::Positive); } else if self.preview2d.hold_azimuth.is_some() } else if self.preview2d.hold_azimuth.is_some() && !west.is_pointer_button_down_on() && !held(&west) && !east.is_pointer_button_down_on() && !held(&east) { { release_az = true; release_az = true; } }@@ -1687,13 +1691,13 @@ impl EditorApp { let down = ui.button("Elevatie −"); let down = ui.button("Elevatie −"); let up = ui.button("Elevatie +"); let up = ui.button("Elevatie +"); if self.preview2d.view_mode.uses_light() { if self.preview2d.view_mode.uses_light() { if down.is_pointer_button_down_on() { if held(&down) { hold_el = Some(HoldSign::Negative); hold_el = Some(HoldSign::Negative); } else if up.is_pointer_button_down_on() { } else if held(&up) { hold_el = Some(HoldSign::Positive); hold_el = Some(HoldSign::Positive); } else if self.preview2d.hold_elevation.is_some() } else if self.preview2d.hold_elevation.is_some() && !down.is_pointer_button_down_on() && !held(&down) && !up.is_pointer_button_down_on() && !held(&up) { { release_el = true; release_el = true; } }@@ -8,7 +8,7 @@ use crate::{
atlas, digest,
export_set::{complete_identity_json, OUTPUT_META_VERSION},
preview::PRODUCTION_PITCHES,
production::{self, ClipPlan, Plan, FAR, NEAR, PASSES},
production::{self, ClipPlan, Plan, PASSES},
project::CameraFraming,
render_job::ImageBuf,
};
@@ -110,8 +110,11 @@ impl SyntheticRun {
"highres_scale": production::SCALE,
"framing": self.framing,
"pivot_source": {"kind": "manual"},
"near": NEAR,
"far": FAR,
"near": crate::camera::depth_range(self.framing).0,
"far": crate::camera::depth_range(self.framing).1,
"depth_near": crate::camera::depth_range(self.framing).0,
"depth_far": crate::camera::depth_range(self.framing).1,
"depth_encoding": crate::camera::DEPTH_ENCODING,
"normal_space": "view (+Y up), PNG rows top-down",
"camera_distance": 10,
"yaw_zero": "camera on -Z",
@@ -8,7 +8,7 @@ use crate::{ atlas, digest, atlas, digest, export_set::{complete_identity_json, OUTPUT_META_VERSION}, export_set::{complete_identity_json, OUTPUT_META_VERSION}, preview::PRODUCTION_PITCHES, preview::PRODUCTION_PITCHES, production::{self, ClipPlan, Plan, FAR, NEAR, PASSES}, production::{self, ClipPlan, Plan, PASSES}, project::CameraFraming, project::CameraFraming, render_job::ImageBuf, render_job::ImageBuf,};};@@ -110,8 +110,11 @@ impl SyntheticRun { "highres_scale": production::SCALE, "highres_scale": production::SCALE, "framing": self.framing, "framing": self.framing, "pivot_source": {"kind": "manual"}, "pivot_source": {"kind": "manual"}, "near": NEAR, "near": crate::camera::depth_range(self.framing).0, "far": FAR, "far": crate::camera::depth_range(self.framing).1, "depth_near": crate::camera::depth_range(self.framing).0, "depth_far": crate::camera::depth_range(self.framing).1, "depth_encoding": crate::camera::DEPTH_ENCODING, "normal_space": "view (+Y up), PNG rows top-down", "normal_space": "view (+Y up), PNG rows top-down", "camera_distance": 10, "camera_distance": 10, "yaw_zero": "camera on -Z", "yaw_zero": "camera on -Z",@@ -6,7 +6,7 @@
//! contract. Filenames alone never prove compatibility.
use crate::{
digest::{self, is_sha256_hex},
production::{FAR, MAX_HIGHRES, NEAR, PASSES, SCALE},
production::{MAX_HIGHRES, PASSES, SCALE},
project::{self, CameraFraming},
};
use serde::Deserialize;
@@ -18,7 +18,9 @@ use std::{
};
/// Output metadata schema written by production and required by this reader.
pub const OUTPUT_META_VERSION: u32 = 4;
/// 5: per-sex narrow depth range (depth_near/depth_far/depth_encoding, t964u);
/// schema-4 runs used the global 0.05–40 m range and are not mixed in.
pub const OUTPUT_META_VERSION: u32 = 5;
pub const MAX_TARGET: u32 = MAX_HIGHRES / SCALE;
/// Hard ceiling for a single published PNG on disk (encoded).
pub const MAX_PNG_BYTES: u64 = 8 * 1024 * 1024;
@@ -158,6 +160,9 @@ pub struct RenderManifest {
pub pivot_source: PivotSourceJson,
pub near: f32,
pub far: f32,
pub depth_near: f32,
pub depth_far: f32,
pub depth_encoding: String,
pub camera_distance: f32,
pub pitches: Vec<i32>,
pub yaws: Vec<u32>,
@@ -382,10 +387,15 @@ impl ExportRun {
fn validate_render(m: &RenderManifest) -> Result<(), ExportError> {
if m.format_version != OUTPUT_META_VERSION {
return Err(ExportError::Identity(format!(
"render.json format_version {} wordt niet ondersteund (verwacht {OUTPUT_META_VERSION})",
m.format_version
)));
return Err(ExportError::Identity(if m.format_version == 4 {
"render.json schema 4: oude export met globaal dieptebereik 0,05–40 m; opnieuw renderen"
.into()
} else {
format!(
"render.json format_version {} wordt niet ondersteund (verwacht {OUTPUT_META_VERSION})",
m.format_version
)
}));
}
if m.status != "incomplete" && m.status != "complete" {
// production leaves status=incomplete in render.json even after success
@@ -411,12 +421,16 @@ fn validate_render(m: &RenderManifest) -> Result<(), ExportError> {
return Err(ExportError::Identity("highres_scale wijkt af van 8".into()));
}
m.framing.validate().map_err(ExportError::Identity)?;
if (m.near - NEAR).abs() > f32::EPSILON || (m.far - FAR).abs() > f32::EPSILON {
let (near, far) = crate::camera::depth_range(m.framing);
if m.near != near || m.far != far || m.depth_near != near || m.depth_far != far {
return Err(ExportError::Identity(
"near/far wijkt af van contract".into(),
"near/far wijkt af van het vaste dieptebereik van deze framing".into(),
));
}
if (m.camera_distance - 10.).abs() > f32::EPSILON {
if m.depth_encoding != crate::camera::DEPTH_ENCODING {
return Err(ExportError::Identity("depth_encoding onbekend".into()));
}
if m.camera_distance != crate::camera::CAMERA_DISTANCE {
return Err(ExportError::Identity(
"camera_distance wijkt af van contract".into(),
));
@@ -940,8 +954,11 @@ mod tests {
"highres_scale": 8,
"framing": framing(),
"pivot_source": {"kind": "manual"},
"near": NEAR,
"far": FAR,
"near": crate::camera::depth_range(framing()).0,
"far": crate::camera::depth_range(framing()).1,
"depth_near": crate::camera::depth_range(framing()).0,
"depth_far": crate::camera::depth_range(framing()).1,
"depth_encoding": crate::camera::DEPTH_ENCODING,
"camera_distance": 10.0,
"yaw_zero": "camera on -Z",
"normal_space": "view (+Y up), PNG rows top-down",
@@ -1158,6 +1175,29 @@ mod tests {
}
}
#[test]
fn depth_range_contract_and_old_global_range_schema() {
let parse = |v: serde_json::Value| -> RenderManifest { serde_json::from_value(v).unwrap() };
validate_render(&parse(base_render(4))).unwrap();
let mut old = base_render(4);
old["format_version"] = 4.into();
let err = validate_render(&parse(old)).unwrap_err();
assert!(matches!(&err, ExportError::Identity(m) if m.contains("globaal dieptebereik")));
for (key, value) in [
("near", serde_json::json!(0.05)),
("far", serde_json::json!(40.0)),
("depth_far", serde_json::json!(12.0)),
("depth_encoding", serde_json::json!("other")),
] {
let mut doc = base_render(4);
doc[key] = value;
assert!(matches!(
validate_render(&parse(doc)),
Err(ExportError::Identity(_))
));
}
}
#[test]
fn rejects_stale_schema_and_identity_drift() {
let tmp = Temp::new();
@@ -1182,8 +1222,8 @@ mod tests {
"fps": 12,
"framing": framing(),
"pivot_source": {"kind": "manual"},
"near": NEAR,
"far": FAR,
"near": crate::camera::depth_range(framing()).0,
"far": crate::camera::depth_range(framing()).1,
"clips": [{"name":"","token":"clip000-bind","frames":1,"duration":0.0}],
"saved_maps": ["diffuse","depth","normal","specular"]
},
@@ -6,7 +6,7 @@//! contract. Filenames alone never prove compatibility.//! contract. Filenames alone never prove compatibility.use crate::{use crate::{ digest::{self, is_sha256_hex}, digest::{self, is_sha256_hex}, production::{FAR, MAX_HIGHRES, NEAR, PASSES, SCALE}, production::{MAX_HIGHRES, PASSES, SCALE}, project::{self, CameraFraming}, project::{self, CameraFraming},};};use serde::Deserialize;use serde::Deserialize;@@ -18,7 +18,9 @@ use std::{};};/// Output metadata schema written by production and required by this reader./// Output metadata schema written by production and required by this reader.pub const OUTPUT_META_VERSION: u32 = 4;/// 5: per-sex narrow depth range (depth_near/depth_far/depth_encoding, t964u);/// schema-4 runs used the global 0.05–40 m range and are not mixed in.pub const OUTPUT_META_VERSION: u32 = 5;pub const MAX_TARGET: u32 = MAX_HIGHRES / SCALE;pub const MAX_TARGET: u32 = MAX_HIGHRES / SCALE;/// Hard ceiling for a single published PNG on disk (encoded)./// Hard ceiling for a single published PNG on disk (encoded).pub const MAX_PNG_BYTES: u64 = 8 * 1024 * 1024;pub const MAX_PNG_BYTES: u64 = 8 * 1024 * 1024;@@ -158,6 +160,9 @@ pub struct RenderManifest { pub pivot_source: PivotSourceJson, pub pivot_source: PivotSourceJson, pub near: f32, pub near: f32, pub far: f32, pub far: f32, pub depth_near: f32, pub depth_far: f32, pub depth_encoding: String, pub camera_distance: f32, pub camera_distance: f32, pub pitches: Vec<i32>, pub pitches: Vec<i32>, pub yaws: Vec<u32>, pub yaws: Vec<u32>,@@ -382,10 +387,15 @@ impl ExportRun {fn validate_render(m: &RenderManifest) -> Result<(), ExportError> {fn validate_render(m: &RenderManifest) -> Result<(), ExportError> { if m.format_version != OUTPUT_META_VERSION { if m.format_version != OUTPUT_META_VERSION { return Err(ExportError::Identity(format!( return Err(ExportError::Identity(if m.format_version == 4 { "render.json format_version {} wordt niet ondersteund (verwacht {OUTPUT_META_VERSION})", "render.json schema 4: oude export met globaal dieptebereik 0,05–40 m; opnieuw renderen" m.format_version .into() ))); } else { format!( "render.json format_version {} wordt niet ondersteund (verwacht {OUTPUT_META_VERSION})", m.format_version ) })); } } if m.status != "incomplete" && m.status != "complete" { if m.status != "incomplete" && m.status != "complete" { // production leaves status=incomplete in render.json even after success // production leaves status=incomplete in render.json even after success@@ -411,12 +421,16 @@ fn validate_render(m: &RenderManifest) -> Result<(), ExportError> { return Err(ExportError::Identity("highres_scale wijkt af van 8".into())); return Err(ExportError::Identity("highres_scale wijkt af van 8".into())); } } m.framing.validate().map_err(ExportError::Identity)?; m.framing.validate().map_err(ExportError::Identity)?; if (m.near - NEAR).abs() > f32::EPSILON || (m.far - FAR).abs() > f32::EPSILON { let (near, far) = crate::camera::depth_range(m.framing); if m.near != near || m.far != far || m.depth_near != near || m.depth_far != far { return Err(ExportError::Identity( return Err(ExportError::Identity( "near/far wijkt af van contract".into(), "near/far wijkt af van het vaste dieptebereik van deze framing".into(), )); )); } } if (m.camera_distance - 10.).abs() > f32::EPSILON { if m.depth_encoding != crate::camera::DEPTH_ENCODING { return Err(ExportError::Identity("depth_encoding onbekend".into())); } if m.camera_distance != crate::camera::CAMERA_DISTANCE { return Err(ExportError::Identity( return Err(ExportError::Identity( "camera_distance wijkt af van contract".into(), "camera_distance wijkt af van contract".into(), )); ));@@ -940,8 +954,11 @@ mod tests { "highres_scale": 8, "highres_scale": 8, "framing": framing(), "framing": framing(), "pivot_source": {"kind": "manual"}, "pivot_source": {"kind": "manual"}, "near": NEAR, "near": crate::camera::depth_range(framing()).0, "far": FAR, "far": crate::camera::depth_range(framing()).1, "depth_near": crate::camera::depth_range(framing()).0, "depth_far": crate::camera::depth_range(framing()).1, "depth_encoding": crate::camera::DEPTH_ENCODING, "camera_distance": 10.0, "camera_distance": 10.0, "yaw_zero": "camera on -Z", "yaw_zero": "camera on -Z", "normal_space": "view (+Y up), PNG rows top-down", "normal_space": "view (+Y up), PNG rows top-down",@@ -1158,6 +1175,29 @@ mod tests { } } } } #[test] fn depth_range_contract_and_old_global_range_schema() { let parse = |v: serde_json::Value| -> RenderManifest { serde_json::from_value(v).unwrap() }; validate_render(&parse(base_render(4))).unwrap(); let mut old = base_render(4); old["format_version"] = 4.into(); let err = validate_render(&parse(old)).unwrap_err(); assert!(matches!(&err, ExportError::Identity(m) if m.contains("globaal dieptebereik"))); for (key, value) in [ ("near", serde_json::json!(0.05)), ("far", serde_json::json!(40.0)), ("depth_far", serde_json::json!(12.0)), ("depth_encoding", serde_json::json!("other")), ] { let mut doc = base_render(4); doc[key] = value; assert!(matches!( validate_render(&parse(doc)), Err(ExportError::Identity(_)) )); } } #[test] #[test] fn rejects_stale_schema_and_identity_drift() { fn rejects_stale_schema_and_identity_drift() { let tmp = Temp::new(); let tmp = Temp::new();@@ -1182,8 +1222,8 @@ mod tests { "fps": 12, "fps": 12, "framing": framing(), "framing": framing(), "pivot_source": {"kind": "manual"}, "pivot_source": {"kind": "manual"}, "near": NEAR, "near": crate::camera::depth_range(framing()).0, "far": FAR, "far": crate::camera::depth_range(framing()).1, "clips": [{"name":"","token":"clip000-bind","frames":1,"duration":0.0}], "clips": [{"name":"","token":"clip000-bind","frames":1,"duration":0.0}], "saved_maps": ["diffuse","depth","normal","specular"] "saved_maps": ["diffuse","depth","normal","specular"] }, },@@ -403,6 +403,7 @@ impl Preview2dState {
}
/// Advance playback and held light controls by `dt` seconds.
/// (Holds are set each frame from [`raw_pointer_hold`].)
pub fn tick(&mut self, dt: f32) {
let dt = if dt.is_finite() && dt > 0.0 {
dt.min(0.25)
@@ -682,6 +683,18 @@ pub fn sync_state_from_catalog(state: &mut Preview2dState, catalog: &[CatalogEnt
}
}
/// Whether a light hold-button is held, from raw pointer state rather than
/// egui's click sense (which stops reporting `is_pointer_button_down_on` once
/// a press outlasts a click, ~1 s in egui 0.29). Held = primary button down,
/// press started on the button, pointer still over it. Release, pointer gone
/// (left the window) or a press that started elsewhere all yield false.
pub fn raw_pointer_hold(rect: eframe::egui::Rect, input: &eframe::egui::InputState) -> bool {
let p = &input.pointer;
p.primary_down()
&& p.press_origin().is_some_and(|o| rect.contains(o))
&& p.hover_pos().is_some_and(|h| rect.contains(h))
}
#[cfg(test)]
mod tests {
use super::*;
@@ -1200,4 +1213,112 @@ mod tests {
assert_eq!(pitch_row_from_deg(7), ZERO_PITCH_ROW);
assert_eq!(state.fps, 4);
}
/// Regression (t964u): a light button held for several seconds keeps
/// rotating (egui click sense alone stopped after ~1 s).
#[test]
fn light_hold_button_keeps_rotating_for_multi_second_hold() {
use eframe::egui;
let ctx = egui::Context::default();
let rect = std::cell::Cell::new(egui::Rect::NOTHING);
let mut state = Preview2dState::default();
let start_az = state.light_azimuth_deg;
let dt = 1.0 / 60.0;
let frame = |events: Vec<egui::Event>, t: f64, state: &mut Preview2dState| {
let input = egui::RawInput {
screen_rect: Some(egui::Rect::from_min_size(
egui::Pos2::ZERO,
egui::vec2(400., 300.),
)),
time: Some(t),
predicted_dt: dt,
focused: true,
events,
..Default::default()
};
let mut held = false;
let _ = ctx.run(input, |ctx| {
egui::CentralPanel::default().show(ctx, |ui| {
let r = ui.button("Azimut +");
rect.set(r.rect);
held = ui.ctx().input(|i| raw_pointer_hold(r.rect, i));
});
});
if held {
state.hold_light(LightAxis::Azimuth, HoldSign::Positive);
} else {
state.release_light(LightAxis::Azimuth);
}
held
};
// Layout frame to learn the button rect.
assert!(!frame(vec![], 0.0, &mut state));
let at = rect.get().center();
let press = vec![
egui::Event::PointerMoved(at),
egui::Event::PointerButton {
pos: at,
button: egui::PointerButton::Primary,
pressed: true,
modifiers: Default::default(),
},
];
assert!(frame(press, dt as f64, &mut state));
// 3.5 s without any further input events, button still physically down.
let frames = 210;
for n in 0..frames {
state.tick(dt);
assert!(
frame(vec![], (n + 2) as f64 * dt as f64, &mut state),
"hold dropped after {:.2} s",
n as f32 * dt
);
}
let expected =
wrap_azimuth_deg(start_az + LIGHT_AZIMUTH_RATE_DEG_PER_SEC * dt * frames as f32);
let diff = (state.light_azimuth_deg - expected).abs();
assert!(
diff.min(360. - diff) < 0.5,
"{} vs {expected}",
state.light_azimuth_deg
);
// Release stops it.
let release = vec![egui::Event::PointerButton {
pos: at,
button: egui::PointerButton::Primary,
pressed: false,
modifiers: Default::default(),
}];
assert!(!frame(release, 4.0, &mut state));
assert!(state.hold_azimuth.is_none());
// Pointer leaving the button / window stops a hold too.
let press = vec![egui::Event::PointerButton {
pos: at,
button: egui::PointerButton::Primary,
pressed: true,
modifiers: Default::default(),
}];
assert!(frame(press, 4.1, &mut state));
assert!(!frame(vec![egui::Event::PointerGone], 4.2, &mut state));
// A press that started elsewhere does not count when dragged onto it.
let away = egui::pos2(390., 290.);
let drag = vec![
egui::Event::PointerButton {
pos: at,
button: egui::PointerButton::Primary,
pressed: false,
modifiers: Default::default(),
},
egui::Event::PointerMoved(away),
];
frame(drag, 4.3, &mut state);
let press = vec![egui::Event::PointerButton {
pos: away,
button: egui::PointerButton::Primary,
pressed: true,
modifiers: Default::default(),
}];
assert!(!frame(press, 4.4, &mut state));
assert!(!frame(vec![egui::Event::PointerMoved(at)], 4.5, &mut state));
}
}
@@ -403,6 +403,7 @@ impl Preview2dState { } } /// Advance playback and held light controls by `dt` seconds. /// Advance playback and held light controls by `dt` seconds. /// (Holds are set each frame from [`raw_pointer_hold`].) pub fn tick(&mut self, dt: f32) { pub fn tick(&mut self, dt: f32) { let dt = if dt.is_finite() && dt > 0.0 { let dt = if dt.is_finite() && dt > 0.0 { dt.min(0.25) dt.min(0.25)@@ -682,6 +683,18 @@ pub fn sync_state_from_catalog(state: &mut Preview2dState, catalog: &[CatalogEnt } }}}/// Whether a light hold-button is held, from raw pointer state rather than/// egui's click sense (which stops reporting `is_pointer_button_down_on` once/// a press outlasts a click, ~1 s in egui 0.29). Held = primary button down,/// press started on the button, pointer still over it. Release, pointer gone/// (left the window) or a press that started elsewhere all yield false.pub fn raw_pointer_hold(rect: eframe::egui::Rect, input: &eframe::egui::InputState) -> bool { let p = &input.pointer; p.primary_down() && p.press_origin().is_some_and(|o| rect.contains(o)) && p.hover_pos().is_some_and(|h| rect.contains(h))}#[cfg(test)]#[cfg(test)]mod tests {mod tests { use super::*; use super::*;@@ -1200,4 +1213,112 @@ mod tests { assert_eq!(pitch_row_from_deg(7), ZERO_PITCH_ROW); assert_eq!(pitch_row_from_deg(7), ZERO_PITCH_ROW); assert_eq!(state.fps, 4); assert_eq!(state.fps, 4); } } /// Regression (t964u): a light button held for several seconds keeps /// rotating (egui click sense alone stopped after ~1 s). #[test] fn light_hold_button_keeps_rotating_for_multi_second_hold() { use eframe::egui; let ctx = egui::Context::default(); let rect = std::cell::Cell::new(egui::Rect::NOTHING); let mut state = Preview2dState::default(); let start_az = state.light_azimuth_deg; let dt = 1.0 / 60.0; let frame = |events: Vec<egui::Event>, t: f64, state: &mut Preview2dState| { let input = egui::RawInput { screen_rect: Some(egui::Rect::from_min_size( egui::Pos2::ZERO, egui::vec2(400., 300.), )), time: Some(t), predicted_dt: dt, focused: true, events, ..Default::default() }; let mut held = false; let _ = ctx.run(input, |ctx| { egui::CentralPanel::default().show(ctx, |ui| { let r = ui.button("Azimut +"); rect.set(r.rect); held = ui.ctx().input(|i| raw_pointer_hold(r.rect, i)); }); }); if held { state.hold_light(LightAxis::Azimuth, HoldSign::Positive); } else { state.release_light(LightAxis::Azimuth); } held }; // Layout frame to learn the button rect. assert!(!frame(vec![], 0.0, &mut state)); let at = rect.get().center(); let press = vec![ egui::Event::PointerMoved(at), egui::Event::PointerButton { pos: at, button: egui::PointerButton::Primary, pressed: true, modifiers: Default::default(), }, ]; assert!(frame(press, dt as f64, &mut state)); // 3.5 s without any further input events, button still physically down. let frames = 210; for n in 0..frames { state.tick(dt); assert!( frame(vec![], (n + 2) as f64 * dt as f64, &mut state), "hold dropped after {:.2} s", n as f32 * dt ); } let expected = wrap_azimuth_deg(start_az + LIGHT_AZIMUTH_RATE_DEG_PER_SEC * dt * frames as f32); let diff = (state.light_azimuth_deg - expected).abs(); assert!( diff.min(360. - diff) < 0.5, "{} vs {expected}", state.light_azimuth_deg ); // Release stops it. let release = vec![egui::Event::PointerButton { pos: at, button: egui::PointerButton::Primary, pressed: false, modifiers: Default::default(), }]; assert!(!frame(release, 4.0, &mut state)); assert!(state.hold_azimuth.is_none()); // Pointer leaving the button / window stops a hold too. let press = vec![egui::Event::PointerButton { pos: at, button: egui::PointerButton::Primary, pressed: true, modifiers: Default::default(), }]; assert!(frame(press, 4.1, &mut state)); assert!(!frame(vec![egui::Event::PointerGone], 4.2, &mut state)); // A press that started elsewhere does not count when dragged onto it. let away = egui::pos2(390., 290.); let drag = vec![ egui::Event::PointerButton { pos: at, button: egui::PointerButton::Primary, pressed: false, modifiers: Default::default(), }, egui::Event::PointerMoved(away), ]; frame(drag, 4.3, &mut state); let press = vec![egui::Event::PointerButton { pos: away, button: egui::PointerButton::Primary, pressed: true, modifiers: Default::default(), }]; assert!(!frame(press, 4.4, &mut state)); assert!(!frame(vec![egui::Event::PointerMoved(at)], 4.5, &mut state)); }}}@@ -439,6 +439,8 @@ impl GpuCache {
viewport.height_px,
);
gl.enable(glow::DEPTH_TEST);
// Fixed-camera mode uses the narrow per-sex depth range; clamp, never clip.
gl.enable(glow::DEPTH_CLAMP);
gl.depth_mask(true);
gl.clear_depth_f32(1.0);
gl.depth_func(glow::LESS);
@@ -510,6 +512,7 @@ impl GpuCache {
}
gl.active_texture(glow::TEXTURE0);
gl.disable(glow::DEPTH_TEST);
gl.disable(glow::DEPTH_CLAMP);
gl.disable(glow::SCISSOR_TEST);
gl.enable(glow::BLEND);
}
@@ -439,6 +439,8 @@ impl GpuCache { viewport.height_px, viewport.height_px, ); ); gl.enable(glow::DEPTH_TEST); gl.enable(glow::DEPTH_TEST); // Fixed-camera mode uses the narrow per-sex depth range; clamp, never clip. gl.enable(glow::DEPTH_CLAMP); gl.depth_mask(true); gl.depth_mask(true); gl.clear_depth_f32(1.0); gl.clear_depth_f32(1.0); gl.depth_func(glow::LESS); gl.depth_func(glow::LESS);@@ -510,6 +512,7 @@ impl GpuCache { } } gl.active_texture(glow::TEXTURE0); gl.active_texture(glow::TEXTURE0); gl.disable(glow::DEPTH_TEST); gl.disable(glow::DEPTH_TEST); gl.disable(glow::DEPTH_CLAMP); gl.disable(glow::SCISSOR_TEST); gl.disable(glow::SCISSOR_TEST); gl.enable(glow::BLEND); gl.enable(glow::BLEND); } }@@ -27,8 +27,6 @@ pub const PASSES: [&str; 6] = [
"normal",
"specular",
];
pub const NEAR: f32 = 0.05;
pub const FAR: f32 = 40.;
#[derive(Clone)]
pub struct Draw {
pub positions: Arc<Vec<[f32; 3]>>,
@@ -618,6 +616,9 @@ impl GpuRenderer {
gl.enable(glow::DEPTH_TEST);
gl.depth_mask(true);
gl.depth_func(glow::LESS);
// Geometry outside the fixed per-sex interval is clamped, not clipped
// away; production counts and reports clamped coverage.
gl.enable(glow::DEPTH_CLAMP);
gl.clear_depth_f32(1.);
gl.clear_color(0., 0., 0., 0.);
gl.clear(glow::COLOR_BUFFER_BIT | glow::DEPTH_BUFFER_BIT);
@@ -806,12 +807,24 @@ impl GpuRenderer {
gl.use_program(None);
gl.active_texture(glow::TEXTURE0);
gl.disable(glow::DEPTH_TEST);
gl.disable(glow::DEPTH_CLAMP);
gl.disable(glow::SCISSOR_TEST);
gl.enable(glow::BLEND);
gl.pixel_store_i32(glow::PACK_ALIGNMENT, 4);
result
}
}
/// Covered highres pixels whose depth hit the fixed interval's near or far
/// plane (GL depth clamp), i.e. geometry outside `[depth_near, depth_far]`.
pub fn clamped_depth_pixels(raw: &Buffers) -> usize {
raw.depth
.iter()
.enumerate()
.filter(|(i, d)| {
raw.diffuse.get(i * 4 + 3).is_some_and(|a| *a > 0) && (**d <= 0. || **d >= 1.)
})
.count()
}
fn flip_rows<T>(data: &mut [T], stride: usize, height: usize) {
for y in 0..height / 2 {
let split = (height - 1 - y) * stride;
@@ -1383,6 +1396,7 @@ pub fn contract(mut job: RenderJob) -> Result<Contract, String> {
})
})
.collect::<Vec<_>>();
let (depth_near, depth_far) = crate::camera::depth_range(job.framing);
let render_doc = serde_json::json!({
"format_version": crate::export_set::OUTPUT_META_VERSION,
"status": "incomplete",
@@ -1396,10 +1410,13 @@ pub fn contract(mut job: RenderJob) -> Result<Contract, String> {
"highres_scale": SCALE,
"framing": job.framing,
"pivot_source": pivot.source,
"near": NEAR,
"far": FAR,
"near": depth_near,
"far": depth_far,
"depth_near": depth_near,
"depth_far": depth_far,
"depth_encoding": crate::camera::DEPTH_ENCODING,
"normal_space": "view (+Y up), PNG rows top-down",
"camera_distance": 10,
"camera_distance": crate::camera::CAMERA_DISTANCE,
"yaw_zero": "camera on -Z",
"pitches": preview::PRODUCTION_PITCHES,
"yaws": production_yaws(),
@@ -1407,7 +1424,7 @@ pub fn contract(mut job: RenderJob) -> Result<Contract, String> {
"sampling": "clip -> frame (t=frame/fps) -> pitch -> yaw -> pass; ceil(duration*fps) snapped within 4*f32_epsilon*max(1,samples) of an integer to omit floating terminal duplicates; root motion retained",
"alpha": "straight, opaque/cutout, coverage resolve",
"diffuse": "unlit sRGB albedo × vertex color, linear-light detail resolve",
"depth": "16-bit gray+alpha; distance=near+(sample/65535)*(far-near)",
"depth": "16-bit gray+alpha; distance=near+(sample/65535)*(far-near); per-sex fixed range, out-of-range clamped",
"specular": "linear scalar; body defaults zero",
"pass_order": PASSES,
"saved_maps": ["diffuse", "depth", "normal", "specular"],
@@ -1511,6 +1528,8 @@ fn execute_target(
c.name = format!("render-clip-{i}");
}
let mut completed = 0u32;
let mut clamped_views = 0u32;
let mut clamped_pixels = 0u64;
let mut png_sha256 = std::collections::BTreeMap::<String, String>::new();
let mut cache = equipment::TextureCache::default();
let result = (|| {
@@ -1574,6 +1593,20 @@ fn execute_target(
Err(_) => return Err("GPU-service gestopt".into()),
}
};
let clamped = clamped_depth_pixels(&raw);
if clamped > 0 {
clamped_views += 1;
clamped_pixels += clamped as u64;
emit(RenderEvent::Step {
index: completed,
total: plan.passes,
label: format!(
"Waarschuwing: {pose} · {clamped} highres-pixels buiten dieptebereik {:.2}–{:.2} m (geklemd)",
render_doc["depth_near"].as_f64().unwrap_or(0.),
render_doc["depth_far"].as_f64().unwrap_or(0.)
),
});
}
completed += 1;
emit(RenderEvent::Pass {
index: completed - 1,
@@ -1699,8 +1732,22 @@ fn execute_target(
"png_files": plan.files,
"png_sha256": png_sha256,
"atlas": atlas.to_json(),
"depth_clamped": {
"views": clamped_views,
"highres_pixels": clamped_pixels,
"note": "rendered this attempt; kept files from a resumed run are not re-counted",
},
}),
)?;
if clamped_views > 0 {
emit(RenderEvent::Step {
index: completed,
total: plan.passes,
label: format!(
"Waarschuwing: diepte geklemd in {clamped_views} beelden ({clamped_pixels} highres-pixels buiten het vaste bereik)"
),
});
}
emit(RenderEvent::Finished {
saved: Some(root.display().to_string()),
});
@@ -2009,6 +2056,24 @@ mod tests {
assert_eq!(t.normal.rgba[3], 4);
assert_eq!(t.specular.rgba[3], 4);
}
fn meta_framing(meta: &serde_json::Value) -> CameraFraming {
serde_json::from_value(meta["framing"].clone()).unwrap()
}
#[test]
fn clamped_depth_counts_only_covered_pixels_on_the_planes() {
let mut raw = Buffers {
width: 4,
height: 1,
diffuse: vec![255; 16],
normal: vec![0; 16],
specular: vec![0; 16],
depth: vec![0., 0.5, 1., 1.],
};
raw.diffuse[15] = 0; // uncovered background at far plane
assert_eq!(clamped_depth_pixels(&raw), 2);
}
#[test]
fn invalid_map_dimensions_and_depth_fail_without_panics() {
let mut r = raw(8, 8);
@@ -2322,7 +2387,19 @@ mod tests {
let meta: serde_json::Value =
serde_json::from_str(&std::fs::read_to_string(run.join("render.json")).unwrap())
.unwrap();
assert_eq!(meta["format_version"], 4);
assert_eq!(meta["format_version"], 5);
let (near, far) = crate::camera::depth_range(meta_framing(&meta));
assert_eq!(meta["depth_near"].as_f64().unwrap() as f32, near);
assert_eq!(meta["depth_far"].as_f64().unwrap() as f32, far);
assert_eq!(meta["near"], meta["depth_near"]);
assert_eq!(meta["depth_encoding"], crate::camera::DEPTH_ENCODING);
if !stop {
let done: serde_json::Value = serde_json::from_str(
&std::fs::read_to_string(run.join("complete.json")).unwrap(),
)
.unwrap();
assert_eq!(done["depth_clamped"]["views"], 0);
}
assert_eq!(meta["pitches"], serde_json::json!([-60, -30, 0, 30, 60]));
assert_eq!(meta["yaws"].as_array().unwrap().len(), 12);
assert_eq!(meta["fps"], 12);
@@ -2348,7 +2425,7 @@ mod tests {
&std::fs::read_to_string(run.join("complete.json")).unwrap(),
)
.unwrap();
assert_eq!(complete["format_version"], 4);
assert_eq!(complete["format_version"], 5);
assert_eq!(complete["status"], "complete");
assert_eq!(complete["png_files"], 240);
let checksums = complete["png_sha256"].as_object().unwrap();
@@ -27,8 +27,6 @@ pub const PASSES: [&str; 6] = [ "normal", "normal", "specular", "specular",];];pub const NEAR: f32 = 0.05;pub const FAR: f32 = 40.;#[derive(Clone)]#[derive(Clone)]pub struct Draw {pub struct Draw { pub positions: Arc<Vec<[f32; 3]>>, pub positions: Arc<Vec<[f32; 3]>>,@@ -618,6 +616,9 @@ impl GpuRenderer { gl.enable(glow::DEPTH_TEST); gl.enable(glow::DEPTH_TEST); gl.depth_mask(true); gl.depth_mask(true); gl.depth_func(glow::LESS); gl.depth_func(glow::LESS); // Geometry outside the fixed per-sex interval is clamped, not clipped // away; production counts and reports clamped coverage. gl.enable(glow::DEPTH_CLAMP); gl.clear_depth_f32(1.); gl.clear_depth_f32(1.); gl.clear_color(0., 0., 0., 0.); gl.clear_color(0., 0., 0., 0.); gl.clear(glow::COLOR_BUFFER_BIT | glow::DEPTH_BUFFER_BIT); gl.clear(glow::COLOR_BUFFER_BIT | glow::DEPTH_BUFFER_BIT);@@ -806,12 +807,24 @@ impl GpuRenderer { gl.use_program(None); gl.use_program(None); gl.active_texture(glow::TEXTURE0); gl.active_texture(glow::TEXTURE0); gl.disable(glow::DEPTH_TEST); gl.disable(glow::DEPTH_TEST); gl.disable(glow::DEPTH_CLAMP); gl.disable(glow::SCISSOR_TEST); gl.disable(glow::SCISSOR_TEST); gl.enable(glow::BLEND); gl.enable(glow::BLEND); gl.pixel_store_i32(glow::PACK_ALIGNMENT, 4); gl.pixel_store_i32(glow::PACK_ALIGNMENT, 4); result result } }}}/// Covered highres pixels whose depth hit the fixed interval's near or far/// plane (GL depth clamp), i.e. geometry outside `[depth_near, depth_far]`.pub fn clamped_depth_pixels(raw: &Buffers) -> usize { raw.depth .iter() .enumerate() .filter(|(i, d)| { raw.diffuse.get(i * 4 + 3).is_some_and(|a| *a > 0) && (**d <= 0. || **d >= 1.) }) .count()}fn flip_rows<T>(data: &mut [T], stride: usize, height: usize) {fn flip_rows<T>(data: &mut [T], stride: usize, height: usize) { for y in 0..height / 2 { for y in 0..height / 2 { let split = (height - 1 - y) * stride; let split = (height - 1 - y) * stride;@@ -1383,6 +1396,7 @@ pub fn contract(mut job: RenderJob) -> Result<Contract, String> { }) }) }) }) .collect::<Vec<_>>(); .collect::<Vec<_>>(); let (depth_near, depth_far) = crate::camera::depth_range(job.framing); let render_doc = serde_json::json!({ let render_doc = serde_json::json!({ "format_version": crate::export_set::OUTPUT_META_VERSION, "format_version": crate::export_set::OUTPUT_META_VERSION, "status": "incomplete", "status": "incomplete",@@ -1396,10 +1410,13 @@ pub fn contract(mut job: RenderJob) -> Result<Contract, String> { "highres_scale": SCALE, "highres_scale": SCALE, "framing": job.framing, "framing": job.framing, "pivot_source": pivot.source, "pivot_source": pivot.source, "near": NEAR, "near": depth_near, "far": FAR, "far": depth_far, "depth_near": depth_near, "depth_far": depth_far, "depth_encoding": crate::camera::DEPTH_ENCODING, "normal_space": "view (+Y up), PNG rows top-down", "normal_space": "view (+Y up), PNG rows top-down", "camera_distance": 10, "camera_distance": crate::camera::CAMERA_DISTANCE, "yaw_zero": "camera on -Z", "yaw_zero": "camera on -Z", "pitches": preview::PRODUCTION_PITCHES, "pitches": preview::PRODUCTION_PITCHES, "yaws": production_yaws(), "yaws": production_yaws(),@@ -1407,7 +1424,7 @@ pub fn contract(mut job: RenderJob) -> Result<Contract, String> { "sampling": "clip -> frame (t=frame/fps) -> pitch -> yaw -> pass; ceil(duration*fps) snapped within 4*f32_epsilon*max(1,samples) of an integer to omit floating terminal duplicates; root motion retained", "sampling": "clip -> frame (t=frame/fps) -> pitch -> yaw -> pass; ceil(duration*fps) snapped within 4*f32_epsilon*max(1,samples) of an integer to omit floating terminal duplicates; root motion retained", "alpha": "straight, opaque/cutout, coverage resolve", "alpha": "straight, opaque/cutout, coverage resolve", "diffuse": "unlit sRGB albedo × vertex color, linear-light detail resolve", "diffuse": "unlit sRGB albedo × vertex color, linear-light detail resolve", "depth": "16-bit gray+alpha; distance=near+(sample/65535)*(far-near)", "depth": "16-bit gray+alpha; distance=near+(sample/65535)*(far-near); per-sex fixed range, out-of-range clamped", "specular": "linear scalar; body defaults zero", "specular": "linear scalar; body defaults zero", "pass_order": PASSES, "pass_order": PASSES, "saved_maps": ["diffuse", "depth", "normal", "specular"], "saved_maps": ["diffuse", "depth", "normal", "specular"],@@ -1511,6 +1528,8 @@ fn execute_target( c.name = format!("render-clip-{i}"); c.name = format!("render-clip-{i}"); } } let mut completed = 0u32; let mut completed = 0u32; let mut clamped_views = 0u32; let mut clamped_pixels = 0u64; let mut png_sha256 = std::collections::BTreeMap::<String, String>::new(); let mut png_sha256 = std::collections::BTreeMap::<String, String>::new(); let mut cache = equipment::TextureCache::default(); let mut cache = equipment::TextureCache::default(); let result = (|| { let result = (|| {@@ -1574,6 +1593,20 @@ fn execute_target( Err(_) => return Err("GPU-service gestopt".into()), Err(_) => return Err("GPU-service gestopt".into()), } } }; }; let clamped = clamped_depth_pixels(&raw); if clamped > 0 { clamped_views += 1; clamped_pixels += clamped as u64; emit(RenderEvent::Step { index: completed, total: plan.passes, label: format!( "Waarschuwing: {pose} · {clamped} highres-pixels buiten dieptebereik {:.2}–{:.2} m (geklemd)", render_doc["depth_near"].as_f64().unwrap_or(0.), render_doc["depth_far"].as_f64().unwrap_or(0.) ), }); } completed += 1; completed += 1; emit(RenderEvent::Pass { emit(RenderEvent::Pass { index: completed - 1, index: completed - 1,@@ -1699,8 +1732,22 @@ fn execute_target( "png_files": plan.files, "png_files": plan.files, "png_sha256": png_sha256, "png_sha256": png_sha256, "atlas": atlas.to_json(), "atlas": atlas.to_json(), "depth_clamped": { "views": clamped_views, "highres_pixels": clamped_pixels, "note": "rendered this attempt; kept files from a resumed run are not re-counted", }, }), }), )?; )?; if clamped_views > 0 { emit(RenderEvent::Step { index: completed, total: plan.passes, label: format!( "Waarschuwing: diepte geklemd in {clamped_views} beelden ({clamped_pixels} highres-pixels buiten het vaste bereik)" ), }); } emit(RenderEvent::Finished { emit(RenderEvent::Finished { saved: Some(root.display().to_string()), saved: Some(root.display().to_string()), }); });@@ -2009,6 +2056,24 @@ mod tests { assert_eq!(t.normal.rgba[3], 4); assert_eq!(t.normal.rgba[3], 4); assert_eq!(t.specular.rgba[3], 4); assert_eq!(t.specular.rgba[3], 4); } } fn meta_framing(meta: &serde_json::Value) -> CameraFraming { serde_json::from_value(meta["framing"].clone()).unwrap() } #[test] fn clamped_depth_counts_only_covered_pixels_on_the_planes() { let mut raw = Buffers { width: 4, height: 1, diffuse: vec![255; 16], normal: vec![0; 16], specular: vec![0; 16], depth: vec![0., 0.5, 1., 1.], }; raw.diffuse[15] = 0; // uncovered background at far plane assert_eq!(clamped_depth_pixels(&raw), 2); } #[test] #[test] fn invalid_map_dimensions_and_depth_fail_without_panics() { fn invalid_map_dimensions_and_depth_fail_without_panics() { let mut r = raw(8, 8); let mut r = raw(8, 8);@@ -2322,7 +2387,19 @@ mod tests { let meta: serde_json::Value = let meta: serde_json::Value = serde_json::from_str(&std::fs::read_to_string(run.join("render.json")).unwrap()) serde_json::from_str(&std::fs::read_to_string(run.join("render.json")).unwrap()) .unwrap(); .unwrap(); assert_eq!(meta["format_version"], 4); assert_eq!(meta["format_version"], 5); let (near, far) = crate::camera::depth_range(meta_framing(&meta)); assert_eq!(meta["depth_near"].as_f64().unwrap() as f32, near); assert_eq!(meta["depth_far"].as_f64().unwrap() as f32, far); assert_eq!(meta["near"], meta["depth_near"]); assert_eq!(meta["depth_encoding"], crate::camera::DEPTH_ENCODING); if !stop { let done: serde_json::Value = serde_json::from_str( &std::fs::read_to_string(run.join("complete.json")).unwrap(), ) .unwrap(); assert_eq!(done["depth_clamped"]["views"], 0); } assert_eq!(meta["pitches"], serde_json::json!([-60, -30, 0, 30, 60])); assert_eq!(meta["pitches"], serde_json::json!([-60, -30, 0, 30, 60])); assert_eq!(meta["yaws"].as_array().unwrap().len(), 12); assert_eq!(meta["yaws"].as_array().unwrap().len(), 12); assert_eq!(meta["fps"], 12); assert_eq!(meta["fps"], 12);@@ -2348,7 +2425,7 @@ mod tests { &std::fs::read_to_string(run.join("complete.json")).unwrap(), &std::fs::read_to_string(run.join("complete.json")).unwrap(), ) ) .unwrap(); .unwrap(); assert_eq!(complete["format_version"], 4); assert_eq!(complete["format_version"], 5); assert_eq!(complete["status"], "complete"); assert_eq!(complete["status"], "complete"); assert_eq!(complete["png_files"], 240); assert_eq!(complete["png_files"], 240); let checksums = complete["png_sha256"].as_object().unwrap(); let checksums = complete["png_sha256"].as_object().unwrap();