Modify FPBIKEffector
as follows:
- Add
float CurrentWeight
(internal),float TargetWeight
(exposed), and parameters forInterpInRate
andInterpOutRate
, however you wish to handle that, but having separate in/out is important (e.g. quickly enable, slowly disable a limb). FInterpTo()
is better for cosmetics, but maybe includeFInterpConstantTo()
as an option in case stable framerate is important for some reason- When applying
PositionAlpha
andRotationAlpha
, multiply them by theCurrentWeight
after updating it
I have built this same system as a layer over what I feed into the FBIK effectors, but it requires copying a bunch of stuff around and several layers of abstraction that are quite ugly.
Having this on the effector would make a lot of sense – for everyone. It would make the node significantly better both in terms of functionality, usability, and getting great results from it.
I can attest to how good the results are when being able to interpolate limbs in and out this way.
EDIT: I would also recommend adding interpolation for the transform (probably allow it to snap without interpolation if weight is 0).
Adding both of these features would immediately give the FBIK functionality a massive boost in usability and get really nice results (I have tested).