Hi

I checked osgAnimation sources, and it looks like what you want can be done 
that easy. Animation calculation happens in update traversal, and directly 
changes RigGeometry vertex data, so with shared rig geometry all instances will 
look same. So i believe you need at least to create different RigGeometries in 
order to have different animations(though you can share source geometry between 
them).

Cheers.

17.08.2012, 18:41, "Thilo Weigel" <[email protected]>:
> Hi Sergey,
>
> I removed the animation manager from the original model:
> model->removeUpdateCallback(model->getUpdateCallback());
> and created a new animation manager with clones of the original animations:
> osg::ref_ptr < osgAnimation::BasicAnimationManager > manager = new 
> osgAnimation::BasicAnimationManager;
> for (unsigned int i = 0; i < modelManager->getAnimationList().size(); ++i)
> {
> osgAnimation::Animation* animation = dynamic_cast < osgAnimation::Animation* 
> >(modelManager->getAnimationList()[i]->clone(osg::CopyOp::DEEP_COPY_ALL));
> manager->registerAnimation(animation);
> }
> transform->addUpdateCallback(manager);
>
> The animations are still played on all instances - even if I add the 
> animation manager to only the first transform.
> Do I have to remove more than just the updateCallback of the original model? 
> How is it possible that the animation is played on the second instance even 
> if there is no (animation) updateCallback added to it?
>
> Thank you!
>
> Cheers,
> Thilo
>
> ------------------
> Read this topic online here:
> http://forum.openscenegraph.org/viewtopic.php?p=49309#49309
>
> _______________________________________________
> osg-users mailing list
> [email protected]
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to