Re: [osg-users] questions on simple skeletal animation for crowd simulation

2012-11-29 Thread Bruno Fanini
With the same finder in animtkviewer:

struct AnimationManagerFinder : public osg::NodeVisitor {
osg::ref_ptrosgAnimation::BasicAnimationManager AniMan;
AnimationManagerFinder() :
osg::NodeVisitor(osg::NodeVisitor::TRAVERSE_ALL_CHILDREN) {}
void apply(osg::Node node) {
if (AniMan.valid())
return;
if (node.getUpdateCallback()) {
osgAnimation::AnimationManagerBase* b =
dynamic_castosgAnimation::AnimationManagerBase*(node.getUpdateCallback());
if (b) {
AniMan = new osgAnimation::BasicAnimationManager(*b);
return;
}
}
traverse(node);
}
};



On Thu, Nov 29, 2012 at 6:46 PM, Bruno Fanini phoeni...@gmail.com wrote:

 Hello,
 I'm testing some solutions and I have an exported animated model (it
 contains just one animation) that is correctly animated through the
 animationviewer player.
 In my code I just want to play (in loop) that single animation forever,
 but nothing happens with these lines:

 _myModel = osgDB::readNodeFile(my-animated-model.osg);

  AnimationManagerFinder finder;
 _myModel-accept( finder );
 if (finder.AniMan.valid()){
  _aniMan = finder.AniMan.get();
 _myModel-setUpdateCallback( _aniMan.get() );

 const osgAnimation::AnimationList animations =
 _aniMan-getAnimationList();
 for (unsigned int i=0; i  animations.size(); ++i ){
  _aniMan-playAnimation( animations[i] );
 printf(Animation %d found\n,i);
  animations[i]-setPlayMode( osgAnimation::Animation::LOOP );
 }
 }

 I've did examine animtkviewer example and other, but I'm not able to
 figure out what's missing to play the animation... maybe somthing really
 stupid?

 Thanks



 On Fri, Nov 23, 2012 at 11:08 AM, Sergey Polischuk pol...@yandex.ruwrote:

 Hi

 You can use any .fbx model with skinned character, as osg can read those
 just fine. I think you should be able to find some of those in the web.

 Cheers.

 22.11.2012, 03:41, Bruno Fanini phoeni...@gmail.com:

 Hello Jan and Christian,
 Thanks for your hints
 The simulation has to run on medium-sized crowds (order of 1000-2000agents) 
 since we are planning to run on just a portion of a city, so
 actually theres no need for huge-sized crowds. At least not at the present
 times.
 The architecture I'm developing should allow to separate completely the
 engine (collisions, social influences, etc) and let a separate FrontEnd to
 receive produced data, so it should be feasible both at CPU and GPU level.
 Now I'm wondering where I can find some osgAnimation-based characters
 (apart from the classic avatar.osg in osg-data) or how can I generate a
 very basic walking character - I just need to control independently the
 walking speed - and have some tests. I've read something involving the
 Blender exporter: is this the only workflow (modeling) or I can find some
 basic animated agents around on the web that I can somehow convert to a
 osgAnimation-based setup?
 Thanks,


 On Tue, Nov 20, 2012 at 5:16 PM, Jan Ciger jan.ci...@gmail.com wrote:

 Hello,

 Back in the day I have done about 2000 walking skeletons for a demo using
 the osgCal plugin - i.e. no instancing, separate node each of them,
 software skinning (ok, skeletons don't have much skin :-p) they just shared
 some data. That was running at ~20fps on a GeForce4 back then. So it is
 certainly possible. Not sure how amenable the osgAnimation stuff is to that
 - to me it looked a bit unfinished and clunky when I worked with it last
 time.

 The comment from Christian about billboards is certainly valid if you
 want to scale the simulation above some ~20k-50k characters - bellow that
 you probably will be able to drive fully articulated characters. With some
 clever LOD you can do even something like this:

 http://archiveweb.epfl.ch/vrlab.epfl.ch/Movies/Movies_index.html (scroll
 down for the Real-Time Navigating Crowds: Scalable Simulation and
 Rendering video, the paper is here:
 http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.90.3149rep=rep1type=pdf
 )

 Of course, the CPU is the bottleneck, as Christian said - you need to
 push as much simulation as you can on the GPU.

 Jan



 On Tue, Nov 20, 2012 at 3:54 PM, Christian Buchner 
 christian.buch...@gmail.com wrote:


 Are you sure your agents need to be full 3D models?

 I've done something using perspective billboards, in the osgrvo2 sample
 in the osgRecipes repository maintained by Wang Rui. The billboards were
 rendered in Poser using a python script that rendered it out from many
 viewing angles.

 The GPU can easily render 1 agents with different walking speeds at
 interactive frame rates. The bottleneck is the agent simulation on the CPU.
 ;)


 2012/11/17 Bruno Fanini phoeni...@gmail.com

 Hello osgUsers,

 Within a osg-based crowd simulator I'm currently developing, I was trying
 to investigate a simple skeletal animation for a given set of agents.
 I'm digging the animtkviewer.cpp example (osganimationviewer) and it
 looks 

