# Player

class Animation.Player()

Properties

- `animation`

- `loop`

- `nodeIdOffset`

- `onComplete`

- `speed`

- `LoopIndefinitely`

Methods

- `evaluate()`

- `getAnimationTime()`

- `getCurrentTime()`

- `getState()`

- `pause()`

- `play()`

- `reload()`

- `setChannelEnabled()`

- `setTime()`

- `stop()`

## Properties

Player.animation
  Type

    Animation

  The animation played by this player

Player.loop
  Type

    number

  The number of times the animation will repeat. Set to [[LoopIndefinitely]] to repeat indefinitely. Default is 0

Player.nodeIdOffset
  Type

    number

  A base offset value which will be applied to all node identifiers in the animation attached to this player. This is useful to play an authored animation for a model that has been loaded into the scene after initial startup. In this situation the authored node identifiers in the animation may not match up with the runtime node identifiers in the current scene. The [[Model.getNodeIdOffset]] function can be used on the loaded model’s root node to retrieve the correct offset value.

Player.onComplete
  Type

    null | function

  Callback function to be called when the animation is complete. Will not be triggered if the player is looping.

  Player.onComplete()
    Return type

      void

Player.speed
  Type

    number

  Scale value to be applied to animation time.

Player.LoopIndefinitely
  Type

    -1

  If loop is set to LoopIndefinitely, the animation will play repeatedly.

## Methods

### evaluate

Player.evaluate(time[, out])
  Arguments

    - time (`number()`) – The time at which to evaluate the animation.

    - out (`BatchedValues()`) – optional Storage for the evaluated values. If supplied, this object will be returned instead of a new [[BatchedValues]] object. This allows values gathered from multiple players to be combined into one batch.

  Calculate the values for each channel of the associated [[Animation]] at the given time.

  Return type

    BatchedValues

### getAnimationTime

Player.getAnimationTime()

  Gets the current time in seconds of the entire animation.

  Return type

    number

### getCurrentTime

Player.getCurrentTime()

  Gets the current time in seconds that the animation has been playing.

  Return type

    number

### getState

Player.getState()

  Gets the current animation state.

  Return type

    PlayerState

### pause

Player.pause()

  Pauses animation playback.

  Return type

    void

### play

Player.play()

  Starts playing the animation.

  Return type

    void

### reload

Player.reload()

  Updates internal state of animation player.

  Call this method after any part of the underlying animation has been updated.

  Return type

    void

### setChannelEnabled

Player.setChannelEnabled(channel, enabled)
  Arguments

    - channel (`NodeChannel | CameraChannel()`) – a channel from the underlying animation

    - enabled (`boolean()`) – boolean value indicating whether the channel should be enabled.

  Sets the enabled state for a channel in this players animation. All channels are enabled by default when a player is created. A channel that has been disabled will not have its value interpolated by the system until it is re-enabled

  Return type

    void

### setTime

Player.setTime(time)
  Arguments

    - time (`number()`) – time in milliseconds

  Sets the current animation time.

  Return type

    void

### stop

Player.stop()

  Stops animation playback and resets the current time to 0.

  Return type

    void