The gentleman who wrote the script for this tutorial is Anton Vasilescu, and his website is http://www.75ive.com
Alright, so we are going to start off with the model from Step 42 of the Modeling tutorial, or if you don't have that then you can download the zip file on this page and open "pinbox.max”. First we are going to do a little file cleanup. Go to the Display Panel and hit Unhide All. Now go to your Layer Manager (looks like sheets of paper, just to the right of the Align Tool). In the dialogue box that opens use the button at the top left to create three layers. Name them "Casing”, "Pins”, and "Original Shapes” (Fig.01). By selecting the appropriate object, and highlighting the layer and hitting the Plus button, you can assign objects to each layer. After all geometry has been assigned, you can toggle the Hide icon to turn off whatever you want in the scene. Activate the checkbox next to Layer 0, and Hide all other layers to give you an empty scene to work with.
Create a plane in the perspective viewport. Set the dimensions to Length: 28 and Width: 17.5. Now set the number of segments to Length: 28, Width: 20. Move it to XYZ, 0,0.25,1. Convert the plane to an Editable Poly and go to the Edge Sub object. Select the first edge at the corner on the short side of the plane, hit Loop and then Ring to get the following selection (Fig.02).
Bring up Connect Settings. Leave the number of edges at 1, but adjust the Slide setting to -90 (Fig.03).
Go back to your Edge Sub Object mode and now select every other edge along the short axis. Use the Ring select, and then right click on the move tool icon. In the Offset World Column, enter -.5 in the Y-axis field. Rename this "Animated Surface”. Now you should have every other row nicely offset by one half of a grid box (Fig.04).
Go to the Layer Manager and unhide the Pins layer. Select Pin01, and go to the Motion Panel. Under "Assign Controller” highlight Position, and click on the Assign Controller button (it has a question mark on it). Choose Attachment and click OK (Fig.05).
Now click on the Pick Object option and then clink on the Animated Surface. The pin should jump to the center of the plane. Now click on Set Position and set the face number to 2 and the A Coordinate to 0.5, and B to 0. Make sure that Align to Surface is unchecked. Now go to the Layer Manager and activate the checkbox next to the Pins layer (Fig.06).
In this step we are going to use the script written by Anton Vasilescu, www.75ive.com. Go to MaxScript > Run Script, and choose "PinboxCreator11.ms”. You will see a small dialogue box pop up. Hit the Pick Box Object button, and click on Animated Surface. Then hit the Pick Pin Object button and choose Pin01. Now click on the Make Pinbox button. Depending on the speed of your computer you will have to wait just a moment for this script to run. It will be creating 560 pins, so give it about 5-10 seconds (Fig.07). Note: This step can be done without doing Step 6 (the script will actually create the attachment controller), but I wanted to show you how this works rather than just letting the script do ALL the work. In the Layer Manager activate the checkbox next to Layer 0 again, and hide the Pins layer.
Now we are going to create an animated texture to move the pins. You can take any image sequence and convert it to B/W and increase the contrast to use, but for the time being, we'll just create our own. Bring up the Material Editor and in the first material slot click on the Diffuse Map slot and choose Gradient Ramp. Now left click on the Gradient Ramp label and drag it into the box for Material #2 and choose Instance (Fig.08).
Change the gradient type from Linear to Radial. Set the colour of all three existing flags to white. Create two new flags in between the three existing flags (at position 25 and 75) and set the color to black. Now create two more flags just inside the two outer flags (at position 2 and 98) and set their colour to white (Fig.09).