AnyPortrait > 스크립트 > 애니메이션

애니메이션


애니메이션을 스크립트로 재생할 수 있습니다.
애니메이션 클립 이름을 파라미터로 입력하면 자동으로 거기에 맞는 루트 유닛(Root Unit)로 전환이 됩니다.
다수의 애니메이션 클립을 레이어를 구분하여 동시에 재생할 수 있습니다.
​애니메이션 전환시 페이드 효과를 줄 수 있습니다.


public apAnimPlayData Play ( string animClipName,
                int layer,
                apAnimPlayUnit.BLEND_METHOD blendMethod,
                apAnimPlayManager.PLAY_OPTION playOption,
                bool isAutoEndIfNotloop )
public apAnimPlayData Play ( apAnimPlayData animPlayData,
                int layer,
                apAnimPlayUnit.BLEND_METHOD blendMethod,
                apAnimPlayManager.PLAY_OPTION playOption,
                bool isAutoEndIfNotloop )
public apAnimPlayData PlayAt ( string animClipName,
                int frame,
                int layer,
                apAnimPlayUnit.BLEND_METHOD blendMethod,
                apAnimPlayManager.PLAY_OPTION playOption,
                bool isAutoEndIfNotloop )
public apAnimPlayData PlayAt ( apAnimPlayData animPlayData,
                int frame,
                int layer,
                apAnimPlayUnit.BLEND_METHOD blendMethod,
                apAnimPlayManager.PLAY_OPTION playOption,
                bool isAutoEndIfNotloop )
1.1.6
Description

   애니메이션 클립을 바로 재생합니다.
   대기 시간이나 페이드 효과가 없이 바로 재생이 시작됩니다.​
   PlayAt 함수를 이용하면 특정 프레임에서 재생을 시작할 수 있습니다.


Parameters

   string animClipName : 애니메이션 클립 이름
   apAnimPlayData animPlayData : 대상이 되는 애니메이션 데이터
   int frame : PlayAt 함수에서 시작하고자 하는 프레임
   int layer : 애니메이션이 재생되는 레이어 (기본값 0)
   apAnimPlayUnit.BLEND_METHOD blendMethod : 레이어된 애니메이션 블렌드 방식 (기본값 BLEND_METHOD.Interpolation)
   apAnimPlayManager.PLAY_OPTION playOption : 재생 중인 다른 애니메이션 종료 방식 (기본값 PLAY_OPTION.StopSameLayer)
   bool isAutoEndIfNotloop : Loop 옵션이 없는 애니메이션 클립일 경우 자동으로 종료시킬 것인지 여부 (기본값 false)


Return

   apAnimPlayData : 재생되는 애니메이션 클립 정보 (요청한 애니메이션 클립이 없으면 null)


public apAnimPlayData PlayQueued ( string animClipName,
                int layer,
                apAnimPlayUnit.BLEND_METHOD blendMethod,
                bool isAutoEndIfNotloop )
public apAnimPlayData PlayQueued ( apAnimPlayData animPlayData,
                int layer,
                apAnimPlayUnit.BLEND_METHOD blendMethod,
                bool isAutoEndIfNotloop )
public apAnimPlayData PlayQueuedAt ( string animClipName,
                int frame,
                int layer,
                apAnimPlayUnit.BLEND_METHOD blendMethod,
                bool isAutoEndIfNotloop )
public apAnimPlayData PlayQueuedAt ( apAnimPlayData animPlayData,
                int frame,
                int layer,
                apAnimPlayUnit.BLEND_METHOD blendMethod,
                bool isAutoEndIfNotloop )
1.1.6
Description

   현재 요청된 레이어에서 재생된 애니메이션 클립이 종료되면 뒤이어서 바로 재생이 됩니다.
   레이어에 재생 중인 애니메이션이 없다면 바로 재생이 시작됩니다.
   ​재생 중인 애니메이션 클립이 Loop 옵션이 있어서 종료되지 않는다면 함수는 처리되지 않고 무시됩니다.
   PlayQueuedAt 함수를 이용하면 특정 프레임에서 재생을 시작할 수 있습니다.


