No characters yet. Load a .glb/.fbx below, or restore a saved scene with 📂 Open Project in the header.
1. Load Character (replaces the active character)
1b. Auto-Skin (from a Source Rig)
When Mixamo fails — transfer a rigged character's skeleton onto an unrigged target.
No source rig loaded yet.
2. Skeleton Points
Click each bone in order, then click that spot on the character.
WingUnity Rigger
Start by loading your .glb or .fbx file from the top left.
1. Load
2. Skeleton
3. Bake
4. Test
5. Save
—·— frame —
🎭 Character Properties
Position, scale and visibility of the active character in the scene.
0.00
0.00
0.00
1.00x
0°
🔗 Parent (puppet follow) — attach this character to another one
When the parent character or bone moves, this character follows. Cycles (circular chains) are rejected.
💡 Light — extra highlight for this character (on top of the scene lights)
Each character can carry its own spot light. The scene-level ambient/key/fill lights stay fixed.
1.5
29°
Offset from the character (relative to its center):
⚡ Pre-rigged Pose & Animate
This model is already rigged — pose and animate it right away.
Select Bone — Ctrl/Cmd+click for multiple
X:0°Y:0°Z:0°
⚠ Experimental
The tools below are not polished yet and may not work consistently on every character. Test the result before saving.
📐 Global Skeleton Adjust — after Auto-Skin only
X+0.000Y+0.000Z+0.000×1.00
Moves/scales the whole skeleton. While you drag a slider the mesh deforms slightly (the weights still come from the old position). When you are done, press "🔄 Re-bind" → the mesh is fitted to the new skeleton.
🛠 Joint Edit — for height/proportion differences
P-X0.000P-Y0.000P-Z0.000
With a bone selected, P-X/Y/Z is the bone's local position relative to its parent. While "Joint Edit" is ON you can drag the joint dots. When you are done, "Re-bind" fits the mesh to the new skeleton.
🎨 Mask — hide mesh artifacts
Click → removes the triangles inside the ring (drag = keep removing). Small ring = few faces, large ring = wide area. Touched the body by mistake? Bring that small area back with Erase.
Brush20 px
3. Skinning (Skeleton → Mesh)
Once all points are placed, bind the bones to the mesh.
4. Test Poses
Once the skeleton is baked, try some poses.
📽 Animation Library
— load ready-made clips onto the timeline
Multi-frame clips compiled from Mixamo (Idle Loop, Walk Cycle, etc.). Character-agnostic: T-Pose, A-Pose or a custom bind pose all work. Loading a clip writes keyframes to the timeline.
Manual Bone Control
After baking: pick a bone below (Ctrl/Cmd+click to select several). The sliders apply to every selected bone.
X:0°Y:0°Z:0°
View
Rotate Model — +90° (Shift = -90°)
Character Position
X:0.00Y:0.00Z:0.00
⤢1.00x
🎥 Camera & Light
Camera Angle
FOV45°
Light
Int1.00xDir45°
🖼 Background
No background yet.
Aspect locks the canvas to the chosen ratio (WebM export uses it). Match canvas to BG → the canvas takes the exact ratio of the background image, with no cropping or bars. Fit cover = crops to fill, stretch = stretches to the ratio.
🎨 Texture (Transfer from Reference)
If a Mixamo-rigged FBX lost its texture, point to the original textured GLB as a reference — the texture is copied from it (Mixamo usually keeps the UVs).
No reference yet.
If the texture looks stretched or odd, the reference and the current mesh have different vertices/UVs (Mixamo sometimes decimates the mesh). Use Undo to revert, or reload the page for a full reset.
Keyboard:
Ctrl+Z (Mac: Cmd+Z): Undo the last point
Multi-select (after baking):
In manual control, Ctrl/Cmd+click to select more than one bone. The sliders apply to all selected bones at once.
Tip: Hover a bone in the list and a ✕ button appears next to it — you can remove just that point.
For more detailed help, use the ❓ Help button in the header.
Visibility Window — when it is visible in scene time
Animation
/
Timeline — orange dot = keyframe · green line = scrubber
Scene Activity — click → make active
Export
Save / Load
📂 Project loaded — missing files
Drag and drop these .glb/.fbx files onto the canvas — they are matched automatically:
❓ WingU Rigger — Help
📖 Workflow
Load a character — left panel "1. Load Character" → choose a .glb / .gltf / .fbx (drag and drop works too).
If it is already rigged (Mixamo, etc.) → the tool switches to Pre-rigged mode automatically; go straight to posing / animation / export.
If it is unrigged there are two ways:
Auto-Skin (1b) — load a source rig (.glb/.fbx), press "🦴 Apply" → a 17/41-bone skeleton is transferred and the tool switches to pre-rigged mode.
Manual rig (2-3) — place the 17 points by clicking → "Bake" → bone-distance proximity weighting is baked in.
Test → try the presets on the right (T-Pose, Wave, Sit, Jump, Sad, Happy) or rotate bones with the manual controls.
Animate → pick a frame + "Keyframe" → then a new pose at another frame + Keyframe → "▶ Play" / "WebM Export".
Save → "💾 Save as .glb" (rigged + pose-baked) or "📤 OBJ" (T-pose mesh, for Mixamo auto-rig).
🖱 Mouse
Left-click + drag (empty area): rotate the camera
Right-click + drag: pan the camera
Wheel: zoom in/out
Grab & drag a joint dot (pre-rigged): the parent bone rotates — the sliders sync automatically
Click the mesh (pre-rigged): the nearest bone is selected
Left-click + Ctrl/Cmd (in the manual rig list): select several bones → the sliders apply to all of them
⌨ Keyboard
Ctrl/Cmd + Z — undo
Ctrl/Cmd + Y (or Ctrl+Shift+Z) — redo
K — add / update a keyframe (at the current frame)
Ctrl/Cmd + V — paste the copied keyframe at the current frame
Right-click (on a timeline keyframe dot) — Copy / Paste / Delete menu
Esc — close this dialog
🦴 Auto-Skin (from a Source Rig)
If Mixamo says "unable to map", or for a winged/atypical character: load a rigged character (such as rig.glb or wingu-rigged.fbx) as the source, then press "🦴 Apply" on the unrigged target. The source skeleton is scaled + floor-aligned to the target's size, rotated Y-90° automatically if needed, and each vertex is bound to its top-4 nearest bones with inverse-distance² weights.
🛠 Joint Edit
If the bones do not sit quite right after Auto-Skin: in the pre-rigged panel turn "🛠 Joint Edit" ON → the joint dots turn blue → grab & drag = the bone is MOVED (instead of rotated). When you are done, press "🔄 Re-bind" → the mesh is re-skinned to the new positions.
📤 Save / Load Pose
In the animation panel, "📤 Pose" (Save Pose) downloads the current frame's pose as a small .pose.json file. "📥 Load" (Load Pose) applies a previously saved pose to the current frame as a keyframe. Use it to reuse a pose across projects / animations for the same character (same bone names). If the character is different, non-matching bones are skipped and you get a warning.
💡 Tips
In the manual rig list, hover a bone and a ✕ appears next to it — you can remove just that point.
The status bar in the bottom-right corner shows the current mode, selected bone, frame and fps.
Before an OBJ export: above 75K vertices Mixamo may reject the mesh; above 500K the browser's string limit kicks in (Blender Decimate is recommended).
If you load the same file again, you are offered a restore of the earlier autosave.