IsAnimated on PhysBone scripts do not allow translation of affected bones
available in future release
Log In
~Murdoc~
i am still getting this issue. it seems activating the physbone will change the rotation and position of bones to their rest position before sending them back to their new animated position
Kiro
Merged in a post:
[1190] Animated bone transforms are reset to rest position upon PhysBones component awake
a
alareis
And it is very inconsistent, although I can't pin point the source of the issue so far. Identical setups on different models yield different results.
Description:
In certain situations bone transforms are animated with rotation and translation being keyed in the clip for normalized time interpolation (i.e. two keys at idx 0 & 1 representing extremes). Then PhysBones component is applied to one of the transformed bones, which causes the translations to be reset upon activation.
Caveat:
This behaviour is very inconsistent between different models despite using identical approaches.
Consider the following IDs: avtr_7947c18a-0dea-4dcb-baa8-ba4511af8e46 & avtr_dc8604cd-687a-40ec-8f61-245902329bee.
Using RShift+F4 (fingerpoint on the right hand, GestureRightWeight mapped) should normally extend the tongue and bend its bones, which happens if the PB component is inactive. Upon its activation the rotations are kept, but all translations revert to the rest position.
In contrast to avtr_29f036dc-1fe6-459c-85e0-09b9a57c392a, where LShift+F3 applies the transforms, and RShift+F3 enables the component. With this one no transforms are reset, despite the approach being identical: normalized time mapping and simple component toggling.
Expected behaviour:
PhysBones should consistently respect TRS matrix and evaluate it for each solver step when Is Animated property is checked.
Kiro
marked this post as
available in future release
Fixed this issue and it will be available in a future release.
The problem occurred with animating the position of bones which already had a very small local positional value. This would mainly affect avatars imported as FBX, as those typically have a 1/100th scale resulting in very tiny positional values for the base armature. The tongue bones were a common case since they were very tiny parts of the avatar and tended to have the smallest values.
Kiro
Merged in a post:
[1181] can't animate Phys Bone
DrBlackRat
I have trouble with animating my tongue Phys Bone. It won't be moved with a Phys Bone component on it, even with Is Animated set to true.
It's being moved & turned on by a blend tree.
Here are my Phys Bone settings:
Photo Viewer
View photos in a modal
Kiro
Merged in a post:
[1181] Cant animate physbone positions
lackofbindings
Expected:
With Is Animated checked, physbones should be fully animatable.
Current Behavior:
Position keyframes have no effect, even with Is Animated checked. This breaks compatibility with Dynamic Bones.
Phasedragon
marked this post as
needs more information
Can you provide more information about exactly what you are trying to do, the expected result, and how the actual result differs? As far as I am aware, this is a feature that is fully supported for both the root bone and all child bones.
a
alareis
Phasedragon: you have multiple bug reports of this issue, all found just by using "IsAnimated" search term.
Phasedragon
alareis: I have tested this myself multiple times and everything appears to be working exactly as intended. All of those posts are either outdated or extremely vague, as is this one. If this is a current issue, then there is something unique or odd about how to make it happen. Please provide an avatar ID where this issue occurs and/or steps to create such an avatar.
a
alareis
Phasedragon: it remains unchanged, just like stated in my post. I can't see how this can be intended, if it varies so much.
Here is an example of a working one (Open hand on both): avtr_29f036dc-1fe6-459c-85e0-09b9a57c392a
And here is an example of malfunctioning one (RShift + F4): avtr_9d36eae5-15fb-43ed-8f9c-07a8654de8f3
Both approaches are identical. More info are in those posts.
Adeon Writer
Phasedragon: Sorry for the lack of info - I have a tail animation that is under a radial puppet to control it's length - legnth is done by physically offsetting each bone, instead of scaling it (this method just looks better)
This was fine with dynamic bones, but this method on phys bones does not allow these offsetting animations to make the chain longer, as the phys bone script blocks translation offsets of individual child bones in the chain. It also prevented the tail from wagging, since rotations are also blocked. Checking "IsAnimated" will allow for rotation animations to play and the tail can wag again, but the phys bone still overrides translation offsets causing the length radial to do nothing unless the phys bone script is removed.
I have not tested if scaling is possible, but IsAnimated appears to allow rotations, but not positions.
This issue only arose when updating Dynamic Bone setups to Phys Bones; they run fine under Dynamic Bone setups
VRArt1
I'm also having this issue. Funnily also discovered when trying to make a tongue bounce.
SargonDragon
On further investigation, if I export the animation out of the FBX file into a .anim file... the tongue still works with the .anim file!
So it's something different about the animation itself that triggers the bug.
I do notice in the animation that's working that position, rotation, and scale is animated on every bone in the tongue. Whereas in the animation that's not working, only position is being animated.
Perhaps changing position alone isn't kicking phys bones to pick up that a change was made. However, so far my experiments to that effect haven't worked.
Possibly whether the bug is triggered or not relates to the exact order things end up in within the .anim file or something like that.
SargonDragon
This issue seems to affect some avatars and not others. I've been putting a lot of work into trying to identify the specific difference that triggers the bug.
My nargacuga avatar is from an older public model base, and the tongue won't work properly with phys bones. The tongue does work properly with phys bones on the new public nargacuga 5.0. Copying the animation controllers and animations from my nargacuga to the new public nargacuga caused the tongue to stop working properly just the same as on my own older nargacuga base.
I isolated the difference between them. The new public nargacuga uses an animation which is actually imported from the model's FBX. The physbones on the tongue will respond to translational movement correctly from this animation.
Whereas any animation (*.anim file) created in Unity is unable to perform translational movements on the phys bones on the tongue whether it is the older or newer nargacuga model.
SargonDragon
Changing the pull value may have "fixed" this issue in your case, but it had no effect on mine. Translational movement from animations is ignored no matter what I've tried.
Load More
→