# [name]

AnimationMixer는 장면에 있는 특정 오브젝트의 애니메이션 플레이어입니다. 한 장면에서 여러 개의 오브젝트들이 독립적으로 움직인다면, 각각 다른 AnimationMixer가 사용되고 있다고 볼 수 있습니다.
three.js 애니메이션 시스템의 다양한 엘레먼트에 관해서는 매뉴얼의 "심화과정" 중 "애니메이션 시스템" 문서를 참고하세요.

## 생성자

### [name]( [param:Object3D rootObject] )

[page:Object3D rootObject] - 믹서의 애니메이션이 재생될 오브젝트.

## 프로퍼티

### [property:Number time]

글로벌 믹서의 시간 (초 단위, 믹서 생성시에 0부터 시작함).

### [property:Number timeScale]

글로벌 배속 [page:.time mixer time].
참고: 믹서의 timeScale를 0으로 설정했다가 나중에 1로 설정하는 방식으로 정지/재생 기능을 믹서를 통해 사용할 수 있습니다.

## 메서드

### [method:AnimationAction clipAction]([param:AnimationClip clip], [param:Object3D optionalRoot])

전달받은 클립의 [page:AnimationAction]을 리턴하며, 믹서의 루트 경로가 아닌 다른 루트 경로를 사용할 수도 있습니다. 첫 번째 파라미터는 [page:AnimationClip] 오브젝트 및 AnimationClip 이름으로 사용할 수 있습니다.
클립에 동작은 설정되었는데 루트 파라미터가 아직 존재하지 않는다면, 이 메서드를 통해 자동으로 생성될 것입니다. 이 메서드를 같은 클립과 루트 파라미터로 여러 번 호출해도 항상 같은 클립 인스턴스를 리턴할 것입니다.

### [method:AnimationAction existingAction]([param:AnimationClip clip], [param:Object3D optionalRoot])

전달받은 클립에 존재하는 [page:AnimationAction]을 리턴하며 믹서의 루트 경로가 아닌 다른 루트 경로를 사용할 수도 있습니다.
첫 번째 파라미터는 [page:AnimationClip] 오브젝트 및 AnimationClip 이름으로 사용할 수 있습니다.

### [method:Object3D getRoot]()

믹서의 루트 오브젝트를 리턴합니다.

### [method:this stopAllAction]()

믹서의 모든 이전 예약 동작들을 비활성화합니다.

### [method:this update]([param:Number deltaTimeInSeconds])

글로벌 믹서 시간을 되돌리고 애니메이션을 업데이트합니다.
주로 렌더 루프에서 사용되며, [page:.timeScale timeScale]로 설정된 배율로 [page:Clock.getDelta clock.getDelta]를 넘겨줍니다.

### [method:this setTime]([param:Number timeInSeconds])

글로벌 믹서의 특정 시간을 설정하고 그에 따라 애니메이션을 업데이트합니다.
애니메이션의 정확한 시간대로 이동할 때 유용합니다. 입력되는 파라미터는 믹서의 [page:.timeScale timeScale]의 배율을 따라갑니다.

### [method:undefined uncacheClip]([param:AnimationClip clip])

클립에 있는 모든 메모리 리소스를 할당 해제합니다.

### [method:undefined uncacheRoot]([param:Object3D root])

루트 오브젝트의 모든 메모리 리소스를 할당 해제합니다.

### [method:undefined uncacheAction]([param:AnimationClip clip], [param:Object3D optionalRoot])

동작의 모든 메모리 리소스를 할당 해제합니다.

## 소스 코드

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