Skip to content
DaymareOn edited this page Jun 23, 2026 · 15 revisions

Welcome to the FSMP-Validator wiki!

This wiki is the SMP Mod Author Guide: it documents how to author SMP physics — the XML configuration files and the meshes — next to the XSD/Schematron schemas that define what a physics XML may contain.

For everything about using the FSMP engine — installation, configuration, console commands, solving problems — see the hdtSMP64 wiki. In particular, to check a whole load order for broken physics files from inside the game, use smp report. It's on the engine side, because it's useful to players and modlists maintainers too, not to SMP mod authors only.

Authoring SMP physics

A step-by-step path from a static mesh to a working SMP asset:

  1. Tools and setup — the toolchain you need.
  2. Building the collision mesh — proxy meshes and topology. (WIP)
  3. The 4-bone limit and weight painting — how weights decide which bones move the skin.
  4. Rigging for physics — anchors, movers, and the unweighted-vertex trap.
  5. Writing the XML — a worked example — a minimal file, with links into the runtime reference.
  6. XML examples — copy-paste snippets: spring, ConeTwist, servo, StiffSpring.
  7. Linking the NIF to the XML — how FSMP finds and binds your physics.
  8. About NPC head parts — the head-part special case.
  9. Troubleshooting — console commands and common glitches. (glitch tips WIP)

The runtime, explained for modders

A guided path through how FSMP actually behaves. Read in order:

  1. The simulation step — the heartbeat everything runs on.
  2. Bones — mass and weight — what gets simulated, and the master dial.
  3. How your XML becomes physics — document order, defaults, templates.
  4. Springs — stiffness and damping — jiggle, settling, and the two meanings of damping.
  5. Limits and soft limits — boxing a bone in without rattle.
  6. Motors and servos — actively driving a bone.
  7. Collision shapes — per-vertex vs per-triangle — building collision suits from the mesh.
  8. How collisions and rebound work — what happens when two suits touch.
  9. Collision filtering — who may hit whom.
  10. Constraint frames (advanced) — only if a joint anchors in the wrong place.

Validating your files

Clone this wiki locally