# Convict body with four augmentation stages Made 2026-10-12 for The Descent. The main character as `GameLore.txt` describes him: a convict whose arms and legs are machine limbs, the rest still human, a feeding port in his side, breathing from a tank. Requirement U26 (player augmentations) is still "recorded only", so this is a Blender asset; nothing was imported into Unreal. ## The four stages One reference picture per stage, in the order they were given. | Stage | Name | Look | Triangles (whole body) | |---|---|---|---| | 1 | Issue | the limbs fitted before transport: slim gloss-black shells, plain robot hands with open tendons, smooth visor helmet, one air tank | 44,412 | | 2 | Refit | heavier matte-black shells, domed shoulders with a marking band, bolted chest plate, neck cables, twin tanks, pale face plate | 50,964 | | 3 | Deepframe | layered red plates over a grey frame, two-tier shoulders, vambraces, tassets, finned helmet | 69,608 | | 4 | Abyssal | oversized gauntlets and greaves, square shoulder domes, gorget and yoke, power pack, visor dome | 62,616 | The names are working names, not lore. What stays human in every stage: the torso and neck in an insulated suit (`SKM_Convict_Core`, always worn), with the feeding port on his right flank at waist height and a neck bellows up into the helmet. ## Files - `Convict_Body_Augments.blend` — everything. - `fbx\SK_Convict_Stage_.fbx` — one whole body per stage (skeleton + core + six modules). - `fbx\modules\` — the same 25 meshes one per file, each with the skeleton, for swapping parts in the game. - `previews\` — renders (`lineup_*`, `stages_full`, `stages_bust`, `stages_hand`). - `build\` — the scripts that make all of it, plus `build_report.json` and `fbx_report.json`. ## How the .blend is laid out - `Rig` holds `Armature` (data `SK_Convict`, 53 bones, Unreal mannequin names: `root`, `pelvis`, `spine_01..03`, `neck_01`, `head`, `clavicle/upperarm/lowerarm/hand_l|r`, five fingers of three bones, `thigh/calf/foot/ball_l|r`). - `Body_Core` holds the suit torso. `Stage1_Issue` … `Stage4_Abyssal` each hold six modules: `SKM_Convict_S_Head`, `_Torso`, `_Arm_L`, `_Arm_R`, `_Leg_L`, `_Leg_R`. - All stages sit on the same skeleton at the origin. Stage 1 is switched on; tick another stage collection (and untick stage 1) to wear it. Any mix works: stage 3 arms on stage 1 legs, and so on. - `Lineup` shows all four side by side as collection instances; delete it if it is in the way. - **Frame 0 is the bind pose** (arms 38° out from the body). **Frame 1 is a relaxed standing pose**, only for looking at him. The file opens on frame 1. ## Scale, pivots, weights - Metres in Blender, feet on z = 0, facing −Y. Helmet top 1.80 m, eye line about 1.67 m (the game camera is at 1.65 m, so a scale of 0.988 puts the eyes on it). - Every hard part is weighted to exactly one bone, so it turns about that joint as a rigid piece. Only the suit torso and the hoses that cross a joint are blended between two bones. - Joint positions are the same in all four stages. Later stages are bulk added around the same joints, which is why stage 4 is not taller. - The shoulder domes ride on the upper arm and cover its outer half only. ## Checks that were run - Topology (`build_report.json`): 25 meshes, no n-gons, no open edges, no zero-area faces. Triangles are only the fan caps on cylinder ends and at the helmet poles under the ear caps. No boolean modifiers were used. - Clearance (`build_report.json`): parts on different bones were tested against each other in the bind pose and in the relaxed pose, for all four stages: 0 crossings. Not tested: any other pose. Raising an arm high or bending a knee far will push plates into each other, as on any armoured character. - FBX (`fbx_report.json`): all 29 files read back into Blender: one skeleton with one root (`root`), 53 bones, triangle counts match, every vertex weighted, UVs present, feet on the ground. ## For Unreal (not tested there) The FBX files are written in centimetres (scene unit scale 0.01, data scaled 100) so bones should come in at scale 1. Import one stage file as a skeletal mesh to create the skeleton, then the module files onto that skeleton. The bone names match the mannequin, so the IK Rig auto-retarget used for Twinblast should map it. There is no physics asset, no LOD and no animation in the files. ## Honest limits - Built by script from lofted shells, lathes and plates. It is a clean hard-surface model with layered plates, joints, hoses and bolts, but it is far simpler than the concept paintings it follows; treat it as a base to sculpt and detail further. - Materials are nine flat PBR values (`M_Convict_*`), no texture maps. UVs exist on every mesh and are packed per module, but nothing is baked. - No markings carry text or a brand; the references' lettering and emblems were replaced by plain bands. - Nobody has seen it move. The relaxed pose is the only pose that was looked at. ## Rebuild ``` blender -b --python build\build_convict.py (add -- --no-fbx to skip the export) blender -b --python build\verify_fbx.py blender -b --python build\render_previews.py ``` Shapes and sizes per stage are the tables at the top of `build\convict_parts.py`.