Jump to content

Flocking behaviour from particles


photo

Recommended Posts

Hello, 

i am trying to implement a simple flocking example in Unigine, evolved later with predator behaviours etc... the first approach is going to be according to Craig Reynolds' simple algorithm (http://www.red3d.com/cwr/boids). Particle systems seemed to be the right choice for it (especially since now we can have object cluster attached to it), but i realised that they do not support collision detection between particles for performance reasons... so i was wondering whether there is a way to actually get the distance between particles and from there adjust the particle system's behaviour...? or is there any other suggestions on how to actually implement a flocking algorithm in Unigine? i don t really know how efficient would be performance wise to create separate mesh or smesh objects and arrange those into a flocking system (provided that i am interested in having a quite few boids acting as a flock).....?

Any suggestions would be appreciated....! and i do hope this is the right place to post this....:)

 

thank you very much 

Link to comment

ObjectParticles cannot be used for your use-case as they don't allow particle position manipulation. Use ObjectBillbords instead if billboard render representation is appropriate. Otherwise you will have to use individual ObjectMesh node instances.

Link to comment
  • 1 month later...

Ulf i was wondering, do you think is going to be efficient following your suggestion on using ObjectMesh to simulate flocking behaviours to determine the rules of interaction in the flock by using joints?? the initial approach of programming the rules is the one i am implementing in any case but i was just wondering whether joints approach could provide interesting results also....Like a combination of joints to achieve separation and proximity amongst the flock elements. I am just not sure whether this is going to be efficient and fast enough, especially for larger number of members. 

Link to comment
×
×
  • Create New...