Garry's Mod

Garry's Mod

Ragdoll Puppeteer
 此主题已被置顶,因此可能具有重要性
dim sum un  [开发者] 2024 年 10 月 22 日 下午 3:56
Next Update: Feature Requests 1
Next Update: Feature Requests 1

See the changelog here

A few of you have suggested some features to include in the past. Since I've returned here, I've used up last week to bundle up all those features into this update! If you are not able to view the video, I'd like to use this post to summarize these new features. Special thanks to Paper for helping me bug test these!

Animatable Floor Properties
Vortexas-A suggested this feature! This adds a modifier called "Ragdoll Puppeteer Floor" to the Stop Motion Helper modifier list. Similar to other items like the Advanced Camera or Advanced Light Entities, this enables Stop Motion Helper to control all puppeteer floor's properties: the height and angle offsets, and the model's pose parameters. Many TF2 running sequences are driven by these pose parameters. Thus, I thought it would be good to have people be able to animate these if they needed to showcase someone changing direction or accelerating (decelerating) into (from) movement.

Floor properties can be set in two ways: 1) using the toolgun's control panel to set the properties, or 2) right-clicking the floor and setting these through the properties menu. Note that the toolgun sliders do not change when you animate, but the floor's property menu sliders do change. Although you can use the toolgun to animate the properties, you should use the properties menu as you obtain feedback of how the pose parameters or offset sliders change.

Copy and paste NPC sequence poses
Gamer suggested this feature! Using the reload key, you can copy an NPC's sequence and paste it into a puppet that also contains it. Pretty simple. There's also a few neat things that I've added into this feature:
  • This copies the current frame of animation of the NPC. If an NPC was reaching out at the time that you copy the sequence, you should also see the reaching out keyframe reflected in the puppet!
  • This also copies pose parameters. If the puppet also contains those pose parameters, then you'll also see them get set on the UI!
  • Upon pasting, the sequence list will scroll to the pasted sequence, and the sequence will be highlighted. This allows you to see this sequence's neighbors.
Note that this only copies from NPCs. Currently, you cannot copy sequences from floors to puppets. I think this would be easy to change up: cutting and pasting sequences from NPCs/floors to other ragdolls would also be neat.

Attach to Ground/Surface Checkbox
Areus suggested this feature! This is actually an old feature from the initial release. Similar to the old feature, this allows you to constrain the puppet to the ground. However, I've extended it so that you are able to constrain the puppet to walls or ceilings. Now, it's easier to demonstrate a wall walking/running/crawling cycle.

This is a little finicky to work with. I've included a guide line to show where the puppeteer will end up with this feature. I suggest using Ragdoll Mover with the entity filter disabled so you are able to move the floor around with better precision. Nonetheless, this should make it easier for ragdolls to remain stuck on the ground.

Areus suggested a couple good applications for this feature. Check out his post here, where we discussed the feasibility of this feature, its applications, and its implementation.

Prop and Ragdoll Resizer Support
Areus also suggested Ragdoll Resizer support, and I added prop support to tie things together. Props include effect (green circle) props and physics props.

This was the more difficult of the features here to implement. I am fortunate enough to make this happen, but I think this feature is probably buggy and also subject to change if the Ragdoll Resizer implementation changes. I've added a notice to this tool (in the form of a chat message) which informs you if you are using this tool on resized ragdolls. Please let me know if you do run into any bugs. Depending on their severity, I am willing to fix them.

As for props, this was necessary to add along with ragdoll resizer support. Now you should be able to properly use SMH to animate TF2 sentries or dispensers building themselves, vehicles moving their wheels, or rigid body simulations (such as glass bottles breaking)!

Choppy Playback Fix
Skerion pointed this out. This was actually a simpler fix then I proposed earlier, which involved making a separate posing system[github.com]. Although nice to theorize, I've implemented this myself and found that this be something I could consider later if a rewrite of this addon was in the works. It turns out, the simple fix was to not restrict ourselves to sending sequences a frame at a time. If you've experienced choppy playback due to a lower FPS, then this update will fix that for you and showcase smoother playback for lower FPS. Now it is possible to make slow motion animations with this fix!

Add French Translations
Pretty self-explanatory on its own: it is now possible to view this tool in French! This also serves as a guideline for other translators who would like to translate this addon.

That should be all the features. Special thanks to all those who have suggested them! I hope that my implementation will satisfy some use case that you have in mind with these features.

Bundling these features together may introduce a few bugs; let's try to report these so we can continue to improve the tool further. Of course, you can view some of the other features here[github.com]. And if you do have a problem with using this tool, feel free to make a discussion post on here. That way, I will be able to help troubleshoot and find a solution for your problem.