Heightmap Ground and GLB Model

Hello all,

in my RTS example I assume using moveWithCollisions won’t work with Heightmap Ground, so I need to switch everything to Physics Engine. Now I want to simply instantiate and move a unit (GLB model with skeleton and multiple meshes). My issues currently are:

  1. Can I set Imposter like Rigid Body in Blender, when I use GLB-Format, or do I have to set it manually? I believe in terms of performance it would be good if I can do a lot in Blender. I also tried it manually in my PG, but it is does not collide with ground.
  2. Can you set NoImposter in Blender?
  3. Does the mass of ground imposter needs to be 0? Because how I do understand mass, normally in physics ground needs mass to react to attraction, but in my PG it looks like the ground is falling, so mass seems to work with F = m * g instead F = G * m_1 * m_2 / r^2.
  4. Can you set position after Imposter is created? If I do in my PG the position is not applied.

My simplified PG:

Edit:
What I forgot, to mention is that Ground Physics don’t work and the unit is not “falling” on the ground.

Edit2: Solved the issue regarding falling unit, I used AmmoJS in my PG and CannonJS in my local project, AmmoJS does not support HeightmapImposter. Now I am unsure because I have to elaborate which suits a RTS game best. But I still get the warning:

A physics impostor has been created for an object which has a parent. Babylon physics currently works in local space so unexpected issues may occur.

Making progress, but once I add and use collider mesh the model falls through ground. I made a PG where you can switch both files to test the issue:

Edit: Got it solved. It appears when position is set before NoImposter is created. If set afterwards, it works.

3 Likes