3ba86b2ea8
Bulk import of the working lanes that were living untracked on the PC. Content: - characters/ Lena/male body lanes, bakes, texture work, run logs - clothing/ garment pipeline, configs, gates, contract docs - garments/ MD-authored garment sources (.zprj/.zpac) - UAL-Lib/ Universal Animation Library 2 source (.blend/.fbx/.glb) - tools/ blender_bridge, iclone_bridge, md_bridge, tailor, glm_agent - docs/, plans/, dev/, .agents/plans/ Repo hygiene: - .gitattributes: LFS now covers .blend, .zprj, .zpac, .obj, .npy and the Reallusion .iAvatar/.ccAvatar/.ccRestore containers. Without this the ~3.8 GB in this commit would land as raw blobs. .png/.jpg are left out on purpose — ~250 are already tracked raw and converting them would rewrite every one without shrinking history. - .gitignore: exclude /accurig/ (~1 GB AccuRig program files, redistributable from Reallusion, nothing authored here) and /dev/null/ (git-lfs hook copies dropped by a `>/dev/null` redirect on Windows). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
4.9 KiB
4.9 KiB
Handoff: UAL animation library → iClone (2026-07-28 morning)
Goal
Get all ~134 Universal Animation Library (Kevin Iglesias) clips into iClone as reusable motions on a character, so they can be layered/blended into new animations.
▶ FIRST THING TO DO (5 min, everything is staged)
Import this file into iClone via the motion import flow (select Lena or any avatar first):
C:\Users\Jeremy\tinqs\animation\UAL-Lib\Universal Animation Library 2[Source]\Unity\UAL2_takes_fixed.fbx
Dialog settings:
- Character profile: browse to
A:\Program Files (x86)\iClone 8\Program\Assets\Share\CharaterizeProfiles\UE4_Skeleton.3dxProfile(folder name really is "CharaterizeProfiles" — Reallusion typo) - Motion T-Pose: leave EMPTY. If iClone refuses without one, use
...\Universal Animation Library 2[Source]\Female Mannequin\Unity\Mannequin_F.fbx(verified: identical 66-bone skeleton to UAL2) - Auto gen to perform list: checked
- Keep root motion: default (RL_BoneRoot n/a here — source root is
root) - Select ONLY this one file (multi-selecting mixed-skeleton files causes the "same bone structure" error)
Then check: character upright? → right-click avatar → Perform (or Animation Player → Motion dropdown → Perform → Perform List Editor). Expect up to 134 takes listed.
Why this should work now (last night's chain of fixes)
- Original vendor FBX imports upright (user-verified as prop; measured upright via bridge). All Blender re-exports lie down — never route UAL through Blender for iClone.
- "No applicable character profile" → fixed: iClone ships
UE4_Skeleton.3dxProfile, exact match for UAL bone names (pelvis/spine_01–03/neck_01/clavicle_l/ball_l...). - "Not compatible with profile T-pose" → cause:
CC_Base_TPose.fbx(a CC-skeleton leftover from dead experiments) was in the Motion T-Pose field. Wrong skeleton. Leave field empty / use Mannequin_F.fbx. - "Failed to save motion file" ×134 → ROOT CAUSE FOUND: every take is named
Armature|Bow_Shoot— the|is illegal in iClone motion names & Windows filenames. The error dialog listing UAL2.fbx 134 times proves iClone DOES enumerate all takes. → Fixed by byte-safe patch (|→_, same length, structure untouched): UAL2_takes_fixed.fbx (134 takes verified, names nowArmature_Bow_Shootetc.)
If the import succeeds
- Do the same for library 1: patch takes the same way
(
UAL-Lib\Universal Animation Library[Pro]\Unity\UAL1.fbx→UAL1_takes_fixed.fbx). One-liner pattern lives in this chat; simplest: ask Claude to "patch UAL1 take names like UAL2". - Save the converted motions into a custom motion library folder so they persist
(drag from Perform list / save as .rlMotion into
A:\Reallusion Content\Reallusion Custom\Animation\Motion\). - Optional:
_RMvariants of both files carry root-motion versions of the same clips.
If it fails again
Note the EXACT error text + which file was in each dialog slot, then resume with Claude. Fallback order: (a) Motion T-Pose = Mannequin_F.fbx; (b) import a handful of takes at a time; (c) split the patched FBX into single-take files WITHOUT Blender rig changes.
Dead ends — do NOT retry (all disproven with measurements, see memory)
- Blender-retargeted CC_Base FBX into iClone (characterizer always lays it down; rotations/axis flags/T-pose/root-motion settings all disproven).
RFileIO.ConvertFbxFileToRLMotionon any Blender-built FBX (needs native fbxKey).RFileIO.LoadFbxFilevia bridge for characters (pops a modal that freezes iClone AND the bridge until manually dismissed).- Direct bone-keying via bridge (48/55 bones OK, but legs+hip are HIK/IK-locked, no API toggle → full-body clips come out leg-broken).
Useful assets/tools produced
UAL2_takes_fixed.fbx— the deliverable input file (134 legal take names).- Bridge:
python tools/iclone_bridge.py --ping|--exec|--file(iClone must be running). - Bone-orientation measurement snippet (paste-ready): read
CC_Base_HeadminusCC_Base_Hipworld positions via bridge; up should be +Z. - Scratchpad (this session) has:
ual_to_cc.py(Blender UE→CC retargeter — works for Blender/GLB targets, NOT for iClone import), calibration data for iClone's per-bone Euler FK API (order XYZ right-to-left),dummy_cc_base.fbx(CC_Base skeleton export). - Old CC experiments quarantined in
A:\Reallusion Content\Reallusion Custom\Animation\Motion\Tests\old_cc_experiments\— safe to delete once the new route works.
Context worth remembering
- UAL clips are on the UE4-mannequin skeleton; the whole library lives as 134 takes inside ONE FBX (Unity folders). GLB equivalents (Unreal-Godot folders) already have all 134 clips separated — the GAME pipeline can consume those directly without iClone.
- iClone is only needed for AUTHORING new motions from these clips; for pure playback in ariki-game, the GLBs are already usable.