decentraland / sdk

PM repository for SDK
Apache License 2.0
4 stars 4 forks source link

AvatarAnimationComponent #357

Closed menduz closed 10 months ago

menduz commented 2 years ago

Emotes are a new dimension of interaction, and based on the definition of input components detailed in https://github.com/decentraland/sdk/issues/352, a list of AvatarAnimation commands will be serialized in the AvatarAnimationComponent.

The scene and the renderer should be able to add commands to this list of AvatarAnimations, and the renderer should react to those commands by executing the actual animation. Once the animation stops, the Renderer should also add a Stop command to the the list to signal the scene that the animation has stopped to chain different actions.


message AvatarAnimationComponent {
  repeated AvatarAnimationCommand commands = 1; // list of last N commands 

  enum AnimationState {
    AnimationState_STOPPED = 0;
    AnimationState_PLAYING = 1;
    AnimationState_LOOPING = 2;
  }

  message AvatarAnimationCommand {
    string animation = 1; // urn, emote, or custom animation identifier
    int32 timestamp = 2; // lamport timestamp
    AnimationState state = 3;
  }
}
aixaCode commented 10 months ago

Moving it to shape up