Parameters

   (PLAY_OPTION playOption을 제외하고 Play, PlayAt 함수와 동일)


Return

   apAnimPlayData : 재생되는 애니메이션 클립 정보 (요청한 애니메이션 클립이 없거나 재생 중인 애니메이션이 Loop면 null)


public apAnimPlayData CrossFade ( string animClipName,
                float fadeTime,
                int layer,
                apAnimPlayUnit.BLEND_METHOD blendMethod,
                apAnimPlayManager.PLAY_OPTION playOption,
                bool isAutoEndIfNotloop )
public apAnimPlayData CrossFade ( apAnimPlayData animPlayData,
                float fadeTime,
                int layer,
                apAnimPlayUnit.BLEND_METHOD blendMethod,
                apAnimPlayManager.PLAY_OPTION playOption,
                bool isAutoEndIfNotloop )
public apAnimPlayData CrossFadeAt ( string animClipName,
                int frame,
                float fadeTime,
                int layer,
                apAnimPlayUnit.BLEND_METHOD blendMethod,
                apAnimPlayManager.PLAY_OPTION playOption,
                bool isAutoEndIfNotloop )
public apAnimPlayData CrossFadeAt ( apAnimPlayData animPlayData,
                int frame,
                float fadeTime,
                int layer,
                apAnimPlayUnit.BLEND_METHOD blendMethod,
                apAnimPlayManager.PLAY_OPTION playOption,
                bool isAutoEndIfNotloop )
1.1.6
Description

   애니메이션 클립을 페이드 효과를 포함하여 재생을 합니다.
   Play 함수와 유사하지만 fadeTime 만큼 페이드 효과가 추가되어 서서히 자연스럽게 시작합니다.
   CrossFadeAt 함수를 이용하면 특정 프레임에서 재생을 시작할 수 있습니다.


Parameters

   float fadeTime : 애니메이션이 서서히 변하는 페이드 효과가 적용되는 시간 (기본값 0.3f)
   (나머지는 Play, PlayAt 함수와 동일)


Return

   apAnimPlayData : 재생되는 애니메이션 클립 정보 (요청한 애니메이션 클립이 없으면 null)


public apAnimPlayData CrossFadeQueued ( string animClipName,
                float fadeTime,
                int layer,
                apAnimPlayUnit.BLEND_METHOD blendMethod,
                bool isAutoEndIfNotloop )
public apAnimPlayData CrossFadeQueued ( apAnimPlayData animPlayData,
                float fadeTime,
                int layer,
                apAnimPlayUnit.BLEND_METHOD blendMethod,
                bool isAutoEndIfNotloop )
public apAnimPlayData CrossFadeQueuedAt ( string animClipName,
                int frame,
                float fadeTime,
                int layer,
                apAnimPlayUnit.BLEND_METHOD blendMethod,
                bool isAutoEndIfNotloop )
public apAnimPlayData CrossFadeQueuedAt ( apAnimPlayData animPlayData,
                int frame,
                float fadeTime,
                int layer,
                apAnimPlayUnit.BLEND_METHOD blendMethod,
                bool isAutoEndIfNotloop )
1.1.6
Description

   PlayQueued와 마찬가지로 재생 중인 애니메이션이 종료되면 이어서 재생합니다.
   ​종료 시간을 기준으로 fadeTime 만큼 페이드 효과가 추가되어 재생이 시작됩니다.
   CrossFadeQueuedAt 함수를 이용하면 특정 프레임에서 재생을 시작할 수 있습니다.


Parameters

   (PLAY_OPTION playOption을 제외하고 CrossFade, CrossFadeAt 함수와 동일)


Return

   apAnimPlayData : 재생되는 애니메이션 클립 정보. (요청한 애니메이션 클립이 없거나 재생 중인 애니메이션이 Loop면 null)


public void StopLayer ( int layer, float fadeTime )
Description

   요청한 레이어의 모든 애니메이션을 종료합니다.


Parameters

   int layer : 종료할 레이어
   float fadeTime : 애니메이션이 서서히 페이드되서 종료되는 시간 (기본값 0)


public void StopAll ( float fadeTime )
Description

   모든 애니메이션을 종료합니다.


