Rework RigProbe into a standalone character data extractor with JSON output

This commit is contained in:
Justin Oros
2026-09-24 21:47:54 -07:00
parent 421dbd9fe9
commit 6ba89f0044
3 changed files with 576 additions and 525 deletions
+43
View File
@@ -0,0 +1,43 @@
# sotf-rigprobe
A RedLoader research mod for Sons of the Forest that dumps character data to JSON: skeletons, skinned meshes, bind poses, blendshapes, materials, animators, player races and clothing. It is a data source for building character related mods, not a gameplay mod.
## What it collects
For the local player, the bodies the player can carry, every actor type prefab and every live actor:
- Rig: every bone with its parent, local position, rotation and scale
- Skinned meshes: mesh name, vertex count, bone list, bind pose rest position and rotation per bone, blendshape names, materials with shader and texture names
- Animators: controller, avatar, humanoid flag, human bone map, parameters
- Rig families: characters grouped by identical bone sets, with bone name overlap against the player rig
- Player only: current race, all 8 race entries with head and arms Addressable GUIDs, every clothing piece with item id, slot, renderable GUID, default and worn flags
## Commands
Run these in the in-game console.
| Command | What it does |
|---|---|
| `rigprobe` | Dump the player, carry bodies, all actor prefabs and live actors |
| `rigprobe <filter>` | Same, limited to actor types containing the filter, e.g. `rigprobe female` |
| `rigscene` | Dump every skinned mesh root in the loaded scenes, including cutscene characters |
| `rigspawn <Type> [variation]` | Spawn an actor in front of you so its live variant gets dumped, e.g. `rigspawn Virginia` |
## Output
Written to `Sons Of The Forest\UserData\RigProbe\`:
- `characters\index.tsv` one line per character with rig family and player bone match
- `characters\rigfamilies.txt` characters grouped by shared skeleton
- `characters\<source>_<name>.json` full data per character
- `scene\` the same layout for `rigscene`
Each run replaces the previous output for that command.
## Build
Requires the .NET 8 SDK and RedLoader installed in the game folder with its interop assemblies generated.
```
.\build.ps1 -Install
```
+531 -523
View File
File diff suppressed because it is too large Load Diff
+2 -2
View File
@@ -3,8 +3,8 @@
"id": "RigProbe",
"name": "RigProbe",
"author": "JustinOros",
"version": "0.1.0",
"description": "Dumps NPC skinned mesh bones and compares them to the player rig",
"version": "0.2.0",
"description": "Dumps rig, mesh, material and animator data for every Sons of the Forest character to JSON for mod development",
"gameVersion": "1.0.0",
"platform": "Client",
"type": "Mod"