Re: [osg-users] questions on simple skeletal animation for crowd simulation

2012-11-29 Thread Bruno Fanini
Hello,
I'm testing some solutions and I have an exported animated model (it
contains just one animation) that is correctly animated through the
animationviewer player.
In my code I just want to play (in loop) that single animation forever, but
nothing happens with these lines:

_myModel = osgDB::readNodeFile(my-animated-model.osg);

 AnimationManagerFinder finder;
_myModel-accept( finder );
if (finder.AniMan.valid()){
_aniMan = finder.AniMan.get();
_myModel-setUpdateCallback( _aniMan.get() );

const osgAnimation::AnimationList animations = _aniMan-getAnimationList();
for (unsigned int i=0; i  animations.size(); ++i ){
_aniMan-playAnimation( animations[i] );
printf(Animation %d found\n,i);
animations[i]-setPlayMode( osgAnimation::Animation::LOOP );
}
}

I've did examine animtkviewer example and other, but I'm not able to figure
out what's missing to play the animation... maybe somthing really stupid?

Thanks



On Fri, Nov 23, 2012 at 11:08 AM, Sergey Polischuk pol...@yandex.ru wrote:

 Hi

 You can use any .fbx model with skinned character, as osg can read those
 just fine. I think you should be able to find some of those in the web.

 Cheers.

 22.11.2012, 03:41, Bruno Fanini phoeni...@gmail.com:

 Hello Jan and Christian,
 Thanks for your hints
 The simulation has to run on medium-sized crowds (order of 1000-2000agents) 
 since we are planning to run on just a portion of a city, so
 actually theres no need for huge-sized crowds. At least not at the present
 times.
 The architecture I'm developing should allow to separate completely the
 engine (collisions, social influences, etc) and let a separate FrontEnd to
 receive produced data, so it should be feasible both at CPU and GPU level.
 Now I'm wondering where I can find some osgAnimation-based characters
 (apart from the classic avatar.osg in osg-data) or how can I generate a
 very basic walking character - I just need to control independently the
 walking speed - and have some tests. I've read something involving the
 Blender exporter: is this the only workflow (modeling) or I can find some
 basic animated agents around on the web that I can somehow convert to a
 osgAnimation-based setup?
 Thanks,


 On Tue, Nov 20, 2012 at 5:16 PM, Jan Ciger jan.ci...@gmail.com wrote:

 Hello,

 Back in the day I have done about 2000 walking skeletons for a demo using
 the osgCal plugin - i.e. no instancing, separate node each of them,
 software skinning (ok, skeletons don't have much skin :-p) they just shared
 some data. That was running at ~20fps on a GeForce4 back then. So it is
 certainly possible. Not sure how amenable the osgAnimation stuff is to that
 - to me it looked a bit unfinished and clunky when I worked with it last
 time.

 The comment from Christian about billboards is certainly valid if you want
 to scale the simulation above some ~20k-50k characters - bellow that you
 probably will be able to drive fully articulated characters. With some
 clever LOD you can do even something like this:

 http://archiveweb.epfl.ch/vrlab.epfl.ch/Movies/Movies_index.html (scroll
 down for the Real-Time Navigating Crowds: Scalable Simulation and
 Rendering video, the paper is here:
 http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.90.3149rep=rep1type=pdf
 )

 Of course, the CPU is the bottleneck, as Christian said - you need to push
 as much simulation as you can on the GPU.

 Jan



 On Tue, Nov 20, 2012 at 3:54 PM, Christian Buchner 
 christian.buch...@gmail.com wrote:


 Are you sure your agents need to be full 3D models?

 I've done something using perspective billboards, in the osgrvo2 sample in
 the osgRecipes repository maintained by Wang Rui. The billboards were
 rendered in Poser using a python script that rendered it out from many
 viewing angles.

 The GPU can easily render 1 agents with different walking speeds at
 interactive frame rates. The bottleneck is the agent simulation on the CPU.
 ;)


 2012/11/17 Bruno Fanini phoeni...@gmail.com

 Hello osgUsers,

 Within a osg-based crowd simulator I'm currently developing, I was trying
 to investigate a simple skeletal animation for a given set of agents.
 I'm digging the animtkviewer.cpp example (osganimationviewer) and it looks
 like a good solution for this case.
 In this context, I would just need a plain simple walking animation for
 my characters.
 I've a set of PositionAttitudeTransforms nodes to control position 
 attitude of a single agent, so my questions are:
 - is it possible to control the independent speed of the walking animation
 for a single agent? (i.e. another agent is walking faster, etc..)
 - what about instancing 3d models? is it still possible with this approach
 somehow? (i.e. every p.a.t pointing to the same 3d model)
 - what about the performance drop (estimate)?
 - is there any example out there applied to crowd simulations or similar?
 Thanks,

 --
 Bruno Fanini
 http://BrunoFanini.co.nr
 http://DevHelio.co.nr (Software Development)
 

