// 包括枪配件的改变 public void CurrentWeaponChanged(GameObject objP1, GameObject objP3) { if (_boneRigging.SetIKTarget(objP1, objP3, ref _weaponHasIK)) { var lowRailInCurrentWeapon = _weaponController.GetCurrentLowRailId(); var gripHandPoseState = SingletonManager.Get <WeaponPartsConfigManager>().GetSubType(lowRailInCurrentWeapon); _directOutputs.CacheFsmOutput(AnimatorParametersHash.Instance.GripHandPoseHash, AnimatorParametersHash.Instance.GripHandPoseName, AnimatorParametersHash.Instance.GripHandPoseEnableValue, CharacterView.FirstPerson | CharacterView.ThirdPerson); _directOutputs.CacheFsmOutput(AnimatorParametersHash.Instance.GripHandPoseStateHash, AnimatorParametersHash.Instance.GripHandPoseStateName, gripHandPoseState, CharacterView.FirstPerson | CharacterView.ThirdPerson); _attachmentNeedIK = true; //握把需要开启IK } else { _directOutputs.CacheFsmOutput(AnimatorParametersHash.Instance.GripHandPoseHash, AnimatorParametersHash.Instance.GripHandPoseName, AnimatorParametersHash.Instance.GripHandPoseDisableValue, CharacterView.FirstPerson | CharacterView.ThirdPerson); _attachmentNeedIK = false; } }