Novolis.Simulation.Humanoid
2026.1.1.57
dotnet add package Novolis.Simulation.Humanoid --version 2026.1.1.57
NuGet\Install-Package Novolis.Simulation.Humanoid -Version 2026.1.1.57
<PackageReference Include="Novolis.Simulation.Humanoid" Version="2026.1.1.57" />
<PackageVersion Include="Novolis.Simulation.Humanoid" Version="2026.1.1.57" />
<PackageReference Include="Novolis.Simulation.Humanoid" />
paket add Novolis.Simulation.Humanoid --version 2026.1.1.57
#r "nuget: Novolis.Simulation.Humanoid, 2026.1.1.57"
#:package Novolis.Simulation.Humanoid@2026.1.1.57
#addin nuget:?package=Novolis.Simulation.Humanoid&version=2026.1.1.57
#tool nuget:?package=Novolis.Simulation.Humanoid&version=2026.1.1.57
Novolis.Simulation.Humanoid
Cinema 4D / Unity / Mixamo–style standard biped for Novolis: named bones, T-pose bind, FK pose solve, two-bone IK, FABRIK chains, full-body multi-effector helpers, and animation clips. BCL-only (System.Numerics).
Not planar locomotion. Floor agent move is
Novolis.Simulation.Kinematics(PlanarAgent). Ragdoll dynamics areNovolis.Physics.Joints(bridge:Humanoid.Physics).
Install
dotnet add package Novolis.Simulation.Humanoid
Quick start
using Novolis.Simulation.Humanoid;
using System.Numerics;
var bind = HumanoidBindPose.CreateDefaultTPose(1.8f);
var pose = HumanoidPose.FromBind(bind);
pose[HumanoidBone.LeftArm] = Quaternion.CreateFromAxisAngle(Vector3.UnitZ, 0.4f);
var world = HumanoidPoseSolver.SolveWorld(bind, pose);
var sticks = HumanoidDebugDraw.BuildSegments(world);
// Limb IK
TwoBoneIk.ApplyLimb(
world, bind,
HumanoidBone.LeftArm, HumanoidBone.LeftForeArm, HumanoidBone.LeftHand,
target: world.Position(HumanoidBone.LeftHand) + new Vector3(0.2f, 0.1f, 0f),
upperLength: bind.BoneLength(HumanoidBone.LeftForeArm),
lowerLength: bind.BoneLength(HumanoidBone.LeftHand),
poleVector: Vector3.UnitZ);
// Multi-effector (hands / feet + optional head via spine FABRIK)
HumanoidFullBodyIk.Apply(world, bind, new HumanoidFullBodyIkTargets
{
LeftHand = new Vector3(-0.4f, 1.2f, 0.3f),
RightHand = new Vector3(0.4f, 1.2f, 0.3f),
});
// Persist IK aiming into local pose (clips / further FK)
HumanoidPoseSolver.BakeLocal(bind, world, pose);
IK notes
- Pole vectors bend elbows/knees toward that side of the root→target line (
TwoBoneIk.EnforceBendSiderejects inverted mids). BakeLocalwrites parent-space quats from a world pose so animation systems can consume IK. Re-FK restores bind-length hierarchy (free mid offsets become aiming rotations).
API
| Type | Role |
|---|---|
HumanoidPoseSolver |
FK SolveWorld; IK persist BakeLocal |
TwoBoneIk |
Arm / leg reach (SolveMid, ApplyLimb, EnforceBendSide) |
FabrikChain |
Generic N-link FABRIK on Vector3 positions |
HumanoidChainIk |
FABRIK over a HumanoidBone[] chain into world pose |
HumanoidFullBodyIk |
Feet/hands via two-bone; optional head via spine chain |
HumanoidAnimationClip |
Clip schema (banks in Novolis.Game.Humanoid) |
Bone standard
Mixamo / Unity Humanoid names (HumanoidBone, HumanoidBoneNames.TryResolve). Hierarchy under HumanoidHierarchy. Map to physics ragdoll spheres via HumanoidRagdollMap (indexes match RagdollHumanoidPreset).
Not in this package
- Mesh skinning / GPU draw →
Humanoid.Skinning/ apps - BVH / glTF import →
Humanoid.Import - Finger / face bones (later)
- Game-specific clip banks →
Novolis.Game.Humanoid - Planar agent walk →
Novolis.Simulation.Kinematics
Related packages
| Package | Role |
|---|---|
Novolis.Simulation.Humanoid.Physics |
Ragdoll sphere bridge |
Novolis.Simulation.Humanoid.Import |
BVH / glTF joint import |
Novolis.Simulation.Humanoid.Skinning |
CPU LBS deform |
Novolis.Game.Humanoid |
Clip banks / body masks |
Novolis.Simulation.Kinematics |
Planar XZ agent motion (not IK) |
Novolis.Physics.Joints |
Ragdoll constraint dynamics |
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- No dependencies.
NuGet packages (4)
Showing the top 4 NuGet packages that depend on Novolis.Simulation.Humanoid:
| Package | Downloads |
|---|---|
|
Novolis.Simulation.Humanoid.Skinning
CPU linear-blend skinning and AdaptiveMesh person hulls for Simulation.Humanoid / ragdoll graphs. |
|
|
Novolis.Simulation.Humanoid.Import
BVH mocap and lightweight glTF joint import retargeted into Simulation.Humanoid clips. |
|
|
Novolis.Simulation.Humanoid.Physics
Bridge between Simulation.Humanoid poses and Physics.Joints ragdoll spheres. |
|
|
Novolis.Game.Humanoid
Game-facing humanoid clip banks and body masks over Novolis.Simulation.Humanoid. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 2026.1.1.57 | 105 | 10/4/2026 |
| 2026.1.1.56 | 111 | 10/1/2026 |
| 2026.1.1.55 | 120 | 9/30/2026 |