Peasant Village, Visual effects in live action
Peasant Village - Crowd simulation test render
This is a test render from my current crowd simulator. The lighting, texturing and modelling of the environment is very simple. This is how it works:
- nParticles are emitted from a volume emitter
- Three different objects (bugs with different size and walk speed) are randomly instanced to the particles
- A mesh is used as a particle goal. The mesh is animated in the Z direction. The nParticles will try to reach this goal.
- The radius, goalU/V and goalPP of the nParticles are randomized at birth
- During runtime (after dynamics) the particles are constrained to the NURBS surface using the closestPointOnSurface node. A normal vector (at the position of each particle, using the pointOnSurfaceInfo) is stored in a PP-attribute and is transferred to the instance object.
- The nParticles self collision is on, preventing the particles from colliding.
- Some variation in movement is introduced using fields. A static turbulence field guides the particles in “paths” (though it is set to not have affect in this video). Each particle is also a radial field so I can separate, or clump together, the particles if I like.
- There is also a script that changes the instanced object depending on the velocity of the particle. This way the bugs won’t “slide” on the surface as they accelerate. This script is currently not in use - I’m having problems with “popping” objects because the walk cycles are out of sync.
I’ve been trying to find a way to access an attribute on the instanced object, depending on the velocity of the “owning” particle. This would be great, but I have no idea how this can (or if) be achieved. Anyone?
Next entry: Progress...
Previous entry: Nav-mesh and Pathfinding

















