@bitmagic/cli 0.1.66-dev.6 → 0.1.66-dev.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +36 -1
- package/assets/character-skin-authoring/SKILL.md +43 -0
- package/assets/character-skin-authoring/references/exporters.md +134 -0
- package/assets/character-skin-authoring/references/eyes.md +215 -0
- package/assets/character-skin-authoring/references/materials.md +115 -0
- package/assets/character-skin-authoring/references/playground.md +78 -0
- package/assets/character-skin-authoring/references/profiles.md +97 -0
- package/assets/character-skin-authoring/references/projection.md +190 -0
- package/assets/character-skin-authoring/references/regional-detail.md +72 -0
- package/assets/character-skin-authoring/scripts/assemble_character.py +205 -0
- package/assets/character-skin-authoring/scripts/authored_detail.py +47 -0
- package/assets/character-skin-authoring/scripts/authored_surface_patch.py +83 -0
- package/assets/character-skin-authoring/scripts/brow_groom.py +62 -0
- package/assets/character-skin-authoring/scripts/build_face_detail.py +107 -0
- package/assets/character-skin-authoring/scripts/build_surface_candidate.py +28 -0
- package/assets/character-skin-authoring/scripts/canthus_wall.py +57 -0
- package/assets/character-skin-authoring/scripts/character_build.py +54 -0
- package/assets/character-skin-authoring/scripts/eye_assets.py +333 -0
- package/assets/character-skin-authoring/scripts/eye_opening.py +114 -0
- package/assets/character-skin-authoring/scripts/eye_texture.py +35 -0
- package/assets/character-skin-authoring/scripts/eyelid_detail.py +34 -0
- package/assets/character-skin-authoring/scripts/eyelid_morph.py +171 -0
- package/assets/character-skin-authoring/scripts/eyelid_patch.py +173 -0
- package/assets/character-skin-authoring/scripts/face_atlas.py +51 -0
- package/assets/character-skin-authoring/scripts/geometry_repair.py +112 -0
- package/assets/character-skin-authoring/scripts/glb_arrays.py +13 -0
- package/assets/character-skin-authoring/scripts/glb_output.py +21 -0
- package/assets/character-skin-authoring/scripts/inspect_skin_point.py +66 -0
- package/assets/character-skin-authoring/scripts/normal_patch_height.py +38 -0
- package/assets/character-skin-authoring/scripts/prepare_face_reference.py +23 -0
- package/assets/character-skin-authoring/scripts/regional_atlas.py +51 -0
- package/assets/character-skin-authoring/scripts/select_preview.py +90 -0
- package/assets/character-skin-authoring/scripts/skin_views.py +267 -0
- package/assets/character-skin-authoring/scripts/surface_pbr_maps.py +46 -0
- package/assets/character-skin-authoring/scripts/texture_repair.py +98 -0
- package/assets/character-skin-authoring/scripts/vertex_detail_support.py +80 -0
- package/assets/character-skin-authoring/scripts/vision_blend_materials.py +74 -0
- package/assets/character-skin-authoring/scripts/vision_materials.py +276 -0
- package/assets/character-skin-authoring/scripts/workspace_paths.py +18 -0
- package/assets/metahuman/src/work/metahuman/MetaHumanActor.ts +580 -0
- package/assets/metahuman/src/work/metahuman/MetaHumanLabHooks.ts +122 -0
- package/assets/metahuman/src/work/metahuman/MetaHumanMaterials.ts +500 -0
- package/assets/metahuman/src/work/metahuman/MetaHumanSpeech.ts +242 -0
- package/assets/metahuman/src/work/metahuman/StudioEnvironment.ts +142 -0
- package/assets/metahuman/tools/lipsync/make_line.py +181 -0
- package/assets/metahuman/tools/metahuman/README.md +21 -0
- package/assets/metahuman/tools/metahuman/e2e/eval.mjs +34 -0
- package/assets/metahuman/tools/metahuman/e2e/probes/arm-pose-check.js +32 -0
- package/assets/metahuman/tools/metahuman/e2e/probes/bone-displacement.js +26 -0
- package/assets/metahuman/tools/metahuman/e2e/probes/clip-shoulder.js +41 -0
- package/assets/metahuman/tools/metahuman/e2e/probes/grafted-bones.js +11 -0
- package/assets/metahuman/tools/metahuman/e2e/probes/helper-follow-descent.js +38 -0
- package/assets/metahuman/tools/metahuman/e2e/probes/helper-follow-sweep.js +31 -0
- package/assets/metahuman/tools/metahuman/e2e/probes/helper-joints-inspect.js +10 -0
- package/assets/metahuman/tools/metahuman/e2e/probes/outfit-bad-vertices.js +26 -0
- package/assets/metahuman/tools/metahuman/e2e/probes/outfit-body-material.js +7 -0
- package/assets/metahuman/tools/metahuman/e2e/probes/outfit-own-skeleton.js +8 -0
- package/assets/metahuman/tools/metahuman/e2e/probes/shirt-bone-ownership.js +25 -0
- package/assets/metahuman/tools/metahuman/e2e/probes/shirt-edge-stretch.js +26 -0
- package/assets/metahuman/tools/metahuman/e2e/probes/shirt-long-edges.js +23 -0
- package/assets/metahuman/tools/metahuman/e2e/probes/walk-sampler.js +105 -0
- package/assets/metahuman/tools/metahuman/e2e/shot.mjs +125 -0
- package/assets/metahuman/tools/metahuman/e2e/walk-probe.mjs +43 -0
- package/assets/metahuman/tools/metahuman/merge-skeletons.mjs +69 -0
- package/assets/metahuman/tools/metahuman/package.json +13 -0
- package/assets/metahuman/tools/metahuman/prepare.sh +25 -0
- package/assets/metahuman/tools/metahuman/reorder-body-first.mjs +20 -0
- package/assets/metahuman/tools/metahuman/smooth-outfit-weights.mjs +48 -0
- package/assets/metahuman/tools/metahuman/strip-draco.mjs +32 -0
- package/assets/metahuman/tools/metahuman/transfer-skin-weights.mjs +90 -0
- package/dist/commands/generate.d.ts +49 -0
- package/dist/commands/generate.js +168 -1
- package/dist/commands/generate.js.map +1 -1
- package/dist/generate/audio-file.d.ts +6 -0
- package/dist/generate/audio-file.js +42 -0
- package/dist/generate/audio-file.js.map +1 -0
- package/dist/generate/music.d.ts +4 -3
- package/dist/generate/music.js +6 -23
- package/dist/generate/music.js.map +1 -1
- package/dist/generate/stream.d.ts +13 -0
- package/dist/generate/stream.js +14 -1
- package/dist/generate/stream.js.map +1 -1
- package/dist/scaffold/asset-pipeline-skill-files.js +2 -0
- package/dist/scaffold/asset-pipeline-skill-files.js.map +1 -1
- package/dist/scaffold/character-skin-skill-files.d.ts +2 -0
- package/dist/scaffold/character-skin-skill-files.js +49 -0
- package/dist/scaffold/character-skin-skill-files.js.map +1 -0
- package/dist/scaffold/metahuman-skill-files.d.ts +21 -0
- package/dist/scaffold/metahuman-skill-files.js +306 -0
- package/dist/scaffold/metahuman-skill-files.js.map +1 -0
- package/dist/scaffold/project-files.js +4 -4
- package/dist/scaffold/project-files.js.map +1 -1
- package/dist/scaffold/project.js +4 -0
- package/dist/scaffold/project.js.map +1 -1
- package/dist/scaffold/skill-files.js +3 -1
- package/dist/scaffold/skill-files.js.map +1 -1
- package/dist/tools/bundles.js +8 -0
- package/dist/tools/bundles.js.map +1 -1
- package/package.json +4 -4
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The `importing-metahumans` skill: an Epic MetaHuman glTF export (UE 5.7, the smorchj/metahuman-to-glb
|
|
3
|
+
* pipeline) brought in as the engine's high-res player — the GLB preparation, the retarget and
|
|
4
|
+
* helper-joint fixes, the material upgrades, lip-sync, and the numeric verification. Distilled from a
|
|
5
|
+
* lab game (Epic's "Bo" preset, September 2026) whose agent met every failure the skill now names by
|
|
6
|
+
* symptom: a model that loads as nothing (Draco), a face and body animating apart (three skeleton
|
|
7
|
+
* copies), arms crossed into the chest (A-pose bind vs Mixamo's T-pose), a shirt torn at the armpits
|
|
8
|
+
* (pose-driven helper joints), hair left behind by a head turn (unskinned cards), tinted skin (rig
|
|
9
|
+
* masks in COLOR_0) and black eyes (the eye shell's UVs).
|
|
10
|
+
*
|
|
11
|
+
* Same contract as `blender-level-skill-files.ts`: a pure function returning file contents,
|
|
12
|
+
* registered in `SHIPPED_SKILLS` (project.ts). The code the skill relies on — the runtime module
|
|
13
|
+
* (`src/work/metahuman/`), the GLB scripts, the lip-sync tool and the verification rig — ships in the
|
|
14
|
+
* package's `assets/metahuman/` and lands at the project root through `bitmagic tools install
|
|
15
|
+
* metahuman` (`tools/bundles.ts`), so the skill only ever names files the package holds
|
|
16
|
+
* (`__tests__/metahuman-assets.test.ts` checks that).
|
|
17
|
+
*
|
|
18
|
+
* Backticks and `${` are escaped for the template literal; `project-files.test.ts` checks the rendered
|
|
19
|
+
* frontmatter and that no escape leaks into the output.
|
|
20
|
+
*/
|
|
21
|
+
export declare function renderMetaHumanSkill(): string;
|
|
@@ -0,0 +1,306 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The `importing-metahumans` skill: an Epic MetaHuman glTF export (UE 5.7, the smorchj/metahuman-to-glb
|
|
3
|
+
* pipeline) brought in as the engine's high-res player — the GLB preparation, the retarget and
|
|
4
|
+
* helper-joint fixes, the material upgrades, lip-sync, and the numeric verification. Distilled from a
|
|
5
|
+
* lab game (Epic's "Bo" preset, September 2026) whose agent met every failure the skill now names by
|
|
6
|
+
* symptom: a model that loads as nothing (Draco), a face and body animating apart (three skeleton
|
|
7
|
+
* copies), arms crossed into the chest (A-pose bind vs Mixamo's T-pose), a shirt torn at the armpits
|
|
8
|
+
* (pose-driven helper joints), hair left behind by a head turn (unskinned cards), tinted skin (rig
|
|
9
|
+
* masks in COLOR_0) and black eyes (the eye shell's UVs).
|
|
10
|
+
*
|
|
11
|
+
* Same contract as `blender-level-skill-files.ts`: a pure function returning file contents,
|
|
12
|
+
* registered in `SHIPPED_SKILLS` (project.ts). The code the skill relies on — the runtime module
|
|
13
|
+
* (`src/work/metahuman/`), the GLB scripts, the lip-sync tool and the verification rig — ships in the
|
|
14
|
+
* package's `assets/metahuman/` and lands at the project root through `bitmagic tools install
|
|
15
|
+
* metahuman` (`tools/bundles.ts`), so the skill only ever names files the package holds
|
|
16
|
+
* (`__tests__/metahuman-assets.test.ts` checks that).
|
|
17
|
+
*
|
|
18
|
+
* Backticks and `${` are escaped for the template literal; `project-files.test.ts` checks the rendered
|
|
19
|
+
* frontmatter and that no escape leaks into the output.
|
|
20
|
+
*/
|
|
21
|
+
export function renderMetaHumanSkill() {
|
|
22
|
+
return `---
|
|
23
|
+
name: importing-metahumans
|
|
24
|
+
description: Bring an Epic MetaHuman (a UE 5.7 glTF export) into this game as the playable, animated, talking high-fidelity character without voxelizing it — prepare the GLB (Draco, one skeleton, body mesh first, garment weights), load it as the engine's high-res player, fix the A-pose retarget and the pose-driven helper joints, keep the hair on the head, upgrade skin / hair / eye materials, add life and lip-sync, and verify with numbers. Use it when a creator asks for a MetaHuman, an Unreal character, a "photoreal" or "highest fidelity" character — or when such a character shows floating hair, crossed arms, split legs, a torn shirt, tinted skin, black eyes, slumped shoulders or sliding feet.
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
# Importing a MetaHuman
|
|
28
|
+
|
|
29
|
+
A MetaHuman export is a 40–80 MB skinned GLB with 51 ARKit blendshapes, hair as textured cards and a
|
|
30
|
+
UE5 skeleton with hundreds of pose-driven helper joints. The engine can load it as the player's
|
|
31
|
+
**high-res character** and drive it with its own Mixamo locomotion — but the raw export loads as
|
|
32
|
+
nothing (Draco), animates in pieces (three skeleton copies), stands with its arms crossed into its
|
|
33
|
+
chest (A-pose bind), tears its shirt at the armpits (helper joints), leaves its hair behind when it
|
|
34
|
+
turns its head (unskinned cards), and renders with tinted skin and black eyes (rig masks, eye shell).
|
|
35
|
+
Every one of those was met and fixed on Epic's "Bo" preset in a lab game (September 2026); this
|
|
36
|
+
skill is that path, in order, with the tools that do it. Everything it names ships with the CLI:
|
|
37
|
+
|
|
38
|
+
\`\`\`
|
|
39
|
+
bitmagic tools install metahuman
|
|
40
|
+
\`\`\`
|
|
41
|
+
|
|
42
|
+
lands, at the project root:
|
|
43
|
+
|
|
44
|
+
| Path | Does |
|
|
45
|
+
|---|---|
|
|
46
|
+
| \`src/work/metahuman/MetaHumanActor.ts\` | adopts the engine-loaded player model, re-parents the hair cards, fixes the arm retarget, applies the helper-joint policy, blinks / saccades / breathing / head look-at, morph access |
|
|
47
|
+
| \`src/work/metahuman/MetaHumanMaterials.ts\` | upgrades every material by name: skin SSS, hair/brow card atlas, lashes, eyes; hides the export's helper meshes |
|
|
48
|
+
| \`src/work/metahuman/MetaHumanSpeech.ts\` | plays a line and drives the ARKit mouth shapes from mouth cues (+ amplitude fallback); clock-driven mode for the frame recorder |
|
|
49
|
+
| \`src/work/metahuman/StudioEnvironment.ts\` | HDRI image-based lighting that survives the engine's ambient-lighting re-applies; optional separate sky map |
|
|
50
|
+
| \`src/work/metahuman/MetaHumanLabHooks.ts\` | installs \`window.__lab\`, the handle the rigs below drive |
|
|
51
|
+
| \`tools/metahuman/prepare.sh\` + five \`.mjs\` scripts | the GLB preparation, one command (needs Node ≥ 18; \`npm install\` runs on first use) |
|
|
52
|
+
| \`tools/metahuman/e2e/\` | \`shot.mjs\`, \`eval.mjs\`, \`walk-probe.mjs\` and \`probes/\` — headless Chrome stills and measurements |
|
|
53
|
+
| \`tools/lipsync/make_line.py\` | TTS audio → forced alignment → mouth cues (\`assets/speech/<id>.{m4a,json}\`) |
|
|
54
|
+
|
|
55
|
+
Nothing in them is character-specific: the scripts find meshes by the export's naming
|
|
56
|
+
(\`SKM_<name>_FaceMesh\`, \`SKM_<name>_BodyMesh\`, \`<name>_Outfits\`) and the actor classifies materials
|
|
57
|
+
by name. \`tools/metahuman/README.md\` is the index.
|
|
58
|
+
|
|
59
|
+
## 0. Before you start
|
|
60
|
+
|
|
61
|
+
- **WebGPU.** The skin, hair and eye upgrades are TSL node materials on three's WebGPU build (the
|
|
62
|
+
engine default). The WebGL fallback keeps plain glTF PBR with scalar tweaks — acceptable, not
|
|
63
|
+
photoreal. \`bitmagic verify\` prints which backend booted.
|
|
64
|
+
- **Licence.** Since June 2025 Epic allows MetaHumans in non-Unreal products; the export pipeline
|
|
65
|
+
below is MIT. Record both in an \`assets/LICENSES.md\` and check the current MetaHuman terms before
|
|
66
|
+
a commercial release.
|
|
67
|
+
- **Budget.** One character is ~45 MB of GLB plus two 4K atlases. Publish uploads it (step 8). The
|
|
68
|
+
whole cast goes highres with it — highres and block characters never coexist.
|
|
69
|
+
- **Nothing else changes.** \`artStyle\` in \`game.json\` stays whatever the game is; a MetaHuman is a
|
|
70
|
+
loaded file, not a generated asset, and costs no sparks.
|
|
71
|
+
|
|
72
|
+
## 1. Get an export
|
|
73
|
+
|
|
74
|
+
The exports come from **smorchj/metahuman-to-glb** (UE 5.7 MetaHuman → Blender → Draco GLB with the
|
|
75
|
+
51 ARKit blendshapes). Ready-made characters sit in that repo under \`docs/5.7/characters/<name>/\`
|
|
76
|
+
(bo 41 MB, bruce 79 MB; \`docs/characters/\` holds ada and taro from the older 5.6 pipeline). Fetch
|
|
77
|
+
through \`raw.githubusercontent.com\` — they are plain files, not LFS. An export folder holds:
|
|
78
|
+
|
|
79
|
+
- \`<name>.glb\` — Draco-compressed; meshes \`SKM_<name>_FaceMesh\` (face skin, teeth, eyes, eye shell,
|
|
80
|
+
lacrimal fluid, lashes, an \`M_Hide\` helper), \`<name>_Outfits\` (garments), \`SKM_<name>_BodyMesh\`
|
|
81
|
+
(body skin — **no torso or upper thighs under the clothing**, the export culls them), plus the
|
|
82
|
+
hair / eyebrow / beard \`*_CardsMesh_*\` card meshes;
|
|
83
|
+
- \`textures/<Hair|Eyebrows>_*_CardsAtlas_Attribute.png\` — 4K card atlases, R = coverage, G = root→tip,
|
|
84
|
+
B = per-strand seed; \`T_Eyelashes_*_Coverage.png\` — the lash mask;
|
|
85
|
+
- \`mh_materials.json\` — the pipeline's material sheet (base colours, alpha channels, roughness).
|
|
86
|
+
Reference only.
|
|
87
|
+
|
|
88
|
+
What is inside, and why every step below exists: **three copies of the skeleton** (the face skin's
|
|
89
|
+
875 joints incl. \`FACIAL_*\`, the outfit's 342, the body's 342 — same names, same rest pose), the
|
|
90
|
+
face skin **stops at the upper arms**, the cards are **unskinned meshes posed at the head's rest
|
|
91
|
+
pose**, \`COLOR_0\` on every mesh is a **rig mask** (not albedo), the bind pose is an **A-pose**, and
|
|
92
|
+
the corrective joints (\`*_correctiveRoot_*\`, \`*_twistCor_*\`, bicep/tricep, clavicle scap/out/pec,
|
|
93
|
+
latissimus, wrist, ankle, finger helpers) are **pose-driven** in Unreal by RBF drivers the export
|
|
94
|
+
cannot carry.
|
|
95
|
+
|
|
96
|
+
## 2. Prepare the GLB — one command
|
|
97
|
+
|
|
98
|
+
\`\`\`
|
|
99
|
+
tools/metahuman/prepare.sh <export>/<name>.glb assets/metahuman/<name>/<name>.glb
|
|
100
|
+
mkdir -p assets/metahuman/<name>/textures
|
|
101
|
+
cp <export>/textures/*CardsAtlas_Attribute.png <export>/textures/T_Eyelashes_*Coverage.png assets/metahuman/<name>/textures/
|
|
102
|
+
\`\`\`
|
|
103
|
+
|
|
104
|
+
| Step | Script | Why | Without it |
|
|
105
|
+
|---|---|---|---|
|
|
106
|
+
| 1 | \`tools/metahuman/strip-draco.mjs\` | \`engine.loader\` is a plain GLTFLoader — no Draco, no KTX2 | the model never appears |
|
|
107
|
+
| 2 | \`tools/metahuman/merge-skeletons.mjs\` | grafts the limb subtrees from the body hierarchy onto the face hierarchy (asserts identical rest transforms) and re-points every skin at the one skeleton | each mesh follows its own copy: the face and body animate apart |
|
|
108
|
+
| 3 | \`tools/metahuman/reorder-body-first.mjs\` | the engine's \`CharacterLoader\` captures a rig's bind pose from the **first** skinned mesh it traverses, and the face skin has no forearms or legs | split legs, twisted forearms and hands (10 bones corrected instead of 52) |
|
|
109
|
+
| 4 | \`tools/metahuman/smooth-outfit-weights.mjs\` (shorts 6 × λ 0.5, shirt 12 × λ 0.6) | Laplacian-smooths the garment weights so hard seams (torso latissimus helper beside arm twist correctives) become gradients | 26 cm shards at the armpits under every arm swing |
|
|
110
|
+
| 5 | \`tools/metahuman/transfer-skin-weights.mjs\` (full ≤ 2 cm, blend to 4.5 cm) | gives garment vertices the skin's weights wherever skin lies under them (adds the face's neck joints to the outfit skin) | skin pokes through the shirt |
|
|
111
|
+
|
|
112
|
+
\`SHORT_RE\` / \`SHIRT_RE\` override the garment material regexes (the export names them
|
|
113
|
+
\`MID_..._Short_NN\` / \`MID_..._Shirt_NN\`); \`KEEP_STEPS=1\` keeps the intermediates. The tuned numbers
|
|
114
|
+
came from a torn-edge metric on the CPU-skinned outfit at the Mixamo idle (8038 torn edges raw →
|
|
115
|
+
≈300 after steps 3–5 plus the helper policy). Check the result: the scripts print the scene order
|
|
116
|
+
(\`SKM_<name>_BodyMesh → <name>_Outfits → SKM_<name>_FaceMesh\`), the skins and their joint counts, and
|
|
117
|
+
throw if a joint is unreachable or a duplicate does not match its twin.
|
|
118
|
+
|
|
119
|
+
## 3. Load it as the player
|
|
120
|
+
|
|
121
|
+
\`src/work/world.json\`, in \`worldProfileData\`:
|
|
122
|
+
|
|
123
|
+
\`\`\`json
|
|
124
|
+
"characterUrl": "/assets/metahuman/bo/bo.glb",
|
|
125
|
+
"useHighResCharacter": true,
|
|
126
|
+
"characterConfig": { "height": 1.83, "walkSpeed": 1.4, "runSpeed": 2.4, "fastRunSpeed": 4 }
|
|
127
|
+
\`\`\`
|
|
128
|
+
|
|
129
|
+
and three animation assets in \`assets[]\` — the Mixamo viewer set — because the engine's \`generated\`
|
|
130
|
+
animation library plays the authored Idle but swaps Walk and Run for motion-captured clips whose
|
|
131
|
+
neutral shoulders sit ~20° lower (a visible slump on ANY character, only while walking):
|
|
132
|
+
|
|
133
|
+
\`\`\`json
|
|
134
|
+
{ "id": "mMixamoIdleViewer", "type": "animation", "locomotionState": "idle", "url": "https://mini.bitmagic.ai/worlds/v3/animations_brotli/NewIdle.glb" },
|
|
135
|
+
{ "id": "mMixamoWalkViewer", "type": "animation", "locomotionState": "walk", "url": "https://mini.bitmagic.ai/worlds/v3/animations_brotli/NewWalk.glb" },
|
|
136
|
+
{ "id": "mMixamoRunViewer", "type": "animation", "locomotionState": "run", "url": "https://mini.bitmagic.ai/worlds/v3/animations_brotli/NewRun.glb" }
|
|
137
|
+
\`\`\`
|
|
138
|
+
|
|
139
|
+
\`src/work/Game.ts\`: after \`setupPlayerController()\` and \`playerLoader.enablePlayerGravity()\`, adopt
|
|
140
|
+
the model the engine loaded (do NOT await slow downloads first — see fix 10), install the hooks, and
|
|
141
|
+
update the actor every frame:
|
|
142
|
+
|
|
143
|
+
\`\`\`ts
|
|
144
|
+
import { MetaHumanActor } from './metahuman/MetaHumanActor.js';
|
|
145
|
+
import { DEFAULT_HAIR, DEFAULT_BROWS } from './metahuman/MetaHumanMaterials.js';
|
|
146
|
+
import { installMetaHumanLabHooks } from './metahuman/MetaHumanLabHooks.js';
|
|
147
|
+
|
|
148
|
+
const bloomOn = this.worldProfileData.bloomConfig?.enabled ?? false;
|
|
149
|
+
const actor = new MetaHumanActor(this.engine, {
|
|
150
|
+
url: '/assets/metahuman/bo/bo.glb',
|
|
151
|
+
yawOffset: 0, // the export faces +Z = engine gameplay-forward
|
|
152
|
+
materials: {
|
|
153
|
+
hairAtlasUrl: '/assets/metahuman/bo/textures/Hair_S_SideSweptFringe_CardsAtlas_Attribute.png',
|
|
154
|
+
browAtlasUrl: '/assets/metahuman/bo/textures/Eyebrows_M_Wide_CardsAtlas_Attribute.png',
|
|
155
|
+
lashCoverageUrl: '/assets/metahuman/bo/textures/T_Eyelashes_S_Sparse_Coverage.png',
|
|
156
|
+
hair: { ...DEFAULT_HAIR }, brows: { ...DEFAULT_BROWS },
|
|
157
|
+
msaa: !bloomOn, // alpha-to-coverage only on the direct MSAA canvas
|
|
158
|
+
},
|
|
159
|
+
life: { blink: true, saccades: true, breathing: true, lookAtCamera: true, maxHeadTurn: 0.55 },
|
|
160
|
+
});
|
|
161
|
+
const root = this.playerLoader.getSkinnedSkeletonRoot();
|
|
162
|
+
if (root) actor.adopt(root, root, this.playerLoader); // engine-driven locomotion
|
|
163
|
+
else { this.engine.getPlayerVisibility().hide(); await actor.load(); actor.attachToPlayer(this.player, this.playerLoader.getFeetOffsetY()); }
|
|
164
|
+
this.metaHuman = actor;
|
|
165
|
+
installMetaHumanLabHooks({ engine: this.engine, actor, playerLoader: this.playerLoader, player: this.player, cameraController: this.cameraController, playerController: this.playerController });
|
|
166
|
+
// in update(deltaTime):
|
|
167
|
+
this.metaHuman?.update(deltaTime, this.engine.getDefaultCamera().position);
|
|
168
|
+
\`\`\`
|
|
169
|
+
|
|
170
|
+
Facts the wiring leans on: the engine faces the player toward −Z (camera behind) — use
|
|
171
|
+
\`actor.getFacing()\` for face cameras and turn \`ThirdPersonCamera.setAutoFollow(false)\` off while one
|
|
172
|
+
is on; the export faces +Z so \`yawOffset\` is 0; the engine picks walk or run by speed
|
|
173
|
+
(\`walkToRunThreshold\`) and never rescales a clip, so anything that drives the character by script
|
|
174
|
+
(cinematics, NPC copies) must move at the clip's stride speed — \`characterConfig.runSpeed\` 2.4 m/s
|
|
175
|
+
here — or the feet slide.
|
|
176
|
+
|
|
177
|
+
## 4. The fixes, by symptom
|
|
178
|
+
|
|
179
|
+
Each is a method of \`MetaHumanActor\` or a preparation step; know which one you are looking at.
|
|
180
|
+
|
|
181
|
+
1. **Hair, brows or beard stay behind when the head turns** → the cards are unskinned →
|
|
182
|
+
\`attachCardsToHead\` re-parents every non-skinned mesh onto the \`head\` bone with \`Object3D.attach\`
|
|
183
|
+
at load, while the skeleton is at rest. Any new load path must keep it.
|
|
184
|
+
2. **Split legs, twisted forearms and hands** → bind captured from the face skin → preparation step 3.
|
|
185
|
+
3. **Arms 45° too low, crossed into the torso** → the engine's per-bone correction \`inv(B_src)·B_rig\`
|
|
186
|
+
assumes the rig binds in the clip's rest pose; MetaHumans bind in an A-pose, Mixamo rests in a
|
|
187
|
+
T-pose → \`patchArmRetarget\` rewrites the loader's cached \`skinnedRetargetDeltas\` with a virtual
|
|
188
|
+
T-pose per arm segment (thumbs forward). Check: upper-arm and forearm world directions equal the
|
|
189
|
+
Mixamo rig's, hands at x ≈ ±0.30 m beside the thighs (\`tools/metahuman/e2e/probes/arm-pose-check.js\`).
|
|
190
|
+
4. **Shirt tears at the armpits and shoulders** → pose-driven helper joints swing rigidly with the
|
|
191
|
+
limb → \`applyHelperJointPolicy\`: each helper family follows only a fraction of its parent's
|
|
192
|
+
rotation delta from bind (\`helperFollow\`, families shoulder / thigh / elbow / knee / twistCor /
|
|
193
|
+
muscle / clavicle / lat / wrist / ankle / finger; tuned by coordinate descent on the torn-edge
|
|
194
|
+
metric, \`tools/metahuman/e2e/probes/helper-follow-descent.js\`) — plus preparation steps 4–5.
|
|
195
|
+
5. **Skin shows through the garment** → the outfit's weights differ from the skin's under it →
|
|
196
|
+
preparation step 5 (smoothing alone made this WORSE; transfer fixed it).
|
|
197
|
+
6. **Skin is tinted / blotchy** → \`COLOR_0\`/\`COLOR_1\` are rig masks → every material gets
|
|
198
|
+
\`vertexColors = false\` (\`MetaHumanMaterials\`).
|
|
199
|
+
7. **Eyes are black** → the export's eye shell has UVs that are not eye-centred, so any occlusion
|
|
200
|
+
gradient blacks the eye out → the shell, lacrimal fluid and \`M_Hide\` are hidden
|
|
201
|
+
(\`eyeShellOcclusion: 0\`).
|
|
202
|
+
8. **Far-side hair shows through the skin over the ear** → the hair depth bias was too strong →
|
|
203
|
+
polygon offset factor −0.5 / units −1, not −4 / −16.
|
|
204
|
+
9. **Hair edges alias or halo** → alpha-to-coverage needs the direct MSAA canvas, which only exists
|
|
205
|
+
while bloom / post-FX are off → \`msaa: !bloomOn\`; with post-FX on, the cards use the blended fringe.
|
|
206
|
+
10. **Hair or helpers detached, only on slow machines** → rest data was read from bones that were
|
|
207
|
+
already animating → capture every rest quantity from the skins' inverse bind matrices and adopt
|
|
208
|
+
BEFORE awaiting the HDRI or atlases.
|
|
209
|
+
11. **Shoulders slump only while walking** → the animation library, not the rig → section 3's
|
|
210
|
+
Mixamo assets. Compare raw clip tracks across states (\`tools/metahuman/e2e/probes/clip-shoulder.js\`)
|
|
211
|
+
before touching rig code.
|
|
212
|
+
12. **Feet slide** when moved by script → speed below the clip's stride → section 3.
|
|
213
|
+
|
|
214
|
+
## 5. What the materials do
|
|
215
|
+
|
|
216
|
+
\`upgradeMetaHumanMaterials(root, options)\` classifies each material by name (\`classifyMaterial\`)
|
|
217
|
+
and replaces it in place — geometry untouched:
|
|
218
|
+
|
|
219
|
+
- **skin** (\`MI_Face_Skin_*\`, \`MI_Body_*\`): roughness floor and a wrap-lighting subsurface term in a
|
|
220
|
+
\`PhysicalLightingModel\` subclass (light through ears, nose, lips);
|
|
221
|
+
- **hair / brow cards**: the 4K atlas drives coverage (alpha-to-coverage or blended fringe clone),
|
|
222
|
+
root darkening, per-strand tint and roughness variance, a normal-based self-occlusion;
|
|
223
|
+
\`DEFAULT_HAIR\` / \`DEFAULT_BROWS\` are the dials (colour, anisotropy, blend mode);
|
|
224
|
+
- **lashes**: the 2K coverage mask, alpha-blended;
|
|
225
|
+
- **eyes**: wet cornea (near-mirror roughness + clearcoat);
|
|
226
|
+
- **hidden**: \`M_Hide\`, lacrimal, eye edge, saliva, the eye shell.
|
|
227
|
+
|
|
228
|
+
Typing note for edits: \`@types/three\` types TSL nodes as \`Node<'vec3'>\` etc. while the engine's
|
|
229
|
+
lighting-model inputs are bare \`Node\` — cast; and \`three\` resolves to the WebGPU build.
|
|
230
|
+
|
|
231
|
+
## 6. Life and speech
|
|
232
|
+
|
|
233
|
+
- \`life\` options blink, saccade, breathe and turn the head toward the camera as deltas on top of the
|
|
234
|
+
animated pose (rest-frame world-axis rotations). \`setSpeechEnergy\` adds brow lift and nods.
|
|
235
|
+
- **Lip-sync**: \`MetaHumanSpeech\` maps Rhubarb-style mouth shapes (A closed, B teeth, C open, D wide,
|
|
236
|
+
E rounded, F puckered, G F/V, H L, X rest) to ARKit weights with 60 ms co-articulation, jaw scaled
|
|
237
|
+
by loudness, amplitude-driven jaw when a line has no cues. Lines live in \`assets/speech/lines.json\`
|
|
238
|
+
(\`MetaHumanSpeech.loadLines\`), \`speak(line)\` plays one, \`update(dt)\` every frame,
|
|
239
|
+
\`actor.setSpeechEnergy(speech.getEnergy())\` for the accents.
|
|
240
|
+
- **Making a line**: \`tools/lipsync/make_line.py <id> "<transcript>" --audio <tts.mp3>\` — PocketSphinx
|
|
241
|
+
forced alignment in a venv (\`python3 -m venv tools/lipsync/.venv && tools/lipsync/.venv/bin/pip
|
|
242
|
+
install pocketsphinx\`), unknown words via its \`EXTRA_WORDS\` table. Make the audio with
|
|
243
|
+
\`bitmagic generate speech --text "<the line>" --voice <voice> --out <line>.mp3 --no-world\` —
|
|
244
|
+
\`--no-world\` because a lip-sync line is an input to this tool, not a world.json asset the game
|
|
245
|
+
plays on its own, and \`--out\` writes the MP3 \`make_line.py --audio\` expects. Any provider's file
|
|
246
|
+
works too. macOS \`say\` is a placeholder the creator will hear immediately; never ship it. For an
|
|
247
|
+
exact pause between sentences generate them separately and join with silence.
|
|
248
|
+
- **Under the frame recorder** (\`bitmagic trailer record\`) the game runs slower than real time:
|
|
249
|
+
\`speech.setClockDriven(true)\` advances the cues on the engine delta, log a \`speech-start\` game
|
|
250
|
+
event when the cue clock starts, and mux the audio afterwards at that frame.
|
|
251
|
+
|
|
252
|
+
## 7. Verify with numbers, not thumbnails
|
|
253
|
+
|
|
254
|
+
Thumbnails hid crossed arms, detached hair and a "fix" whose before/after frames were identical.
|
|
255
|
+
Crop and zoom the contact region, and cross-check one measured quantity. The rigs drive the GAME
|
|
256
|
+
page (the game port in \`.bitmagic/dev.json\`, one below the dev shell's) through the system Chrome;
|
|
257
|
+
\`npm install\` in \`tools/metahuman/\` once:
|
|
258
|
+
|
|
259
|
+
- \`node tools/metahuman/e2e/shot.mjs <port>\` — stills: wide, front, face, three-quarter, profile,
|
|
260
|
+
hair, eye macro, life on, head-turn; asserts the hair↔head distance is unchanged across a turn and
|
|
261
|
+
that holding W moves the player;
|
|
262
|
+
- \`node tools/metahuman/e2e/eval.mjs tools/metahuman/e2e/probes/<probe>.js <port>\` with
|
|
263
|
+
\`arm-pose-check.js\`, \`bone-displacement.js\`, \`shirt-edge-stretch.js\`, \`shirt-long-edges.js\`,
|
|
264
|
+
\`outfit-bad-vertices.js\`, \`shirt-bone-ownership.js\`, \`helper-follow-sweep.js\`,
|
|
265
|
+
\`helper-follow-descent.js\`, \`helper-joints-inspect.js\`, \`clip-shoulder.js\`, \`grafted-bones.js\`,
|
|
266
|
+
\`outfit-own-skeleton.js\`, \`outfit-body-material.js\`;
|
|
267
|
+
- \`node tools/metahuman/e2e/walk-probe.mjs <port>\` — walks for a few seconds and prints idle-vs-walk
|
|
268
|
+
statistics (\`walk-sampler.js\`: bone heights, skin-under-shirt penetration, clip shoulders);
|
|
269
|
+
- in the page: \`__lab.retargetInfo()\` and \`__lab.boneMap()\` dump the engine's pose map, bind
|
|
270
|
+
corrections and name resolution (52 bones should be corrected);
|
|
271
|
+
- \`bitmagic verify\` last — it boots the real browser and reports the backend and fps.
|
|
272
|
+
|
|
273
|
+
## 8. Ship it
|
|
274
|
+
|
|
275
|
+
Every \`/assets/...\` URL the game fetches works only under \`bitmagic dev\` and 404s in a published
|
|
276
|
+
bundle: register the GLB with \`bitmagic assets add assets/metahuman/<name>/<name>.glb --keep-glb\`
|
|
277
|
+
and point \`characterUrl\` at the returned URL; do the same for the atlases, the lash mask, the HDRI
|
|
278
|
+
and the speech files, or inline them. This is the one step written from the CLI's rules rather
|
|
279
|
+
than from having done it — the lab game was never published.
|
|
280
|
+
|
|
281
|
+
## 9. Engine internals this depends on (re-check after \`bitmagic upgrade\`)
|
|
282
|
+
|
|
283
|
+
Written against engine 3.1173: \`PlayerLoader.getSkinnedSkeletonRoot()\`, \`CharacterLoader\`'s alias
|
|
284
|
+
map (resolves UE / Manny bone names) and its private \`skinnedRetargetDeltas\` / \`skinnedBind\` that
|
|
285
|
+
\`patchArmRetarget\` rewrites, \`engine.getPlayerVisibility()\`, the \`generated\` animation library. After
|
|
286
|
+
an upgrade run the probes in section 7 before trusting a screenshot.
|
|
287
|
+
|
|
288
|
+
## Known gaps
|
|
289
|
+
|
|
290
|
+
Shoulder / armpit fidelity (the RBF pose drivers are not in the export — real emulation or a
|
|
291
|
+
re-skin of the garment to the primary bones would fix it), scalp visible under thin hair cards, no
|
|
292
|
+
eye-socket occlusion, fingers keep the A-pose curl under Mixamo hand poses, the WebGL path is plain
|
|
293
|
+
PBR.
|
|
294
|
+
|
|
295
|
+
## Checklist
|
|
296
|
+
|
|
297
|
+
- [ ] export fetched, licence recorded in \`assets/LICENSES.md\`
|
|
298
|
+
- [ ] \`bitmagic tools install metahuman\`; \`tools/metahuman/prepare.sh\` ran clean: body mesh first, one skeleton, garment weights done
|
|
299
|
+
- [ ] atlases + lash mask copied; \`characterUrl\` + \`useHighResCharacter\` + Mixamo animation assets in world.json
|
|
300
|
+
- [ ] actor adopted BEFORE slow loads; hooks installed; \`actor.update\` every frame
|
|
301
|
+
- [ ] \`bitmagic check\`; shots + probes: hair follows the head, arms level with the Mixamo rig, ≈300 torn edges, no skin through the shirt
|
|
302
|
+
- [ ] \`bitmagic verify\` on WebGPU; speech line from a real TTS voice
|
|
303
|
+
- [ ] before publish: every \`/assets/...\` URL registered with \`bitmagic assets add\`
|
|
304
|
+
`;
|
|
305
|
+
}
|
|
306
|
+
//# sourceMappingURL=metahuman-skill-files.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metahuman-skill-files.js","sourceRoot":"","sources":["../../src/scaffold/metahuman-skill-files.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,MAAM,UAAU,oBAAoB;IAClC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0RR,CAAC;AACF,CAAC"}
|
|
@@ -813,9 +813,9 @@ If you are unsure whether one is already running, \`bitmagic reload\` says so an
|
|
|
813
813
|
they stay current with it. Every one is plain markdown at
|
|
814
814
|
\`${PRIMARY_SKILLS_DIR}/<name>/SKILL.md\`, readable whether or not your harness loads skills by
|
|
815
815
|
itself: \`planning-a-game/\` (what to build first), \`finding-engine-apis/\` (engine docs),
|
|
816
|
-
\`generating-assets/\`, \`choosing-asset-pipelines/\`, \`working-with-the-creator/\`,
|
|
817
|
-
\`
|
|
818
|
-
\`
|
|
816
|
+
\`generating-assets/\`, \`choosing-asset-pipelines/\`, \`working-with-the-creator/\`, \`theming-the-hud/\`,
|
|
817
|
+
\`publishing-a-game/\`, \`judging-quality/\`, \`checking-usage/\`, \`making-a-trailer/\`,
|
|
818
|
+
\`converting-unity-levels/\`, \`building-levels-in-blender/\`, \`importing-metahumans/\`.${mirrorClause}
|
|
819
819
|
\`upgrade\` rewrites every copy, so edits to them are lost; skills you add yourself are never
|
|
820
820
|
touched.
|
|
821
821
|
- \`.claude/settings.json\` — **Claude Code only, and yours**: seeded with one Stop hook that runs
|
|
@@ -1104,7 +1104,7 @@ Three lanes make a 3D object, and the wrong one wastes a generation: \`generate
|
|
|
1104
1104
|
asset, \`generate prop --asset <id>\` UPGRADES a placeholder, \`assets add <file>\` uploads your own.
|
|
1105
1105
|
Splats, video and \`.vox\`/\`.fbx\` still need the web editor; never reference an asset you did not
|
|
1106
1106
|
make. Which lane fits which NEED — rough sparks and minutes, and when to ask first — is
|
|
1107
|
-
\`${PRIMARY_SKILLS_DIR}/choosing-asset-pipelines/SKILL.md\`; flags, reference-image rules and refusals, \`${PRIMARY_SKILLS_DIR}/generating-assets/SKILL.md\`. For local Blender rigging and repairs, read \`${PRIMARY_SKILLS_DIR}/rigging-characters/SKILL.md\`.
|
|
1107
|
+
\`${PRIMARY_SKILLS_DIR}/choosing-asset-pipelines/SKILL.md\`; flags, reference-image rules and refusals, \`${PRIMARY_SKILLS_DIR}/generating-assets/SKILL.md\`. For local Blender rigging and repairs, read \`${PRIMARY_SKILLS_DIR}/rigging-characters/SKILL.md\`. For vision-led exposed-skin maps and material review, read \`${PRIMARY_SKILLS_DIR}/character-skin-authoring/SKILL.md\`.
|
|
1108
1108
|
|
|
1109
1109
|
## Forging a whole level
|
|
1110
1110
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-files.js","sourceRoot":"","sources":["../../src/scaffold/project-files.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"project-files.js","sourceRoot":"","sources":["../../src/scaffold/project-files.ts"],"names":[],"mappings":"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"}
|
package/dist/scaffold/project.js
CHANGED
|
@@ -5,10 +5,12 @@ import { aliasSourceDir } from './aliases.js';
|
|
|
5
5
|
import { renderPackageJson, renderTsconfig, renderIndexHtml, renderViteConfig, renderVitePublishConfig, renderVitePublishStandaloneConfig, renderGitignore, renderBitmagicJson, renderAgentsMd, renderGameDesignMd, renderClaudeMd, renderJudgeSkill, renderThemingSkill, renderGenerateSkill, renderPlanningSkill, renderEngineApiSkill, renderUsageSkill, } from './project-files.js';
|
|
6
6
|
import { renderCreatorCollaborationSkill, renderPublishingSkill, renderKiroSteering, renderSkillsReadme, renderTrailerSkill, renderTrailerCraftReference, } from './skill-files.js';
|
|
7
7
|
import { renderAssetPipelinesSkill } from './asset-pipeline-skill-files.js';
|
|
8
|
+
import { renderMetaHumanSkill } from './metahuman-skill-files.js';
|
|
8
9
|
import { renderUnityLevelsSkill, renderUnityLevelsTrapsReference, renderUnityLevelsFbxReference, renderUnityLevelsPhysicsReference, renderUnityLevelsVerificationReference, } from './unity-skill-files.js';
|
|
9
10
|
import { renderBlenderLevelsSkill, renderBlenderConventionsReference, renderBlenderAuditsReference, renderBlenderPassesReference, renderBlenderEngineHandoffReference, } from './blender-level-skill-files.js';
|
|
10
11
|
import { ALWAYS_AGENTS, dedupeAgents, skillDirsFor } from './agent-targets.js';
|
|
11
12
|
import { CHARACTER_RIGGING_SKILLS } from './character-rigging-skill-files.js';
|
|
13
|
+
import { CHARACTER_SKIN_SKILLS } from './character-skin-skill-files.js';
|
|
12
14
|
import { hashAgentsMd } from './agents-md.js';
|
|
13
15
|
import { CLAUDE_SETTINGS_FILE, renderClaudeSettings } from './claude-settings.js';
|
|
14
16
|
/**
|
|
@@ -164,6 +166,7 @@ export function writeProjectFile(root, relativePath, contents) {
|
|
|
164
166
|
*/
|
|
165
167
|
export const SHIPPED_SKILLS = [
|
|
166
168
|
...CHARACTER_RIGGING_SKILLS,
|
|
169
|
+
...CHARACTER_SKIN_SKILLS,
|
|
167
170
|
['README.md', renderSkillsReadme],
|
|
168
171
|
['generating-assets/SKILL.md', renderGenerateSkill],
|
|
169
172
|
['choosing-asset-pipelines/SKILL.md', renderAssetPipelinesSkill],
|
|
@@ -186,6 +189,7 @@ export const SHIPPED_SKILLS = [
|
|
|
186
189
|
['building-levels-in-blender/references/audits-and-review.md', renderBlenderAuditsReference],
|
|
187
190
|
['building-levels-in-blender/references/level-design-passes.md', renderBlenderPassesReference],
|
|
188
191
|
['building-levels-in-blender/references/engine-handoff.md', renderBlenderEngineHandoffReference],
|
|
192
|
+
['importing-metahumans/SKILL.md', renderMetaHumanSkill],
|
|
189
193
|
];
|
|
190
194
|
/**
|
|
191
195
|
* Files a particular agent needs that are not skills, written only for a project that named it.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/scaffold/project.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/scaffold/project.ts"],"names":[],"mappings":"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"}
|
|
@@ -88,7 +88,7 @@ ${alsoWritten}
|
|
|
88
88
|
\`planning-a-game/\`, \`finding-engine-apis/\`, \`generating-assets/\`, \`choosing-asset-pipelines/\`,
|
|
89
89
|
\`checking-usage/\`, \`judging-quality/\`, \`theming-the-hud/\`, \`making-a-trailer/\`,
|
|
90
90
|
\`publishing-a-game/\`, \`working-with-the-creator/\`, \`converting-unity-levels/\`,
|
|
91
|
-
\`building-levels-in-blender/\`, \`rigging-characters/\` — and this README — are shipped by the Bitmagic CLI and **re-rendered by \`bitmagic upgrade\`**. They
|
|
91
|
+
\`building-levels-in-blender/\`, \`rigging-characters/\`, \`character-skin-authoring/\`, \`importing-metahumans/\` — and this README — are shipped by the Bitmagic CLI and **re-rendered by \`bitmagic upgrade\`**. They
|
|
92
92
|
describe what the CLI and the engine can do, so they have to stay current with both; edits to them
|
|
93
93
|
are lost on the next upgrade.
|
|
94
94
|
|
|
@@ -97,6 +97,7 @@ are lost on the next upgrade.
|
|
|
97
97
|
| \`planning-a-game/\` | starting a game, a genre, or anything touching more than one gameplay feature — scoping the first playable slice and writing \`mechanics-plan.md\` |
|
|
98
98
|
| \`finding-engine-apis/\` | you need an engine API and do not know its name or signature, or \`bitmagic check\` cannot resolve a symbol |
|
|
99
99
|
| \`rigging-characters/\` | rigging or repairing a character in local Blender, including skin weights, fingers and optional appendages |
|
|
100
|
+
| \`character-skin-authoring/\` | mapping exposed skin on a generated or imported character with local-agent vision, reviewing face and body detail, or diagnosing skin material boundaries before optical eye work |
|
|
100
101
|
| \`generating-assets/\` | the game needs a skybox, a background, a custom block type, sound, music, image, character, animation or vehicle |
|
|
101
102
|
| \`choosing-asset-pipelines/\` | deciding HOW to make something — which command, skill, file or free built-in fits a level, character, prop, vehicle, weapon, sky, block, image, animation, audio or cutscene need, roughly what it costs in sparks and minutes, and when to ask the creator before an expensive one |
|
|
102
103
|
| \`checking-usage/\` | asked what sparks were spent on, how much Pro allowance is left, or whether there is enough left to keep generating |
|
|
@@ -107,6 +108,7 @@ are lost on the next upgrade.
|
|
|
107
108
|
| \`working-with-the-creator/\` | they are editing alongside you — gizmo drags into \`world.json\`, a pasted frame from their game, \`.bitmagic/edit/events.jsonl\`, their phone |
|
|
108
109
|
| \`converting-unity-levels/\` | a creator wants a Unity scene or game ported, replicated or "brought over" — reusing its prefabs, FBX models and colliders — or a converted level has pieces rotated, mis-scaled, walls that do not collide, an empty corner |
|
|
109
110
|
| \`building-levels-in-blender/\` | a hand-designed low-poly world — an interior, a station, a stylised set, "not voxels", "in Blender" — built from a Python script into one GLB the engine's MeshLevel loads, and the \`artStyle: "low-poly"\` switch in game.json that makes the cover, asset and judge defaults follow; or such a level has walls you fall through, doors that do not open, z-fighting, an empty world after publish. Its first section says when the path is yours |
|
|
111
|
+
| \`importing-metahumans/\` | a creator wants an Epic MetaHuman, an Unreal character, a "photoreal" or "highest fidelity" character brought in as the playable high-res player — the GLB preparation (\`bitmagic tools install metahuman\`), the retarget / helper-joint / hair fixes, materials, lip-sync — or such a character has floating hair, crossed arms, split legs, a torn shirt, tinted skin, black eyes, slumped shoulders |
|
|
110
112
|
|
|
111
113
|
Every other directory here is yours. \`upgrade\` never opens a skill it does not ship, and never
|
|
112
114
|
deletes anything under a skills directory. Put project-specific guidance in a skill of your own, or
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-files.js","sourceRoot":"","sources":["../../src/scaffold/skill-files.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAGvD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO;;;;;;;;;;;;;;;;;;CAkBR,CAAC;AACF,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,EAAE,SAAS,EAAE,SAAS,EAAsB;IAC7E,2FAA2F;IAC3F,6EAA6E;IAC7E,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC;IAC7F,6FAA6F;IAC7F,0EAA0E;IAC1E,MAAM,WAAW,GACf,QAAQ,CAAC,MAAM,KAAK,CAAC;QACnB,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,8FAA8F;YAC9F,mEAAmE;YACnE,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YAC5C,iFAAiF,CAAC;IAExF,OAAO;;sBAEa,SAAS,SAAS,iBAAiB,CAAC,SAAS,CAAC;;;EAGlE,WAAW
|
|
1
|
+
{"version":3,"file":"skill-files.js","sourceRoot":"","sources":["../../src/scaffold/skill-files.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAGvD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO;;;;;;;;;;;;;;;;;;CAkBR,CAAC;AACF,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,EAAE,SAAS,EAAE,SAAS,EAAsB;IAC7E,2FAA2F;IAC3F,6EAA6E;IAC7E,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC;IAC7F,6FAA6F;IAC7F,0EAA0E;IAC1E,MAAM,WAAW,GACf,QAAQ,CAAC,MAAM,KAAK,CAAC;QACnB,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,8FAA8F;YAC9F,mEAAmE;YACnE,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YAC5C,iFAAiF,CAAC;IAExF,OAAO;;sBAEa,SAAS,SAAS,iBAAiB,CAAC,SAAS,CAAC;;;EAGlE,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BZ,CAAC;AACF,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6JR,CAAC;AACF,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,2BAA2B;IACzC,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,sCAAsC,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/F,OAAO,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAC1C,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,qBAAqB;IACnC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+HR,CAAC;AACF,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,+BAA+B;IAC7C,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkER,CAAC;AACF,CAAC"}
|
package/dist/tools/bundles.js
CHANGED
|
@@ -28,6 +28,14 @@ export const TOOL_BUNDLES = [
|
|
|
28
28
|
extensions: ['.py', '.json'],
|
|
29
29
|
skill: 'converting-unity-levels',
|
|
30
30
|
},
|
|
31
|
+
{
|
|
32
|
+
// Lands at the project ROOT: the bundle mirrors the project layout (src/work/metahuman/ for the
|
|
33
|
+
// runtime module, tools/metahuman/ for the GLB scripts and the rig, tools/lipsync/ for lip-sync).
|
|
34
|
+
name: 'metahuman',
|
|
35
|
+
target: '.',
|
|
36
|
+
extensions: null,
|
|
37
|
+
skill: 'importing-metahumans',
|
|
38
|
+
},
|
|
31
39
|
];
|
|
32
40
|
/** `assets/` of this package, from both `dist/tools/` and `src/tools/`. */
|
|
33
41
|
export function packageAssetsDir() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundles.js","sourceRoot":"","sources":["../../src/tools/bundles.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bundles.js","sourceRoot":"","sources":["../../src/tools/bundles.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bitmagic/cli",
|
|
3
|
-
"version": "0.1.66-dev.
|
|
3
|
+
"version": "0.1.66-dev.7",
|
|
4
4
|
"description": "Build Bitmagic games from your own agent tool",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
6
6
|
"author": "Bitmagic Oy",
|
|
@@ -25,9 +25,9 @@
|
|
|
25
25
|
"playwright-core": "^1.59.1",
|
|
26
26
|
"tar": "^7.4.3",
|
|
27
27
|
"ws": "^8.21.3",
|
|
28
|
-
"@bitmagic/animation-forger": "0.1.21-dev.
|
|
29
|
-
"@bitmagic/asset-core": "0.2.21-dev.
|
|
30
|
-
"@bitmagic/world-forger": "0.1.26-dev.
|
|
28
|
+
"@bitmagic/animation-forger": "0.1.21-dev.7",
|
|
29
|
+
"@bitmagic/asset-core": "0.2.21-dev.7",
|
|
30
|
+
"@bitmagic/world-forger": "0.1.26-dev.7"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
33
33
|
"@eslint/js": "^9.38.0",
|