Ragdoll Puppeteer
Need a tool to quickly set poses for you? Use the Ragdoll Puppeteer!
This addon adds a tool which allows you to set the pose of a ragdoll or prop to frame of any animation. You can find it under the Posing category.
Everything is done through the tool itself; to set the pose for the ragdoll/prop, simply left-click the ragdoll/prop with the tool, and a list of animations will show up for you to use. The tool supports sequences and Stop Motion Helper animations.
I made this tool as a companion tool for GMod animators who do keyframe animations; hopefully, this tool will accelerate your animation workflow. If you’re interested, here are two ways on how you could use this tool:
- "Bake" a sequence onto Stop Motion Helper (SMH) using +ragdollpuppeteer_playback and the SMH physics recorder. You can also use the Ragdoll Mover (RGM) or other posing tools to make a new animation from the existing one. For example, you can either use a premade running animation, or animate your own using SMH. With the animation, use SMH to outline a base trajectory for the ragdoll and use RGM to make adjustments to the pose on each frame.
- Initially puppeteer a ragdoll to an animation frame, and then make additional adjustments using the RGM. For instance, you can first set the Heavy to his primary weapon sequence, and then adjust his hands to hold a different weapon. You can also use a pose saved from a SMH animation.
To add on the first point, if you have a walking animation that moves a character forward (root motion animations), you can automate the movement by simply playing the animation through ragdoll puppeteer, and setting the frames in SMH, and moving the puppeteer to update the origin of the walking animation. You can also animate the puppeteer’s position using SMH, allowing you to quickly make walk sequences using the SMH Physics Recorder!
The list of commands here are not comprehensive. If you want to see all the commands, type "ragdollpuppeteer" in the console and view the options.
- [ragdollpuppeteer_previousframe n] & ragdollpuppeteer_nextframe n: decrements (or increments) the ragdollpuppeteer_frame console variable by n frames, where n is a whole number (no decimal numbers). Updates the puppet’s position.
- [ragdollpuppeteer_animatenonphys]: This will move the ragdoll’s nonphysical bones (fingers, toes), which is anything that doesn’t have a physics collider. It has the same behavior as checking the ‘Animate Nonphysical Bones’ checkbox.
- [ragdollpuppeteer_frame]: A console variable representing the ragdoll’s frame. This is an alternate way to change the puppeteer’s frame. The control panel needs to be open for the puppeteer to change frame.
- [sv_ragdollpuppeteer_allow_playback]: If enabled, players can run "+ragdollpuppeteer_playback" at the cost of server stress due to the pose data.
- [+ragdollpuppeteer_playback] & [-ragdollpuppeteer_playback]: Moves the frame slider automatically. Useful for utilities such as Stop Motion Helper’s physics recorder tool. Enabled only if "sv_ragdollpuppeteer_allow_playback 1".
- [ragdollpuppeteer_fps]: The framerate to play in if +ragdollpuppeteer_playback is called. Changing this during playback will also affect the playback framerate live.
This tool has no competing conflicts of interest with Animated Props and similar tools in mind. I developed this tool with partial inspiration by the ragdollize feature in Animated Props and the Stand Poser. I hope that I inspire another improved version of this tool in Animated Props or some other tool.
It is recommended to run this tool in singleplayer. Multiplayer is supported, but expect bugs and server lag.