Hi all,

I have been checking out osgAnimation in the past few days, and one thing that hasn't been clear to me is whether it supports animation mixing or blending, and how. For example, if a character goes from standing to walking, then walking to running, can I set it up so that the transition between these animations is smooth? Supposing I have a walk cycle and a run cycle animations set up correctly of course.

Next question, where could I find an example of this (assets and possibly code - though with a good explanation I can work the code out myself I'm sure)? I've found one walking character here:

http://creators.xna.com/en-US/sample/skinnedmodel

but he has only a walk cycle. Could anyone point me to an example model that would have multiple animations set up so I can look at how it's been done and try it out? Preferably in Collada or FBX format.

On the subject of models, does anyone know of any place (web site) where I could buy skinned and animated models of characters? I presume such a resource exists, but I wanted to know if people had a specific one to recommend.

Finally, osganimationhardware nathan.osg is giving me problems. It crashes after showing the first frame in State::setVertexAttribPointer() called from RigGeometry::drawImplementation() - stack trace below.

I'd really like to be able to see the hardware skinning. With the character at the link above, osganimationviewer (software skinning I presume) runs well but the update time is close to 16ms per frame on my pretty recent machine. I'm thinking if that time is spent updating the vertex arrays for the skinning, there might be a chance the hardware skinning would reduce that? Obviously using a lighter mesh would too, and I won't be using that exact mesh in our project, but anything that can help us maintain a good frame rate is welcome.

Thanks in advance,

J-S
--
______________________________________________________
Jean-Sebastien Guay    [email protected]
                               http://www.cm-labs.com/
                        http://whitestar02.webhop.org/


Stack trace for crash when osganimationhardware nathan.osg

msvcp90d.dll!std::_Debug_message(const wchar_t * message=0x660de5c0, const wchar_t * file=0x660de608, unsigned int line=764) Line 24 C++

osg66-osgd.dll!std::vector<osg::GLBufferObject::BufferEntry,std::allocator<osg::GLBufferObject::BufferEntry> >::operator[](unsigned int _Pos=61) Line 764 + 0x17 bytes C++ osg66-osgd.dll!osg::GLBufferObject::getOffset(unsigned int i=61) Line 209 + 0x1d bytes C++ > osg66-osgd.dll!osg::State::setVertexAttribPointer(unsigned int unit=11, const osg::Array * array=0x058dbaf0, unsigned char normalized=0) Line 1153 + 0x11 bytes C++ osg66-osgd.dll!osg::Geometry::drawImplementation(osg::RenderInfo & renderInfo={...}) Line 1046 C++

osg66-osgAnimationd.dll!osgAnimation::RigGeometry::drawImplementation(osg::RenderInfo & renderInfo={...}) Line 94 + 0xf bytes C++ osg66-osgd.dll!osg::Drawable::draw(osg::RenderInfo & renderInfo={...}) Line 907 + 0x13 bytes C++ osg66-osgUtild.dll!osgUtil::RenderLeaf::render(osg::RenderInfo & renderInfo={...}, osgUtil::RenderLeaf * previous=0x09a567e8) Line 63 + 0x19 bytes C++

osg66-osgUtild.dll!osgUtil::RenderBin::drawImplementation(osg::RenderInfo & renderInfo={...}, osgUtil::RenderLeaf * & previous=0x09a567e8) Line 475 + 0x19 bytes C++

osg66-osgUtild.dll!osgUtil::RenderStage::drawImplementation(osg::RenderInfo & renderInfo={...}, osgUtil::RenderLeaf * & previous=0x09a567e8) Line 1353 C++ osg66-osgUtild.dll!osgUtil::RenderBin::draw(osg::RenderInfo & renderInfo={...}, osgUtil::RenderLeaf * & previous=0x09a567e8) Line 420 + 0x17 bytes C++ osg66-osgUtild.dll!osgUtil::RenderStage::drawInner(osg::RenderInfo & renderInfo={...}, osgUtil::RenderLeaf * & previous=0x09a567e8, bool & doCopyTexture=false) Line 925 C++ osg66-osgUtild.dll!osgUtil::RenderStage::draw(osg::RenderInfo & renderInfo={...}, osgUtil::RenderLeaf * & previous=0x09a567e8) Line 1192 + 0x1b bytes C++
        osg66-osgUtild.dll!osgUtil::SceneView::draw()  Line 1426 + 0x37 bytes   
C++
osg66-osgViewerd.dll!osgViewer::Renderer::draw() Line 491 + 0xf bytes C++

osg66-osgViewerd.dll!osgViewer::Renderer::operator()(osg::GraphicsContext * context=0x00262998) Line 734 + 0xf bytes C++ osg66-osgd.dll!osg::GraphicsContext::runOperations() Line 750 + 0x33 bytes C++ osg66-osgd.dll!osg::RunOperations::operator()(osg::GraphicsContext * context=0x00262998) Line 138 C++ osg66-osgd.dll!osg::GraphicsOperation::operator()(osg::Object * object=0x00262998) Line 53 + 0x19 bytes C++
        osg66-osgd.dll!osg::OperationThread::run()  Line 413 + 0x26 bytes       
C++
        osg66-osgd.dll!osg::GraphicsThread::run()  Line 41      C++

ot12-OpenThreadsd.dll!OpenThreads::ThreadPrivateActions::StartThread(void * data=0x05899904) Line 113 + 0xf bytes C++
        msvcr90d.dll!_callthreadstartex()  Line 348 + 0xf bytes C
        msvcr90d.dll!_threadstartex(void * ptd=0x058bc160)  Line 331    C
        kernel32.dll!74c53677()         
[Frames below may be incorrect and/or missing, no symbols loaded for kernel32.dll]
        ntdll.dll!770a9d72()    
        ntdll.dll!770a9d45()    
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to