Parameters

   float fadeTime : 애니메이션이 서서히 페이드되서 종료되는 시간 (기본값 0)


public void PauseLayer ( int layer )
Description

   요청한 레이어의 모든 애니메이션을 일시 정지합니다.


Parameters

   int layer : 일시 정지할 레이어


public void PauseAll ()
Description

   모든 애니메이션을 일시 정지합니다.


public void ResumeLayer ( int layer )
Description

   요청한 레이어의 일시 정지된 애니메이션들을 다시 재생합니다.


Parameters

   int layer : 다시 재생할 레이어


public void ResumeAll ()
Description

   모든 일시 정지된 애니메이션들을 다시 재생합니다.


public bool IsPlaying ( string animClipName )
Description

   요청한 애니메이션 클립이 재생 중인지 확인합니다.


Parameters

   string animClipName : 조회하고자 하는 애니메이션 클립 이름


Return

   bool : 애니메이션이 재생되는 중이라면 true를 리턴 (재생 중이 아니거나 존재하지 않는다면 false 리턴)


public apAnimPlayManager PlayManager
Description

   애니메이션을 재생하는 매니저입니다.
   내부에서 재생, 정지 등을 모두 제어합니다.
   Bake된 ​애니메이션 클립 정보를 참조할 수 있습니다.
   
   public List<apAnimPlayData> PlayDataList : 애니메이션 클립 정보를 담은 리스트


public void RegistAnimationEventListener ( MonoBehaviour listenerObject )
Description

   애니메이션 이벤트를 받을 리스너를 등록합니다.​
   ​애니메이션 이벤트를 만들고 호출하는 방법은 관련 페이지를 참고하세요.


Parameters

   MonoBehaviour listenerObject : 애니메이션 이벤트가 호출될 MonoBehaviour 객체


public void SetAnimationSpeed ( string animClipName, float speed )
public void SetAnimationSpeed ( float speed )
1.1.0
Description

   애니메이션의 재생 속도를 설정합니다.
   기본값은 1.0f이며, 음수를 설정할 수도 있습니다.
   다른 함수와 마찬가지로 메카님을 사용할 경우 동작하지 않습니다.
   animClipName을 지정하지 않으면 모든 애니메이션의 속도를 일괄적으로 설정합니다.


Parameters

   string animClipName : 속도를 설정할 애니메이션 클립의 이름. 설정하지 않을 경우 모든 애니메이션 클립을 대상으로 함
   float speed : 재생 속도 비율. 기본값은 1.0f


public void ResetAnimationSpeed ()
Description

   모든 애니메이션의 재생 속도를 기본값으로 되돌립니다.


public List<apAnimPlayData> AnimationPlayDataList
1.1.2
Description

   애니메이션의 재생 정보를 가진 apAnimPlayData에 대한 리스트를 리턴합니다.
   재생 가능한 애니메이션 정보들을 바로 조회할 수 있습니다.


Return

   List<apAnimPlayData> : 재생 가능한 apAnimPlayData의 리스트


public apAnimPlayData GetAnimationPlayData ( string animClipName )
1.1.2
Description

   애니메이션 재생 정보를 가진 apAnimPlayData 객체를 이름으로 조회합니다.


Parameters

   string animClipName : 조회하고자 하는 애니메이션 클립 이름


Return

   apAnimPlayData : 재생 가능한 apAnimPlayData 객체. 없으면 null 리턴


public apAnimPlayData.AnimationPlaybackStatus GetAnimationPlaybackStatus ( string animClipName )
1.1.2
Description

   이름을 통해서 애니메이션의 재생 상태를 조회합니다.
   "재생되지 않은 상태(None), 재생 중(Playing), 일시 정지 됨(Paused), 마지막 프레임에 도달함(Ended)"의 결과 값이 Enum 형식으로 리턴됩니다.
   IsPlaying() 함수보다 더 세분화된 상태 값을 제공합니다.


Parameters

   string animClipName : 조회하고자 하는 애니메이션 클립 이름


Return

   apAnimPlayData.AnimationPlaybackStatus : 애니메이션의 재생 상태