Novolis.Simulation.Humanoid.Skinning
2026.1.1.57
dotnet add package Novolis.Simulation.Humanoid.Skinning --version 2026.1.1.57
NuGet\Install-Package Novolis.Simulation.Humanoid.Skinning -Version 2026.1.1.57
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Novolis.Simulation.Humanoid.Skinning" Version="2026.1.1.57" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Novolis.Simulation.Humanoid.Skinning" Version="2026.1.1.57" />
<PackageReference Include="Novolis.Simulation.Humanoid.Skinning" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Novolis.Simulation.Humanoid.Skinning --version 2026.1.1.57
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Novolis.Simulation.Humanoid.Skinning, 2026.1.1.57"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Novolis.Simulation.Humanoid.Skinning@2026.1.1.57
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Novolis.Simulation.Humanoid.Skinning&version=2026.1.1.57
#tool nuget:?package=Novolis.Simulation.Humanoid.Skinning&version=2026.1.1.57
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Novolis.Simulation.Humanoid.Skinning
CPU linear-blend skinning for Novolis.Simulation.Humanoid over Novolis.Math.Geometry.TriangleMesh,
plus AdaptiveMesh person hulls that follow ragdoll sphere graphs as one body surface.
GPU skinning stays in apps / Rendering backends.
Install
dotnet add package Novolis.Simulation.Humanoid.Skinning
Prerequisites: .NET 10 SDK (net10.0).
Quick start
using Novolis.Simulation.Humanoid;
using Novolis.Simulation.Humanoid.Skinning;
var bind = HumanoidBindPose.CreateDefaultTPose();
var skin = new SkinnedHumanoidMesh(mesh, weights, SkinnedHumanoidMesh.CreateTranslationInverseBinds(bind));
var deformed = CpuSkinDeformer.DeformToMesh(skin, worldPose);
Unrigged FBX → animatable (auto-skin)
using Novolis.Math.Geometry;
using Novolis.ThreeD;
using Novolis.Simulation.Humanoid;
using Novolis.Simulation.Humanoid.Skinning;
var bind = HumanoidBindPose.CreateDefaultTPose(1.72f);
var raw = AssimpMeshImporter.ImportFile("character.fbx", new MeshImportOptions {
PreTransformVertices = true,
GenerateNormals = true,
});
var lod = MeshLod.Decimate(raw, targetTriangleCount: 20_000);
var aligned = HumanoidMeshAligner.FitToBindPose(lod, bind);
var skin = HumanoidNearestBoneSkinner.Bind(aligned, bind, influences: 4);
// each frame:
var world = HumanoidPoseSolver.SolveWorld(bind, pose);
var deformed = CpuSkinDeformer.DeformToMesh(skin, world);
When the file already has Mixamo-style bones, prefer Assimp named weights via
AssimpSkinnedMeshImporter.TryImport + HumanoidNearestBoneSkinner.TryBindNamedWeights.
AdaptiveMesh hull
var centers = /* 11 ragdoll sphere positions */;
var body = HumanoidAdaptiveBody.CreateFromRagdollBind(centers);
var handles = new Vector3[HumanoidAdaptiveBody.SphereCount];
HumanoidAdaptiveBody.CopySphereCenters(centers, handles);
var mesh = body.AdaptToMesh(handles);
Classic LBS skinning
var bind = HumanoidBindPose.CreateDefaultTPose();
var skin = new SkinnedHumanoidMesh(mesh, weights, SkinnedHumanoidMesh.CreateTranslationInverseBinds(bind));
var deformed = CpuSkinDeformer.DeformToMesh(skin, worldPose);
API
| Type | Role |
|---|---|
VertexBoneWeight |
Per-vertex bone + weight |
SkinnedHumanoidMesh |
Bind mesh, weights, inverse binds |
CpuSkinDeformer |
Deform, DeformToMesh |
HumanoidAdaptiveBody |
SphereCount=11; CreateFromRagdollBind; AdaptToMesh |
HumanoidMeshAligner |
Fit unrigged mesh to bind height / feet |
HumanoidNearestBoneSkinner |
Auto-skin + Mixamo name map |
NamedBoneWeight |
Author bone-name influence |
Related
| Package | When to use |
|---|---|
Novolis.Simulation.Humanoid |
Poses and bind frames |
Novolis.Simulation.Humanoid.Physics |
Ragdoll sphere layout |
Novolis.Math.Geometry |
MeshLod.Decimate for realtime LODs |
Novolis.ThreeD.Import.Assimp |
Assimp geometry / named skin import |
| 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. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net10.0
- Novolis.Math.Geometry (>= 2026.1.1.56)
- Novolis.Simulation.Humanoid (>= 2026.1.1.57)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 2026.1.1.57 | 84 | 10/4/2026 |
| 2026.1.1.56 | 86 | 10/1/2026 |
| 2026.1.1.55 | 74 | 9/30/2026 |