# [name]

Um AnimationClip é um conjunto reutilizável de keyframe tracks que representam uma animação.
Para obter uma visão geral dos diferentes elementos do sistema de animação three.js, consulte o artigo "Sistema de animação" na seção "Próximos Passos" do manual.

## Construtor

### [name]( [param:String name], [param:Number duration], [param:Array tracks] )

[page:String name] - um nome para este clipe.
[page:Number duration] - a duração deste clipe (em segundos). Se for passado um valor negativo, a duração será calculada a partir do array `tracks` passado.
[page:Array tracks] - um array de [page:KeyframeTrack KeyframeTracks].
Nota: Em vez de instanciar um AnimationClip diretamente com o construtor, você pode usar um de seus métodos estáticos para criar AnimationClips: de JSON ([page:.parse parse]), da sequência morph target ([page:.CreateFromMorphTargetSequence CreateFromMorphTargetSequence], [page:.CreateClipsFromMorphTargetSequences CreateClipsFromMorphTargetSequences]) ou de hierarquias de animação ([page:.parseAnimation parseAnimation]) - se o seu modelo ainda não contiver AnimationClips no array de animações de sua geometria.

## Propriedades

### [property:Number duration]

A duração deste clipe (em segundos). Pode ser calculado a partir do array de [page:.tracks tracks] através de [page:.resetDuration resetDuration].

### [property:String name]

Um nome para este clipe. Um determinado clipe pode ser pesquisado via [page:.findByName findByName].

### [property:Array tracks]

Um array contendo um [page:KeyframeTrack] para cada propriedade animada por este clipe.

### [property:String uuid]

O [link:http://en.wikipedia.org/wiki/Universally_unique_identifier UUID] desta instância de clipe. Ele é atribuído automaticamente e não deve ser editado.

## Métodos

### [method:AnimationClip clone]()

Retorna uma cópia deste clipe.

### [method:this optimize]()

Otimiza cada faixa (track) removendo chaves sequenciais equivalentes (que são comuns em sequências morph target).

### [method:this resetDuration]()

Define a [page:.duration duration] do clipe para a duração de seu maior [page:KeyframeTrack].

### [method:Object toJSON]()

Retorna um objeto JSON que representa o clipe de animação serializado.

### [method:this trim]()

Apara todas as faixas para a duração do clipe.

### [method:Boolean validate]()

Executa a validação mínima em cada faixa (track) do clipe. Retorna verdadeiro se todas as faixas forem válidas.

## Métodos estáticos

### [method:Array CreateClipsFromMorphTargetSequences]( [param:String name], [param:Array morphTargetSequence], [param:Number fps], [param:Boolean noLoop] )

Retorna um array de novos AnimationClips criados a partir de sequências morph target de uma geometria, tentando classificar nomes de morph targets em grupos de animação padrão como "Walk_001, Walk_002, Run_001, Run_002 ...".

### [method:AnimationClip CreateFromMorphTargetSequence]( [param:String name], [param:Array morphTargetSequence], [param:Number fps], [param:Boolean noLoop] )

Retorna um novo AnimationClip do array de morph targets passado de uma geometria, recebendo um nome e o número de quadros por segundo.
Nota: O parâmetro fps é obrigatório, mas a velocidade da animação pode ser sobrescrita em um `AnimationAction` via [page:AnimationAction.setDuration animationAction.setDuration].

### [method:AnimationClip findByName]( [param:Object objectOrClipArray], [param:String name] )

Procura um AnimationClip por nome, tendo como primeiro parâmetro um array de AnimationClips ou um mesh ou geometria que contém um array chamado "animations".

### [method:AnimationClip parse]( [param:Object json] )

Analisa uma representação JSON de um clipe e retorna um AnimationClip.

### [method:AnimationClip parseAnimation]( [param:Object animation], [param:Array bones] )

Analisa o formato animation.hierarchy e retorna um AnimationClip.

### [method:Object toJSON]( [param:AnimationClip clip] )

Recebe um AnimationClip e retorna um objeto JSON.

## Source

[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]