Imagination PowerVR SDK Blog

Why isn't vertex animation supported?


#1

Hi guys,





I’m not quite sure if this is the correct place to post this question, do let me know.





Anyway, I have created a scene which makes use of the morphing technique for the animations. Due to this, I have read up several threads on vertex animations not being supported by POD files.





May I know if there is any reason why? Really appreciate the help here!





Thanks,


Alex


#2

You could simply export multiple versions (morphs) of your object as separate sub-objects within your POD file and blend them with your own code.






#3

Hi warmi,





Thanks for the prompt reply :slight_smile:





Yes I do understand that I can do that. Just to clarify, so it’ll be just a single POD file containing multiple meshes?





Still, I’m curious as to why POD files do not support vertex animations.





It’ll be great if I can get an answer to that. I’ve been doing quite a bit of reading but still couldn’t get any answers.





Thanks,


Alexngjh19912011-02-08 06:45:17


#4

Yeah, a single POD … you may want to optimize it a bit … depending how you are going to blend, you may want to export full information only for the main model and have all other morphs export only vertex positions/normals since that’s the only thing you need anyway.


#5

Ah, I see. Thanks so much warmi! You’re a great help :slight_smile:


#6
Ah, I see. Thanks so much warmi! You're a great help :)


can you tell me how to solve this problem? just import several meshes and "blend" them by coding??

#7

Hi,



May I know if there is any reason why? Really appreciate the help here!


The reason for the lack of vertex animation/morphing is simply a design choice. At the time of POD’s inception vertex animation was less popular than bone animation, it can’t be done on the GPU in some APIs and typically requires more data to be exported.

However, as Warmi mentions it can still be done by exporting the mesh’s key-frames (either in a single POD file or across multiple) and interpolating between them in code if it is needed.


can you tell me how to solve this problem? just import several meshes and "blend" them by coding??


The EvilSkull example in the OGLES SDK demonstrates this technique.

Thanks,

Scott