public void CurrentP3WeaponChanged(GameObject obj) { if (null == obj) { _directOutputs.CacheFsmOutput(AnimatorParametersHash.Instance.HandPoseHash, AnimatorParametersHash.Instance.HandPoseName, AnimatorParametersHash.Instance.HandPoseDisableValue, CharacterView.FirstPerson | CharacterView.ThirdPerson); return; } _directOutputs.CacheFsmOutput(AnimatorParametersHash.Instance.HandPoseHash, AnimatorParametersHash.Instance.HandPoseName, AnimatorParametersHash.Instance.HandPoseEnableValue, CharacterView.FirstPerson | CharacterView.ThirdPerson); if (_boneRigging.SetP3IkTarget(obj, 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; } }