[SOLVED] Some Animation Questions

Hi. I am aware how to use and implement both Skeletal Bones and Morph Targets.

  1. However, I was wondering which has best capability to preserve performance.

  2. I was also wondering does mesh batching still work when playing animations?

  1. Depends on the count of each to compare. There are ways to improve skeletal animation performance such as reducing the number of bones as much as possible/animate as few bones as possible and overriding the AABB so it’s not calculated each frame: RenderComponent | PlayCanvas API Reference

  2. No it doesn’t unfortunately. Not sure about morph targets on this though.

@mvaligursky May have more information on this

1 Like

Those are both fast GPU implementations, so it depends on which one better fits what you’re trying to do:

  1. skeleton animation is a great way using small download size (animations) create a fluidly moving character with animation blending and similar. But as it’s based on bones, you cannot easily animate individual vertices (unless you have too many bones).
  2. on the other hand, morphing gives you a lot more control and you can animate each vertex separately, but the storage (and download) requirements for this go up.

Usually it’s common to use skeleton to drive body, and morph to drive face where you’d otherwise need a lot of bones. Also, morphing is handy to use some small repeating animations … for example a high quality flag in the wind or similar.

In the past I’ve done a character animation system based on “morphing” like system as well, where vertex animations were baked to textures - and that was super fast, and allowed 1000s of characters on mobile.

So all depends on what you need :wink:

2 Likes

That about explains everything I wanted to know. Thanks all. :slightly_smiling_face: