Not an update unfortunately, just some disclaimers, issues, and tips.
The first issue is that the module was never intended to combine animations and CCDIK together. The resolving issue with the HumandMale_Model in the CCDIK file just happens to be a one in a chance fluke. What happens is that the animations is added on top of the IK which move the arm away from the goal which the IK algorithm hates and tries to fight back hence the spinning arm problem commonly seen.
Currently, there is no plan on combining IK and normal animations as it’s pretty complex, look at all these diagrams:
Also I recommend this video for additional customization over the IK with a modified CCD algorithm:
To achieve Bone priority / Motor6D priority/ which limb it iterates through more with the module you can modify the input Motor6D table.
So for example this motor6D table:
local leftArm = {leftupperArm,leftelbow,lefthand}
The algorithm will first move the left elbow, then the left upper arm ignoring the left hand as normally we don’t move our wrist when reaching out to grab an object as explained in the video.
*Unless you enable the useLastMotor property, ideal for R6 with only one limb. Though I find it a bit weird to use Inverse kinematics when there is only one limb to control which you might as well just do something like CFrame.lookAt, though I understand theres other benefits like end effector control via an attachment and the built in lerping functionality with the module.
--Within the module
function CCDIKController:_CCDIKIterateStep(goalPosition, step)
for i = #self.Motor6DTable - 1 + useLastMotor, 1, -1 do
So to modify it we can do this:
local leftupperArm : Motor6D --Some motor6D instance
local leftArm = {leftupperArm,leftupperArm,leftupperArm,leftelbow,lefthand}
This will make the iteration prioritize the left upperArm 3 times more within the module.