/** * Copyright 1998-2013 Epic Games, Inc. All Rights Reserved. * Play a facial animation on a character. */ class AnimNotify_PlayFaceFXAnim extends AnimNotify_Scripted; /** Reference to FaceFX AnimSet package the animation is in */ var() FaceFXAnimSet FaceFXAnimSetRef; // @todo: we need to none this out so there are no hard references to FaceFX AnimSets var() String GroupName; var() String AnimName; /** The sound cue to play for the this animation**/ var() SoundCue SoundCueToPlay; // WWISEMODIF_START, alessard, nov-28-2008, WwiseAudioIntegration /** The sound cue to play for the this animation**/ var() AkEvent AkEventToPlay; // WWISEMODIF_END /** If a FaceFX animation is already playing, then override if TRUE, skip is FALSE */ var() bool bOverridePlayingAnim; /** Chance to play. 0 - 1.f */ var() float PlayFrequency; event Notify(Actor Owner, AnimNodeSequence AnimSeqInstigator) { // If this animation doesn't play all the time // See if we should play or ignore it! if( PlayFrequency < 1.f ) { if( FRand() > PlayFrequency ) { return; } } else if( PlayFrequency > 1.f ) { `log("Play FaceFX animation from notify" @ AnimSeqInstigator.AnimSeqName @ "for" @ Owner @ "GroupName:" @ GroupName @ "AnimName:" @ AnimName); `log(" PlayFrequency > 1.0 is useless. Chance to play valid range is from 0.0 to 1.0."); } if( Owner != None ) { //`log(Self @ "Play FaceFX animation from notify" @ AnimSeqInstigator.AnimSeqName @ "for" @ Owner @ "GroupName:" @ GroupName @ "AnimName:" @ AnimName @ "(bOverridePlayingAnim:"$ bOverridePlayingAnim @ "IsActorPlayingFaceFXAnim:" $ Owner.IsActorPlayingFaceFXAnim() $")"); // If actor can (is able to) play if (Owner.CanActorPlayFaceFXAnim()) { // If a Face FX animation is already playing, should we override it? if( bOverridePlayingAnim || !Owner.IsActorPlayingFaceFXAnim()) { // WWISEMODIF_START, alessard, nov-28-2008, WwiseAudioIntegration if (Owner.PlayActorFaceFXAnim(FaceFXAnimSetRef, GroupName, AnimName, SoundCueToPlay, AkEventToPlay) == FALSE) // WWISEMODIF_END { `log(AnimSeqInstigator.AnimSeq.Outer @ "(" @ AnimSeqInstigator.AnimSeqName @ ")" @ " - PlayFaceFXAnim notifier failed. Verify if this notifier is valid.",,'DevFaceFX'); } } } } } defaultproperties { bOverridePlayingAnim=TRUE PlayFrequency=1.f }