I'm making a video, and I have two identical objects that start in the same place and then separate. I want to have a dotted line connecting them which appears only when the two objects start separating and continues to grow as the objects continue to separate. This takes out using the array modifier.
Make a curve, attach empties as hooks to each end of the curve, parent then those hooks/empties to the objects. That way when the objects move apart the curve will follow and grow.
For the curve to have some thickness, make it 3d and add some bevel.
To create the dotted lines for the curve, use a checker texture to control the transparency on a material .
It is actually possible to do this with an array modifier, if you also use a curve. On the object that will serve as the dot in the dotted line, you need a modifier stack like this:
The most important part is changing "Fit Type" to "Fit Curve", and putting the curve modifier below the array (the inverse will cause it to make enough copies but leave them in a straight line).
I used this with the "curve with hooked empties attached to cubes" scenario from cegaton's answer, and got this:
One thing to watch out for with this type of array, is that the series of copies always stops rather short of the curve; I guess it's erring on the side of never going over. You may need to move the end of the curve farther into the object to compensate.
For Blender Internal
Although there is a checkboard pattern available in the Texture Node Editor area, it appears to only be a 3 color channel texture but Blender Internal seems to require that alpha masks be contained within the 4th channel of the texture(I think there is a way around this by changing a setting, I forget the details). However!, you can use GIMP to make the texture. (EDIT: or follow the advice in the OP's answer regarding channel re-routing)
Here's the final result you should have by following the steps outlined below.
Start by using the CheckerBoard filter
Then try and follow what I have done in the following .gif animation. (I did try to go slowly but LiceCap removes frames so it ends up looking like it's in fast-forward. :( Too many print-screens, creating, pasting, cropping and saving images becomes stressful.)
Step 1) Copy the checkerBoard image
Step 2) Add an Alpha Channel
Step 3) Add a Layer Mask
Step 4) Make the Layer Mask editable
Step 5) Paste the copied check texture.
Step 6) Anchor the new layer so it drops into the Alpha channel
Step 7) Save the image as a .png or any other format that supports an alpha channel.
Here are the relevant Material and Texture settings that can be used for Alpha Masks.
In the Material, activate Transparency and set the type to Mask(the other 2 are showing artifacts) then set the Alpha value to 0.0.
In the Texture Settings, activate the Alpha channel and leave it set to 1.0. Set the Mapping Coordinates to Generated. This seems to be the only stable one since the curve doesn't seem to be UV-Mappable while it is still a curve.
When you move the objects around, the dotted line will become stretched or squashed. The only way I can think of to deal with this is to animate the Texture's Mapping->Size parameters to compensate for the distortion. You can insert Keyframes for the numerical input fields by hovering over them and pressing i. The field will then become colored to show it's been key-framed.
Also, to keep the dotted lines the same width, in GIMP, be sure to end the checker pattern with the opposite color that each row started with. The crop tool works fine for this. I left this mistake in so you can see the result without having to find out the annoying way.
On a side note:Here is a printScreen of the Texture node area mentioned earlier since this is one of those more hidden features that can be useful to people. This area can be used to make custom procedural textures that are also accessible in Texture Paint and Sculpt modes.
Okay, so I had some people ask me how I did it with blender internal.
I used the same method as cegaton, but with a bit of a twist.
I wont go into detail about how I got the curve to hook onto the objects, but you can find that HERE: Rig a rope spanning two objects
So after I got the curve spanning the two objects, I went into the curve settings and turned up the bevel. Then I assigned the curve a material, and a texture. I went into the node editor (you can use the node editor in internal) and in the texture portion of the node editor, added in a pattern->Checker node, and connected it to the output node. Then I went to the material portion of the node editor, added an input->texture node, and selected the texture of my checkers. Then I hooked up the Color output of the texture node to the Color AND alpha input. Then I went to the Material SETTINGS and under "Render Pipeline Options" enabled transparency.