Chapter 1. New Menu Options Project Menu Clear The Clear menu option is now more important because objects and settings are not automatically cleared after a scene ends as they were in VideoScape version 1.00. This means you can view a scene, return to the Control Window and change such settings as camera motion, lighting, or background colors, and view the scene again without affecting other settings and having to reload the objects. You can also add objects to the scene without affecting objects already there. The Clear menu now has a submenu consisting of: * Objects Only: Clears all loaded objects without affecting the other settings. * All Settings: Clears loaded objects and all other settings back to VideoScape's standard settings. To choose a submenu item: 1) Hold down the Menu button and put the cursor on the main menu item. 2) Move the cursor over until the submenu item you want is highlighted. 3) Release the Menu button and that item is chosen. Import Modeler Object Aegis Modeler 3D is an object-generation program which also lets you plot motion files. It has three adjustable windows showing top, side, and front views (you can change the views), and an additional window for viewing the object in its solid form. It also can work with data from Aegis Draw Plus and Byte by Byte's Sculpt 3D. If your Amiga has at least one megabyte of memory, you can run Modeler 3D and VideoScape 3D simultaneously. As you build an object, you can swap windows and use VideoScape to test different light sources and camera paths. Import Modeler Object works only when you are running Modeler 3D at the same time as VideoScape. When it is chosen the object in the current layer of Modeler 3d will be loaded into VideoScape just as if it had been loaded from a file on disk. Display Menu Load New Palette The Load New Palette command lets you substitute a palette you've created in an IFF program for the VideoScape Palette. To achieve the correct object shading with your palette, you should understand how VideoScape uses its palette. First of all, although color codes for polygons are limited, each code uses several shades in the VideoScape palette. Even more shades are used when you view the object in the Animation Window, depending on the contrast provided by the light source. The new shades are made by "dithering" (mixing) "pixels" (dots) of palette colors in varying amounts. In order for your palette to work the same way, shades of a color must occupy side-by-side positions. The best way to create your own palette is to load the VideoScape palette into an IFF program which lets you edit color palettes, such as a paint program. Then, because you can see which positions shades of a color occupy, you can easily adjust them. If you changed the red shades into shades of orange, for example, polygons using the red color codes will appear orange when rendered in VideoScape's animation window. To edit the VideoScape palette: 1) Run a program which supports the IFF format, such as a paint program. There are two VideoScape palettes, a 32-color palette for lower resolution displays and a 16-color palette for higher resolutions. Because Amiga programs tend to use different terminology to describe the same resolution, the following table shows which palette to use: VideoScape 3D DPaint II Aegis Images Video Titler VideoScape 3D 32ColorPalette.pic Lo-Res Images Lo-Res 320x200,352x220,384x240 Interlace N/A Video-Res 320x400,352x440,384x480 16ColorPalette.hpic Med-Res Images-HR Med-Res 640x200,704x220,768x240 Hi-Res N/A Hi-Res 640x400,704x440,768x480 2) Open one of the palettes listed in the previous table as a picture - you'll find the files in the pic directory on your VideoScape version 2.00 disk. A group of spheres, each created with a different color code (from the matte group of colors), will appear. As you adjust the color palette, you'll be able to see which color codes are affected. Higher color codes which correspond with the first 16 are also affected. 3) When you're done, save your new palette as an IFF picture under another filemane. To open a new palette in VideoScape: 1) Choose Load New Palette from the Display menu. The Storage requestor will appear. The previous table shows which VideoScape settings require a 32-color palette and which require a 16-color palette. 2) Open the IFF file containing your palette, ignoring the rest of the file. The palette will remain in effect until a new one is loaded, settings are cleared, or a new settings file is loaded. The name of a custom palette file is saved along with a settings file. To return to the standard VideoScape palette: 1) Choose Load New Palette from the Display menu. The storage requestor will appear. 2) Without selecting a filename, select OK. The standard palette will be loaded. Extra Halfbrite The Amiga 500, 2000, and newer models of the 1000 have the "halfbrite" capability, which makes it possible to have a 64-color palette (in Lo-Res and Video-Res only). In VideoScape version 2.00, when you turn on Extra Halfbrite, 32 more colors are added to the palette. These are duplicates of the original colors, only they're half as bright - thus the term "halfbrite". To check for the Halfbrite capability: 1) First, choose Clear All Settings from the Project menu. 2) Choose Extra Halfbrite from the Display menu - a checkmark means it's turned on. Before you can view the test picture, you must first load its color palette. 3) Choose Load New Palette from the Display menu. The storage requestor will appear. 4) Open HalfbriteTest.pic - you'll find it in the pic directory on your new VideoScape program disk. 5) Select 352x220 resolution. 6) Select Load Bgnd. 7) Again, open HalfbriteTest.pic. 8) Select BEGIN ANIMATION. A scenic background will appear. If you can't read this "secret" message, "You Have Halfbrite!!", your 1000 doesn't have the version of the "Denise" chip that supports halfbrite. You can view the halfbrite picture in Hold and Modify mode but this requires more memory. If you'd like to work in halfbrite mode, check with your dealer to order a new Denise chip. The chip number is #8362 and it must be rev. 6 or greater. 9) Hit the zero key to exit the scene. VideoScape uses halfbrite colors for slightly finer shading of solid objects. However, the main purpose of halfbrite mode is to use backgrounds and foregrounds with special effects created in other halfbrite programs. When you render scenes in halfbrite, keep the following in mind: *Halfbrite is only available in Lo-Res or Video-Res. *Background and foreground paintings on the VideoScape IFF pictures disk will look different because they were created with the nonhalfbrite VideoScape palette. *If you load a color palette, objects won't be shaded correctly. The only advantage to loading a color palette is to use a background or foreground with special halfbrite effects, such as HalfbriteTest.pic, created in other halfbrite programs; if you do this, eliminate object shading by assembling the scene without a light source. * If you save a rendered halfbrite scene as an IFF picture, the picture must be viewed in halfbrite mode. If you view the picture on an older 1000, the darker parts of the picture will appear too bright because fullbrite colors will be substituted for their darker halfbrite counterparts. This will also happen if you open the picture in a program which doesn't support halfbrite. * ANIM recording in halfbrite mode may result in slightly larger ANIM files. Hold and Modify The Hold and Modify menu option allows VideoScape to use the Hold and Modify mode (commonly called "HAM") when rendering solid scenes. HAM mode enables the Amiga to display 4,096 colors on the screen at once so that: * Objects, foregrounds, and backgrounds can use different color palettes in the same scene. Now you can use full-color digitized photographs - put yourself in a VideoScape scene! * HAM and non-HAM images can be used in the same scene. * Object shading can be more accurate. * Glossy objects can have whitish highlights, as they often do in real life. When you use special color codes in HAM mode, objects can have: * A glass-like transparency. * Smoothly rounded surfaces. * Chrome-like reflection of sky and ground colors. To render a scene in HAM mode: 1) Choose Clear All Settings from the Project menu. 2) Choose Hold and Modify from the Display menu - a checkmark means it's turned on. 3) Select either Lo-Res or Video-Res. 4) Load the desired objects, motion files, background, so on. 5) Select BEGIN ANIMATION. The Hold and Modify rendering process is very different from that used in other modes. VideoScape first draws separate red, green, and blue images (only the blue image will be visible while it's drawing), and then it scans the screen from top to bottom, combining these into a full-color frame. Foreground and background images are also scanned and converted into red, green, and blue components (the screen turns to black from top to bottom as this happens). If you're using sky and ground colors, the screen will first flash several different colors. Don't worry if a picture or sky and ground colors look strange at first - they'll appear normal when the frame is done. When you render scenes in HAM mode, keep the following in mind: * VideoScape needs a great deal of memory when rendering HAM scenes. If your Amiga only has 512K of memory, you may not have enough for a scene. To free up more memory, quit any programs you may be running at the same time or try choosing Overscan Off from the Display menu before selecting BEGIN ANIMATION. * HAM mode is only available in Lo-Res or Video-Res. * HAM frames take longer to render. A Video-Res HAM frame will take roughly twice as long to render as a Lo-Res HAM frame. It also uses twice as much memory. If you don't have enough, try choosing Overscan OFf from the Display menu. * The Load New Palette menu option has no effect in HAM mode. * Small color fringes are sometimes noticeable around borders of different color areas, a problem common to HAM images in general. This is because each pixel's color depends on the pixel color to the left of it. Only one color component - red, green, or blue - can be changed from pixel to pixel. In HAM mode, it would be impossible to have, for example, a black pixel next to a white pixel, because all three color components would need to be changed at once. Instead, it would take three pixels to change from black to white, resulting in a color fringe. To reduce this effect, VideoScape will substitute colors from a special 16-color palette where possible. This display mode is known as "4096+". * HAM ANIM files will be larger than usual. * Only pitch-black areas of a HAM image placed in the foreground can be transparent. If you want opaque black in a HAM foreground, you'll need to substitute an almost-black color. Overscan With Overscan Off, a border surrounds the display - the normal mode for the Amiga. Because a border is undesirable for video work, VideoScape version 1.00 automatically displayed in Medium Overscan, which provides 10% more pixels horizontally and vertically. However, a thin border would still appear around the edge of some screens. Therefore, VideoScape version 2.00 also has Severe Overscan, which provides 20% more pixels horizontally and vertically - the maximum possible overscan on the Amiga. Because it slows down the Amiga and uses more memory, don't use Severe Overscan unless you really need it. Also, ANIM files will be larger. When you choose a new Overscan option, the Resolution buttons change to show new dimensions (columns x rows of pixels). The following table will help you match foreground and background pictures with the appropriate resolution. NTSC OverScan Off Medium Severe Lo-Res 320x200 352x220 384x240 Video-Res 320x400 352x440 384x480 Med-Res 640x200 704x220 768x240 Hi-Res 640x400 704x440 768x480 Extras Menu Set Starting Frame In VideoScape version 1.00, when you ran a scene, you could only start it from the beginning. If you wanted to see how frames looked near the end of a scene, you would have to wait for VideoScape to render the beginning frames first. Set Starting Frame lets you specify a frame (a regular frame or a key frame) at which to begin the scene. This also enables you to make changes in the middle of a scene. For example, if you have a 60-frame scene, you could record the first 30 frames, abort the scene, change the background, enter 31 in the Set Starting Frame requestor and record the rest of the scene. To change the starting frame: 1) Choose Set Starting Frame from the Extras menu. A requestor will appear. Frame 1 is the standard setting. 2) Enter the desired frame and press RETURN. 3) Assemble the scene, choose the desired options, and begin the animation. The first frame rendered will be the one you chose; the scene will then proceed from that frame. Note: In a complex scene with lots of objects, it can take some time to get to the starting frame. If you want to break the scene up into segments to be recorded, it's easier to have Pause after each frame turned on because you'll have more control over choosing the last frame. If it's left off, remember to abort the scene as soon as the last frame you want begins to draw - wait any longer and you may get an extra frame. If you're recording a segment as an ANIM, you can watch the ANIM Recording Status window in the Control Window to keep track of which frame you're on. If you have Pause turned off, abort the animation one frame before the last frame you want. For example, if you want frame 30 to be the last frame, hit the zero key when the ANIM Recording Status window says Recording frame 29. Nonlinear Morph Normally, when one object is metamorphing into another, the object's points all move at a constant speed toward their new positions. This is know as linear motion. When Nonlinear Morph is chosen, the metamorphing object's points accelerate at the beginning of a scene and decelerate as they reach their final positions at the end, producing a more natural motion that traditional animators refer to as "slow in and slow out". Use this menu option with the Metamorph switch in the Control Window. Another Metamorph improvement is that the second metamorph object now automatically uses the first metamorph object's motion file. This saves you a step compared to version 1.00, which required you to load the first object's motion file again for the second object. Nonlinear Zoom The Nonlinear Zoom option is similar to Nonlinear Morph in that it causes the change in camera zoom to accelerate and then decelerate during a scene. Of course, in order for this option to have any visible effect, the initial and final zoom factors must be different. VideoScape version 1.00 users will notice that when they select Change Zoom in the Control Window, the standard zoom factor has been changed to a value of 2 rather than 1.6, for less of a fish-eye effect. The higher the factor, the less distorted the scene is (flatter, with less perspective) and the farther back you must place the camera. An example of a high zoom factor is a photo of an enormous sun, or a crowded city sidewalk where it looks as if people are treading on each other's heels when reality they are spaced far apart. The following table shows the relation between VideoScape zoom factors and the width of view, and for photographers, the corresponding focal length of an actual lens: VideoScape Width of View Equivalent Zoom Factor (degrees) 35mm Lens _____________________________________________ 1 106 13mm 2 67 26mm 4 37 52mm 8 19 105mm 16 10 210mm If you'd like to take the guesswork out of placing your camera when you're typing a camera motion file, you can compute the camera position with the following formula. This is the same one VideoScape uses for keeping objects centered on the screen when the scene is run under manual camera control - the camera is placed so that it looks in the positive Z direction (heading, pitch and bank equal zero). The variables are the zoom factor and the extent of the objects (that is, the size of on imaginary box enclosing the objects). This formula isn't foolproof, but it works reasonably well. (See accompanying file - fig1). Xmin + Xmax Xcenter= ------------- 2 Ymin + Ymax Ycenter= ---------- 2 Zmin + Zmax Zcenter= ----------- 2 Sum of Sides (Xmax-Xmin)+(Ymax-Ymin)+(Zmax-Zmin) Zdistance = Sum of Sides x Zoom Factor x .4 Camera Position: X = Xcenter Y = Ycenter Z - Zcenter - Zdistance Note: It's not mandatory for you to stick to this formula; use it to get a general idea of where to place the camera. Then you can move it closer or farther away as you wish. Of course, it's easier to load stationary objects in a scene and click the Selection button to see the camera's coordinates. But when objects are moving and you want the camera to stay still, yet view the whole scene, this formula will be helpful. Then the box would enclose the objects and their paths. For example, let's say a sphere traveled in the positive X direction. The starting position would determine Xmin and the ending position would determine Xmax. Black Outlines When a solid scene is rendered and Black Outlines is chosen, filled polygons will be outlined in black. The effect is similar to inked cartoon animation, and can be used to see exactly how an object is divided into polygons. Crossed Dots Sometimes polygons with only one point are hard to see because they're drawn as a single pixel (especially in higher resolutions, where pixels are smaller). If you want them to stand out more, choose Crossed Dots. A quick way to see how this looks is to create a starfield in EGG and load it in a scene with Crossed Dots turned on. The stars will look like plus signs. No Dithering VideoScape dithers colors to create a wider range of shading for objects in non-HAM scenes, as described in the section "Load New Palette". In some cases, the checkerboard pattern created by dithering causes a slight flicker in composite video images. You can prevent this by choosing No Dithering. Ordinarily, Dithering should be left on for better shading and for the new transparent color codes and the new cyan and purple colors, which are made by dithering colors from VideoScape's palette (see "New Color Codes" in Chapter 3, "Other New Features"). Use Z Buffer VideoScape version 1.00 rendered a frame a whole polygon at a time, according to each polygon's distance from the camera. The polygon whose center was furthest away was rendered first, then the next furthest polygon was rendered, and so on. As a result, when two polygons intersected, their line of intersection could not be shown; instead, the polygon whose center was closest to the camera was rendered in whole on top of the other polygon. This method also led to show-through problems, such as the car and road example described on p. 122 of the VideoScape 3D User's Guide. When a large chunk of memory, called the "Zbuffer," is made available, version 2.00 uses a special rendering technique. Frames are rendered pixel by pixel, according to each pixel's distance from the camera. This provides for better handling of intersection polygons and elimination of show-through problems. You can even have two objects pass through each other and the parts where the objects meet will be shown correctly. The Z buffer requires lots of storage, varying from about 300K for a Lo-Res scene up to 1.2 Megabytes for a Hi-Res scene (both in medium overscan). To free up more memory, quit any programs you may be running at the same time or try choosing Overscan Off from the Display menu before selecting BEGIN ANIMATION. Also, detail polygons are not affected by the Z buffer (to make sure they aren't covered by their parent polygons). Record Menu ANIM Record The menu options for recording ANIM's work the same as in VideoScape version 1.00, but with an improved technique for compressing the animation. As a result, an ANIM recorded in version 2.00 takes up half as much space as it would if it were recorded in version 1.00. Note: ANIM's recorded in VideoScape version 2.00, will only play back in PlayANIM or ShowANIM, versions 4.00 (or greater). ANIM's recorded using the PAL video standard will only play back in versions 4.20 (or greater) of those programs. (For a discussion of PAL, see chapter 3, "Other New Features.") IFF Save Mode The new IFF Save Mode menu option lets you save a scene as a series of IFF picture files rather than as a single ANIM file. Each frame will be automatically saved in the pic drawer, unless another drawer was specified when you opened a background or foreground. The files are named as they would be if you pressed the decimal key on the numeric keypad; however, the first file name is now VS01 rather than VS00 as stated on p. 43 of the VideoScape 3D User's Guide. (This applies whether you use IFF Save Mode or the decimal key.) To use IFF Save Mode: 1) Choose IFF Save mode from the Record menu. That menu item will now appear ghosted. 2) Select the desired resolution. 3) Load the desired objects, motion files, background, and foreground. The IFF files will be saved to the same drawer as either the background or foreground - whichever you opened last. If you didn't open a foreground or background, the IFF files will be saved to the pic directory. 4) If you want to save the IFF files to a different drawer, select Load Bgnd. 5) In the storage requestor, enter the drawer you'd like the IFF files saved to and select Cancel without entering a filename. The background (if you had one open) won't be affected, because you selected Cancel. 6) Select BEGIN ANIMATION. Each frame will be saved as an IFF file - you'll have to press the ENTER key if you didn't load a camera motion file. 7) When the scene is finished, you can record another scene, or choose End IFF Save Mode from the Record menu. A series of frames recorded in this way can be modified in a paint program or animated in an IFF cel (page-flipping) animation program, such as Aegis Animator; however, the sequence will take up much more space on disk than it would have, had it been recorded as an ANIM file. Send To Serial Port When you use a controller to record your animation on a single-frame video recorder, the frame-control file can only contain commands to record a frame (see Chapter 11, Assembling and Recording Animations" in the VideoScape 3D User's Guide for details). Controllers also respond to commands for rewinding, fast forwarding, and so on - some require a special command to set up the VCR for single-frame recording. However, you can't put these in the frame-control file, nor can you use a telecommunications program to send them when a frame-control file is present. Therefore, a new menu option, Send to Serial Port, has been provided to send setup commands. Attention, software developers: VideoScape version 2.00 now opens the frame-reply port itself when it finds the frame-control port. This fixes the bug in version 1.00. Send to Serial Port is only available if a frame-control file was present when VideoScape was started. Choosing it brings up a requestor in which you can type a character string. When you select OK, the string you typed will be sent to attached controller. To enter control characters as part of the command, use a caret followed by an upper-case letter. For example, typing ^M will cause an ASCII code 13 (carriage return) to be sent. Control characters written in this way can be used in the frame-control file. The controller manual will have more information on the commands needed. Chapter 2 New Control Window Options Hierarchical Motion Animating complex objects with many attached moving parts was a difficult process in VideoScape version 1.00 because motion files couldn't build on other motion files; that is, you still had to type every movement for every object in a scene even though they shared many of the same movements. For example, let's say you had an airplane that traveled a straight path from A to B, and you wanted a spinning propeller on the airplane. You would make a motion file that placed the propeller (a separate object) at the airplane's nose and caused the propeller to spin, but this wouldn't be enough because you'd have to tell the propeller to travel the path from A to B also; otherwise, it would be left behind as the plane went on its way. Superfluous commands like this were required because object motion was relative only to the stationary X, Y, and Z axes of the VideoScape universe. VideoScape version 2.00 has a new feature, called "hierarchical motion," which lets you specify the motion of an object relative to the object to which it is attached (its "parent"). Let's say you used hierarchical motion for the airplane example. The propeller motion file would contain only instructions for making it spin and placing it at the plane's nose. Then you would specify the plane as the propeller's parent object. As a result, the propeller would also take on the motion of the plane, travelling the path from A to B. With hierarchical motion, you have less calculations to make, because an object's motion can be relative to another moving object. An objects Origin is important as we discuss hierarchical motion, because it marks where the X, Y, and Z axes of the object's coordinate system meet. When an object is loaded without a motion file, its Origin is located at the Origin of VideoScape universe; the object's X-Y-Z axes are the same as those of the VideoScape universe, and those of the moving object. When the moving object is a parent, the child object considers the parent's coordinate system to be the VideoScape universe; as far as the child object is concerned, its universe is not moving. Here's another example of hierarchical motion: if the wheels of a car were separate objects and had the car body as their parent object, you could give them motion files telling them to simply spin in place. You could then have the car body drive around a race track, and the wheels would remain attached to the car, regardless of the car's position and angle. To assign hierarchical motion: 1) First, load the parent object. 2) Load its motion file, or enter initial and final positions in the object motion requestor. 3) Load the child object. The object motion file requestor has a new edit field, labeled Parent Object. This is where you specify which object is to be the parent. The first object loaded would be 1, the second would be 2, and so on. The standard number is 0, which means that the object has no parent. 4) Enter 1 in the Parent Object edit field. 5) Load the child object's motion file, or enter initial and final positions in the object motion requestor. 6) If you want to attach more objects to the same parent object, load them and their motions and enter 1 in the Parent Object edit field for each. 7) You may repeat the previous steps to enter another parent and its children. Remember to keep track of how many objects you've loaded so you can enter the correct number for Parent Object. For example, let's say object 1 is a parent and object 2 is its child. If we wanted object 3 to be the parent for object 4, we would enter 3 when we loaded object 4. Many levels of hierarchical motion are possible. Getting back to the car example mentioned earlier: if the car was driving around on a ferry that was crossing a river, the wheels should still have the car body as their parent object, and the car body itself should have the ferry as its parent. This would prevent the car from being left behind in the river as the ferry moved! Hierarchical Motion Tutorials Here's a tutorial to give you hands-on experience with hierarchical motion. We'll be making two spheres, one circling around its parent as the parent travels a straight-line path: 1) First we need to make two spheres, so run EGG. 2) Enter the following at the EGG prompts: Enter geometry type: 2 Enter object geometry filename: Sphere.parent Enter number of rings and points per ring: 10 10 Enter radius at the equator and radius at the poles: 10 10 Generate interior polygons? N Enter two surface colors: 28 28 OK to write file? Y 3) Run EGG again and enter the following: Enter geometry type: 2 Enter object geometry filename: Sphere.child Enter number of rings and points per ring: 10 10 Enter radius at the equator and radius at the poles: 5 5 Generate interior polygons? N Enter two surface colors: 25 25 OK to write file? Y We want the small sphere to rotate around the big sphere. Currently, the small sphere's origin is at its center. To make the small sphere rotate as if it were at the end of a string, we must shift it in OCT so that its origin is outside it. To figure out where to place the child object in relation to the parent object, look at the position the parent object was in when it was created. The big sphere was created so that it was centered about the Origin of the VideoScape universe - the same position of the small sphere. We want the small sphere to start out above the big sphere; that's why we'll shift it in the +Y direction (big sphere radius of 10 + space between two spheres of 5 + little sphere radius of 5). See figure 2. 4) Run OCT from the Objects disk and enter the following: Enter object 1 geometry filename: Sphere.child Transform object 1? Y Enter X, Y, and Z scaling factors: 1 1 1 Enter H, P, and B angles: 0 0 0 Enter X, Y, and Z offsets: 0 20 0 Change a color in object 1? N Enter object 2 geometry filename:- Enter output geometry filename: Sphere.child Write file in binary format? N Next, we'll type a motion file for the little sphere. We want it to rotate twice in a vertical plane about the big sphere, so we'll give it a change in bank of 720 degrees (2 x 360). 5) At the CLI prompt, type ED DF1:mot/Sphere.child.mot and enter the following: 3DM1 2 0 0 0 0 0 0 0 0 0 0 0 0 720 60 6) Press the ESC key and then the X key to save the file. Next, we'll type a motion file for the big sphere. We want it to travel a straight-line path along the X axis, from -100 to 0. 7) At the CLI prompt, type ED DF1:mot/Sphere.parent.mot and enter the following: 3DM1 2 -100 0 0 0 0 0 0 0 0 0 0 0 0 60 8) Press the ESC key and then the X key to save the file. Now we need a camera motion file that places the camera far enough back in the -Z direction to view the action without having to move. But we don't want it too far back, because we want the spheres to begin and end offscreen for those of you who will record this as an ANIM. This will make a looping ANIM look better. We'll also have to shift the camera 50 units in the -X direction so that it's centered on the scene (the spheres travel in 100 units). 9) At the CLI prompt, type ED DF1:cam/Spheres.cam and enter the following: 3DC1 2 -50 0 -50 0 0 0 0 -50 0 -50 0 0 0 60 10) Press the ESC key and then the X key to save the file. 11) Run VideoScape. (If you're already running it, choose Clear All Settings from the Project menu.) 12) First, load Sphere.parent and its motion file, Sphere.parent.mot. 13) Load Sphere.child 14) Enter 1 in the Parent Object edit field and load the motion file, Sphere.child.mot. 15) Load the camera motion, Spheres.cam 16) Select 352x220 17) If you have enough memory, choose Begin ANIM Recording. 18) Select BEGIN ANIMATION. The little sphere will rotate around the big sphere as both travel from left to right across the screen. Because the spheres start offscreen, you won't see anything for the first few frames. 19) If you're recording an ANIM, record the first two frames again and select End ANIM Recording from the Record menu. Let's discuss what happens when the big sphere is offset so that its origin is also outside it. If we gave the big sphere a +Y offset of 40 in OCT, and assembled the animation with the same motion files, how would the animation look? Would the small sphere still rotate around the big sphere? The answer is no: a child object moves with respect to the parent's origin, not with respect to the visible part of the parent. Now, let's move on to a more complex hierarchical example. We'll animate an airplane with a spinning propeller. First, we're going to look at the airplane and propeller's positions without a motion file (their original orientation) so that we can see where to attach the propeller. 1) In the Control Window, select Load Object and load Lightplane (on the VideoScape version 2.00 disk) without a motion file. 2) Select Load Object again and load Propellor (on the VideoScape version 2.00 disk) without a motion file. 3) Select BEGIN ANIMATION. 4) It's hard to see whether the plane is facing away or not, so hit the 8 key on the numeric keypad sex times and then hit the ENTER key. Looking down on the plane, we can see that to avoid a potentially lethal situation we'll need to move the propeller from the cockpit to the plane's nose. We can also see that the nose of the plane is pointed in the positive Z direction; therefore, the nose would have the highest Z coordinate in the plane's point list. This is the coordinate that we'll shift the propeller to in OCT (the propeller is sitting at the Origin). Now we'll look at the plane's object geometry file to find the value of the highest Z coordinate: 5) Hit the zero key to end the scene. 6) Enter CLI and type ED DF0:geo/Lightplane 7) Use the down arrow key to scroll through the point list. You'll find that 2 is the highest Z coordinate. 8) Press the ESC key and then the Q key to exit the file without saving any changes. 9) Next, run OCT from the VideoScape version 2.00 disk (where the propeller is) and enter the following: Enter object 1 geometry filename: Propellor Transform object 1? Y Enter X, Y, and Z scaling factors: 1 1 1 Enter H, P, and B angles: 0 0 0 Enter X, Y, and Z offsets: 0 0 2 Change a color in object 1? N Enter object 2 geometry filename:- Enter output geometry filename: Propellor Write file in binary format? N Now we'll enter a motion file for the plane, instructing it to change heading (so we can see it from the side), tilt up, and ascend from left to right. 10) At the CLI prompt, type ED DF0:mot/Lightplane.mot and then enter the following: 3DM1 2 -20 -8 12 90 335 0 0 20 8 12 90 335 0 60 11) Press the ESC key and then the X key to save your changes. The next motion file is for the propeller, instruction it to spin nine times (3240 degrees) as the plane climbs. 12) At the CLI prompt, type ED DF0:mot/Propellor.mot and enter the following: 3DM1 2 0 0 0 0 0 0 0 0 0 0 0 0 3240 60 13) Press the ESC key and then the X key to save your changes. Now we need a camera motion file to keep the camera stationary. 14) At the CLI prompt, type ED DF0:cam/Plane.cam and enter the following: 3DC1 2 0 0 0 0 0 0 0 0 0 0 0 0 0 60 15) Press the ESC key and then the X key to save your changes. 16) Run VideoScape and choose Clear All Settings from the Project menu. 17) First, load Lightplane and its motion file, Lightplane.mot. 18) Load Propellor. 19) Enter 1 in the Parent Object edit field and load the motion file, Propellor.mot. 20) Load the camera motion, Plane.cam. 21) Select 352x220. 22) Select a light blue sky color and light green ground color. 23) If you have enough memory, choose Begin ANIM Recording. 24) Select BEGIN ANIMATION. For the benefit of people recording ANIM's, the action starts offscreen. After a few frames, you'll see the airplane as it climbs across the screen. Without hierarchical motion, it would have been very difficult to have the propeller rotate at a tilt like this. 25) If you're recording an ANIM, record the first two frames again and select End ANIM Recording from the Record menu. Object Tracking To keep the camera aimed at an object, you can enter an object number in the new Track Object edit field at the bottom of the camera motion file requestor. When you do this, any heading and pitch angles will be ignored, and VideoScape will calculate the angles needed to point the camera at the specified object's center of rotation (its Origin). This is very useful for tracking a fast-moving object as it flies by the camera, or for looking at a stationary object while the camera moves around it. To track an object: 1) First, load the objects and their motion files. 2) Load a camera file - don't close the requestor yet. The camera motion file requestor has a new edit field, labeled Track Object. This is where you specify which object is to be tracked. The first object loaded would be 1, the second would be 2, and so on. The standard number is 0, which means camera tracking is turned off. 3) Enter the desired number in the Track Object edit field and close the requestor. 4) Assemble the rest of the scene and select BEGIN ANIMATION. Interchanging Camera and Object Motion files VideoScape version 2.00 allows you to load 3DC1 camera motion files for use as object motions and 3DM1 object motion files for use as camera motions, because the two formats are identical. One possible use of this feature is that you could load an object's motion file directly as a camera motion to show the "point of view" of that object as it moves. Multiple Light sources The light source requestor has been modified so that you may now enter up to four light sources and adjust their intensities. An intensity of 1 corresponds to the normal light strength used VideoScape version 1.00 and will produce the best shading. Any sources with and intensity of 0 will have no effect on the scene. Light intensities greater than 1 could be used to show lightning flashes or explosions - an intensity of about 10 is the brightest (lower for some colors). For dark indoor or night scenes, use an intensity less than 1.0 (.2, for example). To adjust the light sources: 1) Click on the Solid button (even if it's already highlighted). The light source requestor will appear. Its standard settings are the same as version 1.00's: one light source shining overhead with an intensity of 1. 2) Enter X, Y, and Z coordinates for each light source you'll be using. Enter an intensity for each light source you'll be using - to eliminate a light source, enter an intensity of 0. Changing Backgrounds and Foregrounds During a Scene A new naming convention allows you to load a sequence of foregrounds and backgrounds during a single scene. When a capital S and a two-digit number are added to the end of a filename, VideoScape interprets this as "Sequence:frame number" and loads the picture during the corresponding frame. For example, PaintingS01 would appear in the first frame, PaintS02 would appear in the second frame, and so on. Because you can have sequences for both the foreground and background in the same scene, you must use the first part of the filename to identify which sequence a picture belongs to. For example, SceneryS01, SceneryS02...SceneryS10 could be the picture sequence for the background, while the DashboardS01, DashboardS02...DashboardS10 could be the picture sequence for the foreground during the same scene. VideoScape's IFF save option has been changed to name its files in this fashion: the first filename is now VS01 instead of VS00. To use a picture sequence in a scene: Note: Pictures in a sequence must all be in the same directory, such as pic. 1) First, assemble your pictures in a sequence by giving each the same filename with a suffix of capital S and a two-digit number indicating position in the sequence; for example, FilenameS01. 2) In the Control Window, if you'd like a sequence in the background, select Load Bgnd and open the first picture in the sequence. If you have say, PaintingS01 and the next painting in the sequence is PaintingS05, PaintingS01 will remain until the fifth frame, at which time Painting S05 will be used. If you don't have anything before PaintingS05, it will be used for the first frame, remaining until the next picture in sequence. 3) If you'd like a sequence in the foreground, select Load Fgnd and open the first picture in the sequence. 4) Assemble the rest of the animation and select BEGIN ANIMATION. The first picture in the sequence will appear for one frame, and then the next picture will appear for a frame, and so on. Chapter 3 Other New Features Multitasking Accessing Other Programs The Workbench screen's title bar and front/back gadgets are now accessible along the highest scanline (the top row of pixels) above the title bars of the Control Window, EGG, and OCT. If you drag down the Workbench screen's title bar or click on its front/back gadgets, you'll be able to see the screen of any other program you are running at the same time as VideoScape, EGG or OCT. some dexterity is required because you must click exactly on the scanline that the Workbench title bar and gadgets occupy. The following steps describe the best way to do this. To access another program: First, we must make sure that the highest scanline of the Workbench screen's title bar isn't covered. 1) Click on the title bar with the Selection button and hold it down. A white frame will appear. This marks the area covered by the Control Window (or EGG or OCT). 2) While holding down the Selection button, drag the white frame down - it will move one scanline, if at all. Now we know that the highest scanline on the title bar is that of the Workbench screen's title bar. 3) To drag the screen down, place the cursor as high as you can, and while holding the Selection button down, drag the screen down. The other program you're running will be behind the screen you pulled down. If you aren't running anything, you'll see a blank screen. 4) Place the cursor on the highest black scanline of the title bar to drag it back up. 5) As an alternative to dragging the screen up and down, you can click on the highest black scanline of the front/back gadgets to flip back and forth between programs. Resolving Program Conflicts In VideoScape version 1.00, there was a minor problem when certain programs were run at the same time as VideoScape: using the left and right mouse buttons to summon up the pop-up requestors in the Animation window would summon pop-up requestors from the other programs. You may deactivate the VideoScape pop-up's by pressing the R key; press it again to turn them back on. Similarly, the S key can be used to turn on and off a sound that signals when a frame is done (the standard setting is for the sound to be on.). Program Limitations The limits on the number of independently moving objects in a scene and the number of key frames in a motion file have both been increased to 50. Maximum limits on a 4-Megabyte Amiga - more memory makes no difference for point limits - they are now: 32,000 points, 32,000 polygons, and 32,000 detail polygons. Note: More than 4 Megabytes does make a difference for recording ANIM files to RAM or using a large Z buffer. New Color Codes Cyan and Purple Colors Previously unused color codes (3, 5, 11, and 13) are now used for cyan (greenish blue) and purple colors. These numbers are for matte polygons; you can indicate other surface types by adding multiples of 16, as follows: Matte 3 dark cyan 5 dark purple 11 light cyan 13 light purple Glossy 19 glossy dark cyan 21 glossy dark purple 27 glossy light cyan 29 glossy light purple Unshaded (Luminous) 35 unshaded dark cyan 37 unshaded dark purple 43 unshaded light cyan 45 unshaded light purple Unfilled Outline 51 dark cyan outline 53 dark purple outline 59 light cyan outline 61 light purple outline When Hold and Modify is turned off, purple and cyan are made by dithering VideoScape's palette colors; therefore, No Dithering should be turned off when you're using them. These colors look better in higher resolutions and HAM mode. Transparency You can make polygons transparent by adding 64 to their color codes. When Hold and Modify is turned off, the transparent effect is achieved by dithering (No Dithering should be turned off), which results in a mesh-like appearance. In HAM mode, however, the effect is more like real glass. In fact, stained-glass windows could be simulated in HAM mode with a variety of transparent colors. You can also mix colors by adding a full-size transparent detail polygon to a differently colored polygon. Smooth Shading An important new feature of VideoScape version 2.00 is smooth shading. This makes 3D objects appear to have smoothly rounded surfaces even though they're still composed of flat polygons (this technique is known as "Phong normal interpolation"). Because subtle variations in color are required, the effect is only visible in HAM. To make a polygon smooth shaded, add 128 to its color code. Smooth shading can be applied to transparent as well as opaque polygons. Note: to see an example of smooth shading, view the Lightplane object in HAM mode. If two smooth-shaded polygons are adjacent and have some vertices in common, they will appear as one continuous curved surface and the boundary between them will not be noticeable (unless they are colored differently). The program will not try to smooth across two polygons if the angle between them is 90 degrees or sharper. Smooth shading involves many computations at each pixel that is drawn, so scenes using this feature usually require a few minutes per frame to render. Glossy smooth-shaded objects, which take longer than matte objects, are more specular, with white glints reflecting the light sources. Rendering smooth-shaded objects with more than a few thousand polygons may take quite a while, but even so, VideoScape performs this task much faster than ray-tracing programs. Chrome Colors Polygons that use the last two color codes have no color of their own; instead they have a chrome-like reflection of the sky and ground colors chosen in the Control Window (even when a background picture is loaded). Code 259 if for flat surfaces and code 260 if for smooth shaded chrome. Thus, a sphere using code 259 would be like a faceted mirror ball, while the same sphere with code 260 could be used as a smooth Christmas ornament. The chrome effect is only available in HAM mode. Other New Colors There a few miscellaneous new color codes: * 256: This makes a polygon totally invisible, but any detail polygons it may have will still be drawn. * 257: Polygons with this code have no color of their own, but simply darken everything in the scene they cover (including background paintings.) This makes them useful for depicting shadows. * 258: Polygons with this code act like the code 257 polygons except they brighten everything they cover, providing a spotlight appearance. If several brightening polygons cross each other, the effect will be greater where they overlap; if a brightening polygon crosses a darkening polygon, they will "cancel out" where they overlap. These codes work in all solid modes (normal, Extra Halfbrite, and HAM). New Motion File Format Object motion files beginning with the new identifier 3DM2 are just like the usual 3DM1 object motion files except they have three extra numbers for each key frame. These numbers indicate X, Y, and Z scale factors for the object, just like in the OCT program. The scale factors may be fractional (to shrink an object), and are listed immediately after the heading, pitch, and bank angles. When you create a 3DM2 motion file, you must enter scale factors for every key frame. Normally, the scale factors should all be 1, but changing these numbers during the animation can be used to achieve what traditional animators call "squash and stretch". For example, the following motion file will cause an object to expand to ten times its size and then shrink back to its normal size while traveling a straight line from X=0 to X=20: 3DM2 3 0 0 0 0 0 0 1 1 1 0 10 0 0 0 0 0 10 10 10 10 20 0 0 0 0 0 1 1 1 10 One or three negative scale factors reverse the vertex ordering of polygons; in effect, turning an object inside out (two negative scale factors cancel each other out). If you give an object interior polygons of a different color, you can make it turn color during a scene by turning the different-colored inside polygons out. PAL Amigas The Amiga can transmit an NTSC signal in order to be compatible with regular television and video equipment. This is a standard set by the National Television Systems Committee for broadcasting in the U.S. On the other hand, Europe and Australia use the PAL format. The PAL display is the same width but taller (more scanlines) than the NTSC display. VideoScape version 2.00 determines which type of machine you have and automatically switches to that mode upon startup. The following table shows PAL display dimensions (columns x rows of pixels) for each resolution and overscan setting. PAL OverScan Off Medium Severe Lo-Res 320x256 352x276 384x300 Video-Res 320x512 352x552 384x600 Med-Res 640x256 704x276 768x300 Hi-Res 640x512 704x552 768x600