Problem with Havok and external GLTF/GLB

Hello,

Here is the link to the Playground that demonstrates my issue: Babylon.js Playground

I have never used physics engines before and I am now trying Havok with a sofa model I found online. When I load my glb without setting a PhysicsAggregate to the root of the glb itself, I have no problems with positioning/rotations/etc.:

As soon as I add the PhysicsAggregate, it loses the Y rotation and a new Z rotation is added:

What am I doing wrong?

Thank you very much for your help.

cc @Cedric or @carolhmj

Hi @ste
Here is a modified PG:

The mesh is meshes[1] not [0]. I removed its parenting and set a convex hull instead of a capsule.

2 Likes

Thank you, @Cedric!
Actually, how could I set a single parent to the three sofa components and get a PhysicsAggregate that is the sum of all three sofa components? Is it possible?

This is work in progress on our side to improve mesh/parent setup with gltf. No ETA yet.

Okay, thank you.

To simplify things, I have merged all the meshes into a single mesh. Now I was wondering: would it make sense to use Havok as a system to handle collisions while dragging meshes? I was thinking that during the drag of one of the two sofas I have put into the scene, it might be possible to check for collisions between their two bodies, but I wouldn’t know where to start. Can I ask for your help? Here is the playground: https://playground.babylonjs.com/#WHBL0X#3

Thanks again.

Collision works, but it doesn’t have the effect of the correct impulse of physics when moving using dragBehavior.
https://playground.babylonjs.com/#WHBL0X#5

Thank you for the disablePreStep trick.

I have tried playing with it a bit more, here is the updated playground: https://playground.babylonjs.com/#WHBL0X#6 I was wondering how I could handle the matter of mass, I would like that when the two cushions collide, the dragged cushion completely stops. How could this be achieved?