The problem is that triangle selector uses only single frame (probably frame #0) for detecting collisions.
Simply start 07.Collision example and move mouse near animated mesh scene nodes.
![Image](http://i44.tinypic.com/25slftc.png)
P.S.: checked with trunk rev. 3990.
Code: Select all
selector = smgr->createTriangleSelector(node);
node->setTriangleSelector(selector);
selector->drop();
Code: Select all
//! Gets all triangles.
void CTriangleSelector::getTriangles(core::triangle3df* triangles,
s32 arraySize, s32& outTriangleCount,
const core::matrix4* transform) const
Code: Select all
//! Gets all triangles which lie within a specific bounding box.
void CTriangleSelector::getTriangles(core::triangle3df* triangles,
s32 arraySize, s32& outTriangleCount,
const core::aabbox3d<f32>& box,
const core::matrix4* transform) const
Code: Select all
//! Gets all triangles which have or may have contact with a 3d line.
void CTriangleSelector::getTriangles(core::triangle3df* triangles,
s32 arraySize, s32& outTriangleCount,
const core::line3d<f32>& line,
const core::matrix4* transform) const
Code: Select all
// Update my triangles if necessary
update();
Code: Select all
CTriangleSelector::CTriangleSelector(IAnimatedMeshSceneNode* node)
: SceneNode(reinterpret_cast<ISceneNode*>(node)), AnimatedNode(node)
{
Code: Select all
IMesh * mesh = animatedMesh->getMesh((s32)AnimatedNode->getFrameNr());
Code: Select all
LastMeshFrame = (s32)AnimatedNode->getFrameNr();
IMesh * mesh = animatedMesh->getMesh(LastMeshFrame);