|
Making a film strip.
- Make a single frame of film by Get->Primitive->Grid using the
default sizes and cell counts.
- Select grid1 and Duplicate->Immediate to make grid2. Offset grid2
by setting its Y Translation to -0.1 and then Effects->Inverse.
- Select both grids (and nothing else) and then Effects->Merge resulting in bmerge1.
We no longer need the grids so delete them both.
- Now we will use cubes as punches to form sprocket holes. Use Get->Primitive->Cube
with a Length of
0.5 to make the first such cube. Rename it from Cube1
to hole0 and set its translation to X = -4.5, Y = 0,
Z = -4.5.
- Make the rest of the cubes by Duplicate->Repetition with No. of
occurrences set to
9.
- Use Display->SoftWishConsole to position the cubes by typing:
SWN_do i hole* {
set num [trailingNumeric $i]
if {$num != 0 } {
SWN_setTranslation $i -4.5 0 [expr -4.5 + $num]
}
}
- In order to use the cubes as a punch we need to make them into a single object, so
select them all (
hole0 through hole9), and then merge
them by Effect->Merge.
- This generates a new object,
bmerge2, which we will use as our
"punch". We no longer need the cubes so delete them all (hole0
through hole9).
- Now we will punch the sprocket holes in the frame of film. First select
bmerge1,
then click on Boolean->Static, set Operations to Difference,
ResultingObject to A only, Material to Use Object A material,
hit OK and pick bmerge2. This gives a new object, bool1,
which is our frame of film with sprocket holes on one side. Delete bmerge1, since
we no longer need it.
- Now let's punch the sprocket holes on the other side. Move our punch over by adding 9.0
to the X Translation of
bmerge1 and select bool1, the partially
"punched" frame of film. Repeat the "punching" process. Click on Boolean->Static,
set Operations to Difference, ResultingObject to A only, Material
to Use Object A material, hit OK and
- Pick
bmerge2. This gives a new object, bool2, which is our
frame of film with sprocket holes on both sides. We don't need bool1 anymore so
delete it.
Click for hi-res image.
- We could paste the image over the frame of film we have just created, but even if we
offset there is a good change the frame might pop through, especially if the film were
bent. Instead we will make the image a separate part. We start by punching out a place for
it to go.
- Get->Primitive->Cube with a Length of
010
to make a cube. Set its X Scale to 0.8 and its Z scale to 0.95
- Select
bool2, then click on Boolean->Static, set Operations
to Difference, ResultingObject to A only, Material to Use
Object A material, hit OK and pick the cube we have just made and scaled. This
gives a new object, bool3. This new object is the edge of a frame of film, so
rename bool3 to edge0.
- Make the image portion of our frame of film by Get->Primitive->Grid
with X Cell Size =
0.8, Z Cell Size = 0.95, X
Cell Count = 10 and Z Cell Count = 10. Rename this
grid image0.
- Make as many copies of both
edge0 and image0 as there will be
frames of the filmstrip we are building using Duplicate->Repetition.
- We will use Display->SoftWishConsole to move each of the frames into
the proper position. But in order to do this we need to be sure that the parts are
numbered sequentially. We do this by typing:
SWN_compactNumericNames edge*
SWN_compactNumericNames image*

Click for hi-res image.
- Now we can move the parts into position, which we do by typing:
SWN_do i edge* {
set num [trailingNumeric $i]
SWN_setTranslation $i 0 0 [expr 10 * $num]
}
SWN_do i image* {
set num [trailingNumeric $i]
SWN_setTranslation $i 0 0 [expr 10 * $num]
}
- All that remains is to map a sequence of textures onto the image parts of each of our
frames of film. For our sequence of images we will use the coraleg Texturemation (which is on drive E of my
machine). We map using Display->SoftWishConsole by typing:
SWN_do i image* {
set num [trailingNumeric $i]
SWN_set2DTexture $i [format "E:/coraleg/crlg%04d.pic" $num ]
}

Click for hi-res image.
If we were going to be working with this model a lot it would be nice to build a
control which would let us easily remap the texture pictures to the frames on our model.
We could of course do this quite easily with the SoftWishConsole. For example:
proc remap { start } {
SWN_do i image* {
set num [trailingNumeric $i]
SWN_set2DTexture $i [format "E:/
coraleg/crlg%04d.pic" [expr $num + start] ]
}
}
remaps the sequence, allowing us to start mapping from an image other than crlg0000.pic
. So whenever we want to remap we would just type: remap N. We could also build a
TK based tool which would let us do the same thing with a slider widget (NOT a
Softimage slider). This tool could run as a separate process, communicating with a
SoftWish receiver. This means that the control and Soft are alive at the same time, so at
any time you could remap the sequence by moving a slider. Here is what such a control
looks like.

Click for hi-res image.
|