🎮 Game

Humanoid Retargeter is a library that imports animation data from many formats, maps humanoid rigs, solves retargeted motion, runs cleanup passes like foot planting and root motion, and exports clips and model data for s&box. It is built from a large C# core with importers for FBX, glTF/VRM, BVH, ANT, RenderWare and MMD, a geometric and DL-based solver, Bullet physics ports for MMD baking, DMX/FBX/KV3 writers, and editor/runtime components for MMD playback.

🔧 Editor

An editor toolset for importing, retargeting, validating and exporting humanoid animations and models for s&box. It ships a full editor workflow with windows for mapping, preview, trimming and smart-porting between models, plus headless gates that compile assets and validate animation playback. Under the hood it has local file importers for FBX/glTF/MMD, embedded Valve Resource Format readers/writers, LZ4/Zstd and meshoptimizer decoders, and lots of editor-only reflection to drive and verify UI and assets.

🧪 Unit Test

A large unit test suite for the Humanoid Retargeter library that validates importers, solvers, mapping, VMDL/KV3 writing, and SmartPort editor-side workflows. Tests construct synthetic BVH/FBX/GLTF/MMD data and load real fixtures from disk, then run conversion, cleanup passes, IK, graph merging and editor play-mode checks, asserting numeric tolerances and metadata integrity. Several editor-only tests run via reflection to call internal creation methods and write JSON or screenshots to the project root.

🐞 Possible Bugs

Code/HumanoidRetargeter/Core/Formats/Mmd/Bullet/BulletCollision/BroadphasePair.cs
CompareTo never returns 0 for equal pairs, so ordering is inconsistent with Equals and breaks IComparable contract in sorted collections.
Editor/Embedded/Datamodel/Array.cs
Casting to IList and using the object indexer throws NotImplementedException because IList.this[int] getter and setter are unimplemented.
IList.Add returns Count after insertion instead of the index of the added item, so it returns one past the last element.