home about gallery publications education links contact

..::mosaic cards::..

To create this effect, it’s a simple case of initially positioning particles evenly over an object, setting them to facing cards (Shape Facing operator) with a slight overlap to fill in any gaps, offset their positions and get them to travel back to their original location. The main gumph is to ensure that the images you assign do not start cycling as they travel from one event to the next, so to ensure that this isn’t the case, I’ve used a Material Dynamic operator with a very low cycle rate, instancing the operator across multiple events. The final larger image that is built up is produced with a separate Mesher object that is constructed by referencing a single operator event – the final aptly titled “Non Renderable” event; this is so that you can manually edit the UVW Mapping of this object, positioning and sizing it to fill the frame or the resulting built card as required.

The trick is to get these particles back to their original places. Normally you would simply use a deflector to stop the particles in their tracks, however in this case I’ve used a Deflector coupled with a Find Target test to seek out the nearest surface position on the original reference position object. This is so that the system can be amended, as desired, to control arrival time, such as slowing down the particles or adding “ease-to”’s to get them to come to a gradual rest – in essence, giving more control to the final result.

You could also control the particle’s final positioning by using Script Vectors; use a script in the initial event to set the vector positions and the particles will seek out these final positions even if they are jumbled up with Wind turbulence or other force effects! Bear in mind that the resulting Mesher geometry is built up with overlapped particles, so if there are any shadows added to the scene there may well be some shadow lines fighting on the resulting geometry. Also, the basic particle positioning works fine for this scene, but with more particles I would seriously advise writing a Birth Script to create the exact amount of particles and positioning them individually at every vertex of the position reference object so there are no duplicates or overlaps.

Enlarge Screenshot The particle system generates the same amount of vertices as the original placement object. These are then offset and re-animated to their original positions.
Enlarge Screenshot The travelling particles intersect a Deflector, called on in a Collision test which then pipes the particles to the next event maintaining their original speed to find the nearest surface
Enlarge Screenshot
Setting up the material is the most painstaking part of this procedure. You could automate the process with MAXScript when using several hundred images!
Enlarge Screenshot
The final sequence and the Mesher object. In this example, I added the UVW Mapping modifier once the sequence was built up to ensure the mapping fit perfectly.
Download the max file! Zip file to accompany.

Initially published: 3D World magazine, Issue 101, March 2008.

Copyright Pete Draper, March 2008. Reproduction without permission prohibited.