[WIP] InAIte - Blender Crowd Simulation

This is an addon I’ve been working on for crowd simulation in Blender. My primary goal is to make a flexible system that could be easily be extended so that I could try different methods for things like predicting collisions.

At the heart of the addon are the fuzzy logic “brains”. Nodes are used to describe how different inputs contribute to the outputs. None of the logic is hard coded so every part of the brain is either about collecting data, processing data or outputting data. Hopefully this means a lot of different things should be possible.

The node editor was originally a separate window using QT (PySide) but is now internal so I’m still in the process of moving the state tree over to the new nodes. I would like to be able to use billboards as agents and play image sequences on them rather than animating an armature but does anyone have any ideas how this might be achieved because the way I currently handle animation is using action strips?

Agents will be able to follow a ground mesh and this is nearly done but I’m just trying to get my head around the maths involved with aligning vectors (Normal of the ground mesh and z axis of agent) while keeping the agent pointing in the right direction!

The other thing I’m struggling with is how to add variation to the agents. Can the addon just scale individual bones of an armature a small amount and still expect the animation to work? Does each agent have to have it’s own shader or can a shader be made that looks slightly different based on some property of the object? Any ideas would be very welcome.

Here are two examples of things I’ve been experimenting with:

1 Like

wow very good!

What a great idea! Have you checked the existent crowd simulation systems for other programs? Maybe you could get some ideas from them.

Look interesting!
Can it be use for non overlapping objects and images like that: http://paulbourke.net/texture_colour/randomtile/

With the features I’m currently working on you might be able to have a fairly dense crowd of varying sizes but it would be a real pain to setup and almost certainly wouldn’t work out so well. It would also take time to setup and simulate whereas a dedicated script for this looks fairly easy to code and should be easy to use. If there isn’t already a script for doing this out there it might be fun to have a go at it.

1 Like

Is this available for download at all or not yet?

I’m sorry for the delay but I was unable to get it to the state I wanted before university started. I’m still working on it when I have free time so hopefully I can get it into a state that is at least usable (but far from fully featured) quite soon.

1 Like

no problem. Can’t wait to see the results :slight_smile:

Here we go! Basic formation control has been added and I’ve made the GitHub repository public. You can get the work in progress here:

WARNING! It’s very experimental. Lots of unfinished features, messy UI, no instructions etc… There is also no armature animation. However, I’ve started working on ideas for this and hopefully this can be done over the Christmas holidays. The included examples give a bit of an idea of how it might work and hopefully it can be made a bit simpler for common setups.

Enjoy!

1 Like

Wow! now all it needs is support for groups(or duplis) for animated characters and offset animation properties for randomness.
Very good results and development. Good job.

very interesting work you are doing!! Keep it up! :slight_smile:

Hey Albertofx, what do you mean by “groups(or duplis) for animated characters”? Do you mean groups of animations or groups of agents? How would you then use the group? Thank you!

1 Like

Im really looking forward to see this with animated characters! Keep it up!

A guy named Harkyman did a crowd simulator called BlendedPeople or BlenderPeople years ago. Back in the 2.3 days. It actuall worked pretty well but you had to have a really fast computer and a LOT of ram to get it to really work well. I think he just abandoned it because of that.

For those interested in continuing to follow development of this please see:https://blenderartists.org/forum/showthread.php?406214-CrowdMaster

The core simulation engine is the same but with lots of other features added!

1 Like