Suppose you're making a third person game. Let's say this is the hero (sorry for the use of crappy art, but english is not my native language and I need these images to express myself):
You want your hero to walk over the terrain, climb stairs and so on. So, you can add a ISceneNodeAnimatorCollisionResponse to his node. This will be no big deal because the hero collision surface can be simplified to a ellipsoid and the terrain has a triangle selector, so you have the hero going up and down:
Now let's say the hero has fallen in a deadly trap. A huge block of solid concrete is moving in his direction and there is nowhere to run to:
The hero stays still, waiting for his certain death. What is supposed to happen? The block is supposed to push the hero to the wall and kill him by crushing him. My questions are:
1. How can the block push the player? The player has a collision response animator, but it won't change his position unless the hero is moving. Try it, and you will see.
2. How can the game system know that the player was crushed (by the block or anything else)?
I know I could solve these problems by using a physics engine or writing my own collision algorithms, but I want to know if it is possible to solve them using only native Irrlicht animators/functions/whatever.