I'm writing a Final Fantasy-like game engine, with 2D backgrounds and 3D models with Irrlicht. To calculate collisions with the objects in the background I use a invisible mesh like this:
I have tried with this code but when the player reaches the edge of the mesh it falls down:
TriangleSelector sel = device.SceneManager.CreateTriangleSelector(Program.field.currentScene.walkmeshLoaded, null);
CollisionResponseSceneNodeAnimator coll = device.SceneManager.CreateCollisionResponseAnimator(sel, playerNode);
playerNode.AddAnimator(coll);
coll.Drop();
sel.Drop();