Re: [osg-users] questions on simple skeletal animation for crowd simulation

2012-11-23 Thread Sergey Polischuk
Hi You can use any .fbx model with skinned character, as osg can read those just fine. I think you should be able to find some of those in the web. Cheers. 22.11.2012, 03:41, "Bruno Fanini" phoeni...@gmail.com:Hello Jan and Christian,Thanks for your hintsThe simulation has to run on medium-sized crowds (order of 1000-2000 agents) since we are planning to run on just a portion of a city, so actually theres no need for huge-sized crowds. At least not at the present times.The architecture I'm developing should allow to separate completely the engine (collisions, social influences, etc) and let a separate FrontEnd to receive produced data, so it should be feasible both at CPU and GPU level.Now I'm wondering where I can find some osgAnimation-based characters (apart from the classic "avatar.osg" in osg-data) or how can I generate a very basic walking character - I just need to control independently the walking speed - and have some tests. I've read something involving the Blender exporter: is this the only workflow (modeling) or I can find some basic animated agents around on the web that I can somehow convert to a osgAnimation-based setup?Thanks,On Tue, Nov 20, 2012 at 5:16 PM, Jan Ciger jan.ci...@gmail.com wrote:Hello, Back in the day I have done about 2000 walking skeletons for a demo using the osgCal plugin - i.e. no instancing, separate node each of them, software skinning (ok, skeletons don't have much skin :-p) they just shared some data. That was running at ~20fps on a GeForce4 back then. So it is certainly possible. Not sure how amenable the osgAnimation stuff is to that - to me it looked a bit unfinished and clunky when I worked with it last time.  The comment from Christian about billboards is certainly valid if you want to scale the simulation above some ~20k-50k characters - bellow that you probably will be able to drive fully articulated characters. With some clever LOD you can do even something like this: http://archiveweb.epfl.ch/vrlab.epfl.ch/Movies/Movies_index.html (scroll down for the "Real-Time Navigating Crowds: Scalable Simulation and Rendering" video, the paper is here: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.90.3149rep=rep1type=pdf) Of course, the CPU is the bottleneck, as Christian said - you need to push as much simulation as you can on the GPU.JanOn Tue, Nov 20, 2012 at 3:54 PM, Christian Buchner christian.buch...@gmail.com wrote:Are you sure your agents need to be full 3D models?I've done something using perspective billboards, in the osgrvo2 sample in the osgRecipes repository maintained by Wang Rui. The billboards were rendered in Poser using a python script that rendered it out from many viewing angles. The GPU can easily render 1 agents with different walking speeds at interactive frame rates. The bottleneck is the agent simulation on the CPU. ;)2012/11/17 Bruno Fanini phoeni...@gmail.comHello osgUsers,Within a osg-based crowd simulator I'm currently developing, I was trying to investigate a simple skeletal animation for a given set of agents.I'm digging the animtkviewer.cpp example (osganimationviewer) and it looks like a good solution for this case.In this context, I would just need a plain simple "walking" animation for my characters.I've a set of PositionAttitudeTransforms nodes to control position  attitude of a single agent, so my questions are:- is it possible to control the independent speed of the walking animation for a single agent? (i.e. another agent is walking faster, etc..)- what about instancing 3d models? is it still possible with this approach somehow? (i.e. every p.a.t pointing to the same 3d model)- what about the performance drop (estimate)?- is there any example out there applied to crowd simulations or similar?Thanks,-- Bruno Fanini http://BrunoFanini.co.nrhttp://DevHelio.co.nr (Software Development)http://www.facebook.com/DigitalDivadlo (Digital Art)___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org -- Bruno Faninihttp://BrunoFanini.co.nrhttp://DevHelio.co.nr (Software Development)http://www.facebook.com/DigitalDivadlo (Digital Art),___osg-users mailing listosg-users@lists.openscenegraph.orghttp://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] questions on simple skeletal animation for crowd simulation

