using System; using kt.ik; using UnityEngine; [Serializable] public class MouthIKCtrl : FABRIKCtrl { public MouthIKCtrl(FullBodyIKMgr ik_mgr) : base(ik_mgr, FullBodyIKMgr.IKEffectorType.Mouth) { this.BlendCalc = AIKCtrl.BlendCalcType.Local; } public override void SetIKSetting(IKAttachParam param) { base.SetIKSetting(param); base.isNeedAttachTargetUpdatePreExec = true; } public override void OnPostFullBodySolverUpdate() { if (base.pointIKData.isIKExec) { Vector3 localPosition = base.chainBones[0].localPosition; base.OnPostFullBodySolverUpdate(); base.chainBones[0].localPosition = localPosition; } } }