Havok Animation Resources (How to get started)

Havok Animation Resources (How to get started)

Hi folks,

I am trying to integrate Havok Animation in to a basic game engine I am building with some colleagues and I'm coming up a little short on documentation and examples.

I have the Demo Framework that comes with the free Havok SDK you download from their website which is really impressive but all of their examples rely so heavily on the demo framework made by Havok that it iss proving difficult to separate out the barebones that I need to integrate it in to my own game engine.

Does anybody know of any resources on how to integrate Havok Animation from the ground up? All I want to do right now is load in a skeleton and playback an animation, then move on to things like ragdoll and IK raytracing etc.

As I said I am slowly getting what I need from the Demo Framework but it feels right now like every level deeper I go in to the framework I just find more framework code and not the actual Havok Animation stuff!

Any help or advice would be greatly appreciated.

5 post / 0 nuovi
Ultimo contenuto
Per informazioni complete sulle ottimizzazioni del compilatore, consultare l'Avviso sull'ottimizzazione

Hi Will M.--

Have you looked through the product manual available from the download site? There's  additional information on the animation system there that may be useful.

In general, my advice would be to start by getting a skeleton to animate properly, then implement skinning on top of that. First, make sure you have a system for drawing debug lines; this will let you test your skeletal animation in isolation. Next, add the code necessary to animate a skeleton, using one of the assets provided with the demos. I suggest referencing the demo "NormalBlendingDemo."

Once your skeleton animates properly, you need to implement skinning. You can extract skinning information from hkx* scene data, though the documentation is somewhat sparse. Presumably your game uses some form of model format, so it should be reasonable to export and import skinning data for each model using the same system. Skinning can be a challenging topic, so you're best off starting with very simple skinning schemes (a tesselated box skinned over two bones making a simple arm is a good first stab). Also, write your skinning algorithm in software before trying to implement it on the GPU - it will be much simpler to debug.

Please let me know if you have any specific questions about this topic.


Hi Tim,

Thank you for your response. Thank you for the advice I think you are right and it's just going to be a case of implementing each feature one at a time and getting them working with examples.

I think I was coming at it from the wrong angle and kind of assuming Havok Animation would be like Havok Physics where I'd have dozens of lines of initialisation and setup code to get my simulation all set up and working. Whereas Havok Animation is much more modular and it's just a case of picking the features you need and getting them working!

Thanks again I wll have another look over the product manual as well.


I am currently having the same problem. A tutorial/lean basic template would not be unappreciated.

Hi Guys,

Yeah, the problem with Animation is that compared to Physics it is a bit more convoluted to integrate in your Engine.

The basic concepts are the same, Physics will basically tell you the position of all the rigid bodies in the scene and you will move your game entities based on that. In Animation what you get is a set of bone transforms (pose) that you can then use to skin your models.

Skinning is a well known topic in game development and deforming a mesh based on a pose is something on which is very easy to find documentation online. Havok Animation doesn't solve that problem, as Tim was saying this is part of the integration with the engine.

HKG (our demoing graphics system) has a skinning integration with Animation for the purpose of showing off the technology, it has both software skinning (moving the mesh vertices on CPU and propagating the changes to the GPU) and hardware skinning (moving the mesh vertices on GPU inside the vertex shader - what most games do).

You guys can have a look there for reference... as Tim mentioned, HKG meshes are built from HKX data (scene data) saved in the files, generally you will already have a mesh format you use to export your models (and normally that won't be the HKX format, but some engine specific format that you guys decided).

Take a look at Havok Animation -> Animation Runtime -> Deformation (Skinning and Morphing) for a little bit of context.

Basic usage of Animation is about loading a skeleton and animating the skeleton, skinning can come later.

I'd like to write a small skinning example for you guys, but I don't think we have the bandwidth for doing that at the moment unfortunately...


Try not to become a man of success, but rather try to become a man of value.

Lascia un commento

Eseguire l'accesso per aggiungere un commento. Non siete membri? Iscriviti oggi