2012-11-21 Thread Bruno Fanini
Hello Jan and Christian,
Thanks for your hints

The simulation has to run on medium-sized crowds (order of 1000-2000
agents) since we are planning to run on just a portion of a city, so
actually theres no need for huge-sized crowds. At least not at the present
times.
The architecture I'm developing should allow to separate completely the
engine (collisions, social influences, etc) and let a separate FrontEnd to
receive produced data, so it should be feasible both at CPU and GPU level.

Now I'm wondering where I can find some osgAnimation-based characters
(apart from the classic avatar.osg in osg-data) or how can I generate a
very basic walking character - I just need to control independently the
walking speed - and have some tests. I've read something involving the
Blender exporter: is this the only workflow (modeling) or I can find some
basic animated agents around on the web that I can somehow convert to a
osgAnimation-based setup?

Thanks,


On Tue, Nov 20, 2012 at 5:16 PM, Jan Ciger jan.ci...@gmail.com wrote:

 Hello,

 Back in the day I have done about 2000 walking skeletons for a demo using
 the osgCal plugin - i.e. no instancing, separate node each of them,
 software skinning (ok, skeletons don't have much skin :-p) they just shared
 some data. That was running at ~20fps on a GeForce4 back then. So it is
 certainly possible. Not sure how amenable the osgAnimation stuff is to that
 - to me it looked a bit unfinished and clunky when I worked with it last
 time.

 The comment from Christian about billboards is certainly valid if you want
 to scale the simulation above some ~20k-50k characters - bellow that you
 probably will be able to drive fully articulated characters. With some
 clever LOD you can do even something like this:

 http://archiveweb.epfl.ch/vrlab.epfl.ch/Movies/Movies_index.html (scroll
 down for the Real-Time Navigating Crowds: Scalable Simulation and
 Rendering video, the paper is here:
 http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.90.3149rep=rep1type=pdf
 )

 Of course, the CPU is the bottleneck, as Christian said - you need to push
 as much simulation as you can on the GPU.

 Jan



 On Tue, Nov 20, 2012 at 3:54 PM, Christian Buchner 
 christian.buch...@gmail.com wrote:


 Are you sure your agents need to be full 3D models?

 I've done something using perspective billboards, in the osgrvo2 sample
 in the osgRecipes repository maintained by Wang Rui. The billboards were
 rendered in Poser using a python script that rendered it out from many
 viewing angles.

 The GPU can easily render 1 agents with different walking speeds at
 interactive frame rates. The bottleneck is the agent simulation on the CPU.
 ;)


 2012/11/17 Bruno Fanini phoeni...@gmail.com

 Hello osgUsers,

 Within a osg-based crowd simulator I'm currently developing, I was
 trying to investigate a simple skeletal animation for a given set of agents.
 I'm digging the animtkviewer.cpp example (osganimationviewer) and it
 looks like a good solution for this case.

 In this context, I would just need a plain simple walking animation
 for my characters.

 I've a set of PositionAttitudeTransforms nodes to control position 
 attitude of a single agent, so my questions are:
 - is it possible to control the independent speed of the walking
 animation for a single agent? (i.e. another agent is walking faster, etc..)
 - what about instancing 3d models? is it still possible with this
 approach somehow? (i.e. every p.a.t pointing to the same 3d model)
 - what about the performance drop (estimate)?
 - is there any example out there applied to crowd simulations or similar?

 Thanks,


 --
 Bruno Fanini
 http://BrunoFanini.co.nr
 http://DevHelio.co.nr (Software Development)
 http://www.facebook.com/DigitalDivadlohttp://www.facebook.com/digitaldivadlo
  (Digital
 Art)


 ___
 osg-users mailing list
 osg-users@lists.openscenegraph.org
 http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org



 ___
 osg-users mailing list
 osg-users@lists.openscenegraph.org
 http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org



 ___
 osg-users mailing list
 osg-users@lists.openscenegraph.org
 http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org




-- 
Bruno Fanini
http://BrunoFanini.co.nr
http://DevHelio.co.nr (Software Development)
http://www.facebook.com/DigitalDivadlohttp://www.facebook.com/digitaldivadlo
(Digital
Art)
___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] questions on simple skeletal animation for crowd simulation

