Skip to content

vlazed Scripts

vlazed edited this page Jun 27, 2026 · 6 revisions

Quality-of-life scripts for SMH animations

Warning

Due to the volatile nature of the beta, the following content is subject to deprecation.

The Stop Motion Helper Beta adds multiple scripts to make it easier to animate in Stop Motion Helper

sync_rgm_to_smh

Usage

Adds convar sync_rgm_to_smh. and sync_rgm_to_smh_locks Set it to 1 to enable and 0 to disable.

  • If sync_rgm_to_smh is enabled, select any bone with Ragdoll Mover. The motion path for the bone should update. In addition, frame changes will automatically set the gizmo position.
  • If sync_rgm_to_smh_locks is enabled along with the above convar, then entity constraints from Ragdoll Mover will be set upon frame change. For instance, if an entity constraint for a ragdoll is in a car, then this script will preserve the local position and oreintation of the ragdoll with respect to the car during frame changes from SMH.

Notes

  • By default, if a nonphysical bone is selected, the gizmo does not update itself if the nonphysical bone moved from external sources, such as from Stop Motion Helper. This script fixes that by ensuring that the gizmo is updated on frame changes. However, this requires a slight modification to Ragdoll Mover, which sets the function rgmSendBonePos to a global function (remove the local declaration).

cl_tool_smh_sync

Usage

Adds the following convars:

  • sync_smh_to_facepose,
  • sync_smh_to_facepose_remap,
  • sync_smh_to_eyepose, and
  • sync_smh_to_fingerpose.

Set it to 1 to enable and 0 to disable. If enabled, first select an entity with SMH, set two facepose/eyepose/fingerpose keyframes, and switch between the frames. If done correctly, the UI for the faceposer, eyeposer, or fingerposer should update itself

Notes

  • (4/20/2026) This script comes with the SMHEntitySyncFactory method, which is global. I might make this a separate thing, but I'll keep it in this script for now
  • Use sync_smh_to_facepose_remap 1 if you have the default faceposer. Otherwise, set it to 0 for custom faceposers

sh_smh_unstretch

Usage

Adds smh_unstretch_picker, which unstretches the entity that you're looking at. If you have the following addons, then you can use their respective commands or variables:

  • Ragdoll Mover: Use smh_unstretch_rgm to unstretch the selected Ragdoll Mover entity
  • Stop Motion Helper: Use smh_unstretch_smh to unstretch the selected SMH entity. You can also use smh_unstretch_smh_sync 1 to unstretch an entity on frame change
  • Ragdoll Unstretch: If Ragdoll Unstretch tool is installed, then you can set smh_unstretch_dopeak 1 to use its unstretching method

Notes

  • (6/26/2026) This currently does not unstretch "proportion-trick"playermodels correctly.
  • If you are smoothing an animation, set smh_unstretch_smh_sync 0. Failing to do so will produce the wrong result.
  • This is best used when a ragdoll's stretch flag is set to false. This is a symptom of physics objects when their translational component is offset from its parent physics object.
  • By default, this does not properly affect entities that have the stretch flag set. To truly unstretch a ragdoll, you need to have the Ragdoll Unstretch tool and set smh_unstretch_dopeak 1

Clone this wiki locally