//! OnAnimate() is called just before rendering the whole scene. void CAnimatedMeshSceneNode::OnAnimate(u32 timeMs) { CurrentFrameNr = buildFrameNr ( timeMs ); if ( Mesh ) { scene::IMesh *m = Mesh->getMesh(CurrentFrameNr, 255, StartFrame, EndFrame); if ( m ) { Box = m->getBoundingBox(); } } IAnimatedMeshSceneNode::OnAnimate ( timeMs ); }
void CSceneNode::onAnimate(unsigned int timeMs) { if (m_lastTime==0) // first frame { m_lastTime = timeMs; } // set CurrentFrameNr buildFrameNr(timeMs-m_lastTime); //when frame is not animated and it is lock, because other sceneNode is animating it, then set to frame 0, since it is always animated. if(!animate(m_curFrame)) m_curFrame=0; m_lastTime=timeMs; ISceneNode::onAnimate(timeMs); }