|
|
Chambers wrote:
> One of the problems I've noticed with object downloads is that, for
> simple objects, its often easier to make it myself using CSG while, for
> complex objects, the object doesn't quite fit my needs.
For some of my more recent prop items I have striven to make as many of
the parameters dependent on settings that can come from the calling code.
It's simple:
#ifndef(LegRadius)
#local LegRadius=1;
#end
and then write the SDL for the object to use LegRadius instead of some
value written into every sphere, cylinder, and torus statement in the
Leg object.
The dimensions of objects like furniture, eating and drinking utensils,
and even many kinds of vehicles can be greatly expanded in this way.
Another .INC file I commonly use creates a picture that can be hung on a
wall. The corners of the frame, and the edges of the frame, are
specified by means of creating one object for each, which are then
scaled, rotated, and translated to create the frame; the content of the
picture is accomplished with a texture specification (so that the
picture can be a mirror with just one change to the calling code). The
width and height of the picture are also set by the calling code, as well.
The textures are the most easily changed setting. Every texture used in
an object should be controlled by code of this form:
#infdef(CasingTexture)
#local CasingTexture = texture { /* default texture code here */ }
#end
The immediate effect of all this is that an object that is useful in the
early stage of scene layout can be specified with a minimum of parameter
settings, and then quickly refined later in the process.
Regards,
John
Post a reply to this message
|
|