2012-11-20 Thread Christian Buchner
Are you sure your agents need to be full 3D models?

I've done something using perspective billboards, in the osgrvo2 sample in
the osgRecipes repository maintained by Wang Rui. The billboards were
rendered in Poser using a python script that rendered it out from many
viewing angles.

The GPU can easily render 1 agents with different walking speeds at
interactive frame rates. The bottleneck is the agent simulation on the CPU.
;)


2012/11/17 Bruno Fanini phoeni...@gmail.com

 Hello osgUsers,

 Within a osg-based crowd simulator I'm currently developing, I was trying
 to investigate a simple skeletal animation for a given set of agents.
 I'm digging the animtkviewer.cpp example (osganimationviewer) and it looks
 like a good solution for this case.

 In this context, I would just need a plain simple walking animation for
 my characters.

 I've a set of PositionAttitudeTransforms nodes to control position 
 attitude of a single agent, so my questions are:
 - is it possible to control the independent speed of the walking animation
 for a single agent? (i.e. another agent is walking faster, etc..)
 - what about instancing 3d models? is it still possible with this approach
 somehow? (i.e. every p.a.t pointing to the same 3d model)
 - what about the performance drop (estimate)?
 - is there any example out there applied to crowd simulations or similar?

 Thanks,


 --
 Bruno Fanini
 http://BrunoFanini.co.nr
 http://DevHelio.co.nr (Software Development)
 http://www.facebook.com/DigitalDivadlohttp://www.facebook.com/digitaldivadlo
  (Digital
 Art)


 ___
 osg-users mailing list
 osg-users@lists.openscenegraph.org
 http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] questions on simple skeletal animation for crowd simulation

2012-11-20 Thread Jan Ciger
Hello,

Back in the day I have done about 2000 walking skeletons for a demo using
the osgCal plugin - i.e. no instancing, separate node each of them,
software skinning (ok, skeletons don't have much skin :-p) they just shared
some data. That was running at ~20fps on a GeForce4 back then. So it is
certainly possible. Not sure how amenable the osgAnimation stuff is to that
- to me it looked a bit unfinished and clunky when I worked with it last
time.

The comment from Christian about billboards is certainly valid if you want
to scale the simulation above some ~20k-50k characters - bellow that you
probably will be able to drive fully articulated characters. With some
clever LOD you can do even something like this:

http://archiveweb.epfl.ch/vrlab.epfl.ch/Movies/Movies_index.html (scroll
down for the Real-Time Navigating Crowds: Scalable Simulation and
Rendering video, the paper is here:
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.90.3149rep=rep1type=pdf
)

Of course, the CPU is the bottleneck, as Christian said - you need to push
as much simulation as you can on the GPU.

Jan


On Tue, Nov 20, 2012 at 3:54 PM, Christian Buchner 
christian.buch...@gmail.com wrote:


 Are you sure your agents need to be full 3D models?

 I've done something using perspective billboards, in the osgrvo2 sample in
 the osgRecipes repository maintained by Wang Rui. The billboards were
 rendered in Poser using a python script that rendered it out from many
 viewing angles.

 The GPU can easily render 1 agents with different walking speeds at
 interactive frame rates. The bottleneck is the agent simulation on the CPU.
 ;)


 2012/11/17 Bruno Fanini phoeni...@gmail.com

 Hello osgUsers,

 Within a osg-based crowd simulator I'm currently developing, I was trying
 to investigate a simple skeletal animation for a given set of agents.
 I'm digging the animtkviewer.cpp example (osganimationviewer) and it
 looks like a good solution for this case.

 In this context, I would just need a plain simple walking animation for
 my characters.

 I've a set of PositionAttitudeTransforms nodes to control position 
 attitude of a single agent, so my questions are:
 - is it possible to control the independent speed of the walking
 animation for a single agent? (i.e. another agent is walking faster, etc..)
 - what about instancing 3d models? is it still possible with this
 approach somehow? (i.e. every p.a.t pointing to the same 3d model)
 - what about the performance drop (estimate)?
 - is there any example out there applied to crowd simulations or similar?

 Thanks,


 --
 Bruno Fanini
 http://BrunoFanini.co.nr
 http://DevHelio.co.nr (Software Development)
 http://www.facebook.com/DigitalDivadlohttp://www.facebook.com/digitaldivadlo
  (Digital
 Art)


 ___
 osg-users mailing list
 osg-users@lists.openscenegraph.org
 http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org



 ___
 osg-users mailing list
 osg-users@lists.openscenegraph.org
 http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org