//! 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 );
}
Esempio n. 2
0
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);
}