/// <summary> /// 皮肤加载完成回调 /// </summary> /// <param name="componentEvent"></param> private void OnHumanAvatarLoadFinish(IComponentEvent componentEvent) { AvatarLoadFinishEvent humanAvatarLoadFinishEvent = componentEvent as AvatarLoadFinishEvent; if (!HasParameter(humanAvatarLoadFinishEvent.Animator, Turn)) { return; } if (!HasParameter(humanAvatarLoadFinishEvent.Animator, Velocity)) { return; } m_Animator = humanAvatarLoadFinishEvent.Animator; //add 动作音效脚本 entityAnimatorOfWwise = m_Animator.gameObject.GetOrAddComponent <AK.Wwise.EntityAnimatorOfWwise>(); entityAnimatorOfWwise.SetIsProtagonist(m_IsMain, m_KHeroType); entityAnimatorOfWwise.SetComboID(m_musicComboID); }
private void OnSpacecraftAvatarLoadFinishEvent(IComponentEvent componentEvent) { AvatarLoadFinishEvent spacecraftAvatarLoadFinishEvent = componentEvent as AvatarLoadFinishEvent; m_SpacecraftHnagingPointList = spacecraftAvatarLoadFinishEvent.SpacecraftPresentation; m_Animator = spacecraftAvatarLoadFinishEvent.Animator; Animator[] animators = spacecraftAvatarLoadFinishEvent.Animators; for (int i = 0; i < animators.Length; i++) { // TODO. // 先以命名为规则 if (animators[i].transform.name.Contains("_action")) { m_StateAnimator = animators[i]; AnimationClip[] animationClips = m_StateAnimator.runtimeAnimatorController.animationClips; AnimatorOverrideController animatorOverrideController; animatorOverrideController = new AnimatorOverrideController(m_StateAnimator.runtimeAnimatorController); m_StateAnimator.runtimeAnimatorController = animatorOverrideController; EnumMainState state = m_SpacecraftPlayerAnimatorProperty.GetCurrentState().GetMainState(); if (state == EnumMainState.Fight) { for (int j = 0; j < animationClips.Length; j++) { // TODO. if (animationClips[j].name.Contains("_attacked")) { animatorOverrideController["DefaultState"] = animationClips[j]; break; } } } else { for (int j = 0; j < animationClips.Length; j++) { // TODO. if (animationClips[j].name.Contains("_normal_state")) { animatorOverrideController["DefaultState"] = animationClips[j]; break; } } } break; } } //播放尾焰音效 if (m_SpacecraftPlayerAnimatorProperty != null) { WwiseUtil.PlaySound(m_musicComboID, WwiseMusicSpecialType.SpecialType_WarShipEngine_1, m_IsMain ? WwiseMusicPalce.Palce_1st : WwiseMusicPalce.Palce_3st, false, m_SpacecraftPlayerAnimatorProperty.GetRootTransform()); } if (m_IsMain) { //添加速度线 if (!m_LeapCamera) { m_LeapCamera = EffectManager.GetInstance().CreateEffect( Leyoutech.Core.Loader.Config.AssetAddressKey.FX_SOCKET_FX_CAMERA , EffectManager.GetEffectGroupNameInSpace(m_IsMain) , OnLeapCameraCreated, this); m_LeapCamera.transform.SetParent(m_SpacecraftPlayerAnimatorProperty.GetOwner().GetSkinRootTransform(), false); m_LeapCamera.SetCreateForMainPlayer(m_IsMain); m_LeapCamera.SetAutoRecycleWhenNotExistLivingParticles(false); } m_LeapCamera.PlayFX(); } }