XnaHavok 0.1 source and binaries released.

XnaHavok 0.1 source and binaries released.

Still in a very early state, but I released 0.1. Another release will be coming up soon, which introduces a content processor for models to make rigid bodies out of. It isn't very usable at the moment, as it supports Boxes and Spheres only at the moment, but it supports them very lightly. More features will be added on quickly. Link to Sourceforge page : XnaHavok

A video is here:
XnaHavok 0.1 Test

And speaking of which, do those rigid bodies seem like they are reacting oddly?

10 posts / novo 0
Último post
Para obter mais informações sobre otimizações de compiladores, consulte Aviso sobre otimizações.

Also note, tomorrow I should be releasing the Content processor, along with demos for the library, + triangle mesh support. That should come tomorrow afternoon or tomorrow night, depending on how much Xna wants to work with me.

This is being renamed to XHk. Also, does anyone know why I would get two typeref warnings?
1>HkpRigidBody.obj : warning LNK4248: unresolved typeref token (0100001E) for 'hkStatisticsCollector'; image may not run
1>HkpRigidBody.obj : warning LNK4248: unresolved typeref token (01000024) for 'hkClass'; image may not run

They are apparently coming from my HkpRigidBody class.

Yup, those rigid bodies definitely look wonky (that's a technical term, btw).

Couple of think I can think of:
1) bad inertia tensor?
2) weird solver settings? What are the values for hkpWorldCinfo::m_solverTau, m_solverDamp, and m_solverIterations? The default should be the values corresponding to calling hkpWorldCinfo::setupSolverInfo(SOLVER_TYPE_4ITERS_MEDIUM); you probably shouldn't change them unless you have a good reason.
3) variable time stepping? You should be stepping Havok with a constant timestep from frame to frame, otherwise it can cause bad behavior with constraints (which include contact constraints). I had a quick look at HkpWorld::Update and it looks like the time could be change...

If you can take a snapshot (preferably XML) of the world with hkpHavokSnapshot, that should hopefully help rule out #1 and #2 (although I suspect #3 is the real culprit).


I think it was due to my recording application, fraps. When I recoded the rigid bodies in the scene as well, it worked. Although, now I'm having problems with bounding boxes in Xna. Apparently when I attempt to use them, rigid bodies are still bigger than the models. I have to figure that out soon, that or I'm going to make a .NET general wrapper, then work on getting xna working off of that when finished.

How are you getting the bounding boxes from the Havok rigid bodies? Usually this does the trick:

hkAabb aabb;
rb->getCollidable()->getShape()->getAabb( rb->getTransform(), 0.0f, aabb);

The float parameter is an expansion value - the AABB will be increased by that much in each direction.


That was just Xnas bounding boxes that were messing up, as far as I know. And it was mainly my models that were so messed up ( exported from 3ds max they would be rescaled even though I told it not to, while XSI exported correctly ). So I actually think everything works, I just have to test with correctly scaled models.

Interesting, but why GPL? I'll have to do the same thing myself. Would you consider switching to a more permissive license?

Absolutely. This was my first time dealing with licenses, or at least choosing one, so I picked one which seemed useful. I'll research them a bit more and find a more permissive one.

Also, I haven't updated this thread in quite a while. Work was delayed a bit, and triangle meshes are getting to be a bit tricky, but I have found a way around that, so I just have to get that then character controllers, and I'll release 0.2. 0.2 I guess will be released under a new license ( any suggestions? ).

LGPL is ok.

Apache 2 is better.


Deixar um comentário

Faça login para adicionar um comentário. Não é membro? Inscreva-se hoje mesmo!