Summary
The creation of primitives is a simple but repetitive process that can be streamlined with custom handlers. The amount of complexity to build into your custom handlers can range from eliminating typing, to robust error checking and dedicated scheduling. However, the custom handlers presented are, in themselves, complete tools.
These tools allow us to quickly create a host of primitives. It is possible to quickly modify these handlers to create very specific variations of primitives, such as the pyramid handler derived from the cylinder primitive.
Perhaps the most important lesson of these examples is learning to decide what is necessary for your projects. The level of complexity that you employ should always be dictated by the needs of your project. In addition, the level of specificity of handlers should be dictated by these needs as well.
FAQ
Can I save my Models?
Unfortunately, no. Models created at runtime with Lingo cannot be saved inside your file. You must create them with code every time the movie runs. This actually saves download time in the long run.
Models exported from 3D-modeling software can be saved inside of a W3D file, and this file can be imported into a movie. But changes that you make to the Shockwave 3D Castmember with Lingo cannot be saved.
Can I move my Models?
Yes; Chapter 4 explores Model transformationthe process of moving, rotating, and scaling Models.
Am I going to have to build some extremely robust, non-Playback Headbased parent/child script system for my project?
It depends. Not knowing what your specific project is, I can say that from project to project, the answer to this question will vary. Games tend to need a larger degree of this type of functionality, whereas interfaces or charting applications can survive without it. However, these are hardly concrete guidelines. You could easily design an interface or data-visualization project that might require these. In general, more complex systems tend to be easier to implement with parent/child scripts. This does not mean that you must use parent/child scripts every time you want to create something in 3D.
Director comes with several custom behaviors in the behavior library that let me do the things that you have described. Why have you shown me these things if I can already do them with no work?
Good question. You are learning how to control your 3D world through Lingo. The custom behaviors will only get you so faractually, they won't get you that far at all. But again, remember that you need to choose how complex your code is depending on your project. If you believe that you can control your 3D world within your needs using the behavior library, by all means use it. This book is intended to guide you from the limitations of "one size fits all" behaviors to being able to build your own.