Caffeine Abuse - The Blog

Create Duplicates from Animation

Scattering or placing a large number of objects by hand is not only a tedious task but also a quite tricky one, at least if you’re trying to maintain perfect spacing, angles, etc between all the objects. Fortunately enough, there are several ways to automate the process, though some of them might not be self-evident for the newcomer. A very handy feature in XSI that is easily overlooked is the ability to create duplicates or instances based on an objects animation.
Start by open the scene rollercoaster.scn from this issues CD. The scene contains the basic components to get you on your way of building your very own amusement park. For the propose of demonstration, we’ve limited the scene to a small section of the rollercoaster, though the procedure is the very same if you are to create the entire ride.

Press [Crtl] + [2] to switch to the Animate Toolbar. Select the sleeper model and chose Create > Path > Set Path. In the Set Path PPG check both the Linear and Tangent checkboxes. This ensures that the sleeper will be oriented along the path and will travel at a constant speed. Click Ok and pick the curve named track_path when prompted. In the Path Constraint PPG, switch to the Tangency tab and click the –Z button. Next, switch to the Up Vector tab and check the Active checkbox. Now, the sleeper should be properly aligned.

From the Edit > Duplicate/Instantiate menu chose Duplicate/Instantiate from Animation. Change the Step to 2. This will create a duplicate at every other frame throughout the interval you set as the Start and End frame. Since you already have one sleeper (the one you’re currently have selected), change the Start frame to 3. Apart from requiring far less memory than duplicates, the instances are an exact copy of your original model so any changes or modification made to your original will automatically change all the instances as well. So check the Instance checkbox and click OK. You no longer need (or want) the path constraint animation. So, select your (original) sleeper model, return to frame 1 and from the Constrain menu choose Remove All Constraints.

The project files used in this tutorial can be found at:

You can create complex arrangement or patterns by duplicating an object based on its animation. You can control the distribution of the objects by adding keyframes or simply modifying the fcurve in the Animation Editor.

Quick tip
Add more details, such as railing, in the same manner as the as the sleeper but using different duration for the path constrain as well as the step values.