To navigate hold the left mouse down.
Right click to get the menu.
This model was originally created by Johann Drassima in 3DS format. I approached him with a view to converting into a RealiMation model to put onto the web. Johan e-mailed me the 3DS file on 21st May 1999.
As RealiMation couldn't read .gif files (at that time there was an issue of payment to
CompuServe being required) so I converted all the .gif files to .jpg using Paint Shop Pro. At that time RealiMation couldn't read .png files either - that would come a few years later.
The first step was create a new, blank RealiBase and import the 3DS file into the
RealiMation Space Time Editor (STE) as it was called at the time. We later came up with the slightly better name of Designer. Software engineers really shouldn't be allowed to name their own software - not that marketting people always do any better.
The only error was a mismapping of the Sev logo texture around the can which was easily corrected this using the texture editing tools in Designer. This was one of the key features of the software, being able to modify models once they'd been imported fixing any errors and making them suitable for their intended target.
The important thing to realise about real-time 3D, especially on the
Web (even now), is that the lower the polygon count the better. For the size
the Enterforaprize was going to be presented on the web I felt the
original polygon count was a little high. In fact when I tried loading this model on a machine with only onboard graphics, not all of it could be displayed. This shows that even a small model like this still needs a separate graphics card to be useable. So I started using some of the tools in Designer to reduce the file size:
* I simplified the Pizza Crust a little to reduce its polygon count.
* I replaced the nacelles with cylinders created in Designer. This created objects with a lower polygon count and a slightly better structure.
* I added a background starfield to the view - since removed as it really wasn't very good.
I e-mailed this version back to Johan, and this was the first put on
the web. I don't think anyone saw it, which was lucky as it didn't do much, just sat there and
allowed the user to fly the camera around. What was needed was some animation! Unfortunately all of this animation has been lost now that I've converted the model to VRML format. Though a long term goal I have is to reinstate it. Anyway, for completeness here is what I did.
I added smoke rings coming out of the nacelles. These were tori created
in the Designer with a semi-transparent material. There is one torus
instanced four times. Paths are attached to the instances to get the
movement and scaling of the rings. The paths "auto-repeat" so I could
use a short path (5 nodes) to define the motion and then have it repeat
indefinitely. There is an added complication here. With the simple
paths the second set of smoke rings start in the middle of their path. A
second, non repeating, scaling action is added to the first to scale the
ring to nothing for the first two seconds.
I added another couple of cameras to the RealiBase to give the viewer a
choice of views and one following a fly-by path.
I e-mailed this version to Johan for his approval on 25th May 1999 and
again on 4th June 1999 after making some more minor changes.
I the mean time I did the following:
I replaced the pizza topping with a new cylinder created in Designer to reduce the polygon count further.
I tweaked the fly-by path to make it "better".
I added a pair of spot lights under the pizza base to illuminate the
registry number. I also "pre-lit" the model. This invloves performing
the lighting calculations and saving the lit vertex colours with the
model. Then when the model is displayed these values can be used
directly - rather than performing the lighting calculations every frame,
thus improving performance.
The transparency on the smoke rings was increased a little and made the
material slightly emissive to give a glowing effect.
The smoke ring path was lengthened. This meant adding a third pair of
rings.
The hole at the front of the can was a separate object - on certain
graphics cards and when you are far away from the model, you could see
z-buffering artefacts as the card cannot decide whether to draw the faces
from the hole or the can top first. The solution to this is to delete the hole and put a texture on the can
top which includes a hole. To do this I had to delete all the triangles from the can
top and replaced them with a new object to get the texture mapping correct.
I resized all of the textures to be square and a power of 2 in size. This is
because the graphics card's texture unit requires textures to be in
this format. RealiMation will convert textures as and when required, but
if they are in the correct format to start off with then this calculation
is not needed. This improves load time, again a critical consideration when transferring data across the internet.
I applied the instance transformations to all the objects so that the triangles are actually where they appear to be (except the
smoke rings and nacelles which share geometry). Again, this is to improve
the frame rate as the geometry doesn't have to be transformed every frame. It's not good modelling practice as it makes it harder to reuse the geometry in other locations in the simulation. However, as we've only got one copy of the model it's not an issue.
I e-mailed this version to Johan on 15th June 1999 and put it onto the web here. And there it sat for several years gathering virtual dust in a forgotten corner of the internet. I carried on tweaking the model, using it for testing purposes and made a few more changes.
The starfield bitmap had a severe impact on the frame rate on my work
machine of the time which was running WindowsNT and had PCI Creative Labs TNT card running open GL, but not my home
machine of the time (Windows 95, AGP ATI Rage Pro card running Direct3D 6.1). I tried various options, but in the end removed
it all together. It looks good on the static image, but doesn't really help when interacting with the model.
What I would have liked to have done.
The can needs to be simplified to reduce the face count again -
especially as I added quite a few with the smoke rings.
Redo the pizza base texture to improve the constrast of the registry
number. To do this I would have to have got hold of the font used to create the image in the first place, and that is something I never got round to doing.
Save the RealiBase (or now VRML file) in compressed format to improve download times.
Add running lights.
Red and green in pairs at top & bottom of pizza crust port & starboard.
Red and green on port & starboard nacelles.
Yellow on top & bottom of rear of can.
White top & bottom in centre of pizza.
Photon torpedoes.
Phaser beams.
home
|