2.0 Update: CUA Collision not yet supported, so the plugin will automatically disable CUA collision for now.
------
Hello Darlings,
TLDR: This is a plugin that lets you 'parent' an asset to a joint tightly, while also animating it at the same time, and saving settings as 'poses' you can load later. It's in public beta as there are some blind spots that I haven't tested, but it is stable.
Firstly let me praise @Blazedust and @MacGruber for ParentHoldLink plugins (other in here), and @Pineapler for CUA Superglue. These are excellent tools for pinning clothing assets to joints, and if that's all you need, I recommend them. However, I found animation of those assets remained a little tedious (not a fault of the plugins), and my first scene for you is going to involve some hat trickery (which is also why I made the Ashen Hat).
What It Does:
Placed on a Custom Unity Asset, this will 'pin' it to the joint you select of a target person. You can offset the position or rotation while it is following its parent, allowing you to animate changes relative to the joint with a tool like @Acid Bubbles Timeline (highly recommended).
Targeting
I wanted targeting to be as simple as possible. The plugin detects people and you can choose from a dropdown for the person and joint you want, and it does its thing. These can be targets of an animation as well.
Poses
You can store the current state of the asset into 'poses' that you can switch between, which stores all relevant information about the parenting, position, orientation, and offset. By default, loading a pose will target the joint on whatever person is currently targeted, but if you want to load the original parent as well you can start the pose name with '@' when loading.
Plugins like timeline have access to a SetPose() method that lets you choose from a dropdown of your saved poses, as well as the option to set the PoseByName directly (This second option is the only way to load the original parent with @ for other plugins at the moment).
Poses will only be saved when you click the save/overwrite button. All saved poses will be saved as part of the scene. Export functionality is of future interest.
in the video above, if '@tophead' were typed when loading instead of just 'tophead', it would target the original person saved with it: the hat owner.
Offsets
Once you have a target person and joint, you'll be able to offset the position and rotation of the asset relative to the joint. These offset values are what can be animated to allow dynamic asset movement. You can adjust the asset the normal way as well but you can only animate the offset values. There are a few buttons that do things too.
Commit Offset: keep the asset in place but zero-out all the offset sliders. If you're animating them, this might have unintended effects, and if you're not animating them there isn't really much need for the offsets, so this is kind of a niche tool.
Offset to Parent: Move the asset to the target joint and align it, storing the change as offset values you can then tweak. I haven't used it much but this could be a decent way to keyframe significant offset changes in timeline.
Snap to Parent: Move the asset to the target joint and align it, clearing all offset values. Great for getting a position set up.
Gotchas
Persist on Change Toggle: A very important toggle if you plan on swapping a target person.
When TRUE (default) the asset will stay put when a person change takes place. This is a must if you're doing something where another person affects its position like grabbing it from the current location.
When FALSE the asset will apply the current transformation relative to the new person's joint, as though it had always been targeting them instead.
No animating the controller: The asset position is being updated internally, so you can't animate the controller directly or you'll be fighting the plugin. It can be animated by offsets only.
Known Issues
CUA Collision is not supported: At the moment the asset colliders will get in the way of the joint, so the body won't move right. Also snapping to the joint will cause some injury as the collider suddenly moves into the body. As a workaround this plugin disabled CUA collision as soon as it's applied, but I am looking into some options to support collision for your worn assets.
Enjoy <3
------
Hello Darlings,
TLDR: This is a plugin that lets you 'parent' an asset to a joint tightly, while also animating it at the same time, and saving settings as 'poses' you can load later. It's in public beta as there are some blind spots that I haven't tested, but it is stable.
Firstly let me praise @Blazedust and @MacGruber for ParentHoldLink plugins (other in here), and @Pineapler for CUA Superglue. These are excellent tools for pinning clothing assets to joints, and if that's all you need, I recommend them. However, I found animation of those assets remained a little tedious (not a fault of the plugins), and my first scene for you is going to involve some hat trickery (which is also why I made the Ashen Hat).
What It Does:
Placed on a Custom Unity Asset, this will 'pin' it to the joint you select of a target person. You can offset the position or rotation while it is following its parent, allowing you to animate changes relative to the joint with a tool like @Acid Bubbles Timeline (highly recommended).
Targeting
I wanted targeting to be as simple as possible. The plugin detects people and you can choose from a dropdown for the person and joint you want, and it does its thing. These can be targets of an animation as well.
Poses
You can store the current state of the asset into 'poses' that you can switch between, which stores all relevant information about the parenting, position, orientation, and offset. By default, loading a pose will target the joint on whatever person is currently targeted, but if you want to load the original parent as well you can start the pose name with '@' when loading.
Plugins like timeline have access to a SetPose() method that lets you choose from a dropdown of your saved poses, as well as the option to set the PoseByName directly (This second option is the only way to load the original parent with @ for other plugins at the moment).
Poses will only be saved when you click the save/overwrite button. All saved poses will be saved as part of the scene. Export functionality is of future interest.
in the video above, if '@tophead' were typed when loading instead of just 'tophead', it would target the original person saved with it: the hat owner.
Offsets
Once you have a target person and joint, you'll be able to offset the position and rotation of the asset relative to the joint. These offset values are what can be animated to allow dynamic asset movement. You can adjust the asset the normal way as well but you can only animate the offset values. There are a few buttons that do things too.
Commit Offset: keep the asset in place but zero-out all the offset sliders. If you're animating them, this might have unintended effects, and if you're not animating them there isn't really much need for the offsets, so this is kind of a niche tool.
Offset to Parent: Move the asset to the target joint and align it, storing the change as offset values you can then tweak. I haven't used it much but this could be a decent way to keyframe significant offset changes in timeline.
Snap to Parent: Move the asset to the target joint and align it, clearing all offset values. Great for getting a position set up.
Gotchas
Persist on Change Toggle: A very important toggle if you plan on swapping a target person.
When TRUE (default) the asset will stay put when a person change takes place. This is a must if you're doing something where another person affects its position like grabbing it from the current location.
When FALSE the asset will apply the current transformation relative to the new person's joint, as though it had always been targeting them instead.
No animating the controller: The asset position is being updated internally, so you can't animate the controller directly or you'll be fighting the plugin. It can be animated by offsets only.
Known Issues
CUA Collision is not supported: At the moment the asset colliders will get in the way of the joint, so the body won't move right. Also snapping to the joint will cause some injury as the collider suddenly moves into the body. As a workaround this plugin disabled CUA collision as soon as it's applied, but I am looking into some options to support collision for your worn assets.
Enjoy <3