160 lines
6.5 KiB
Plaintext
160 lines
6.5 KiB
Plaintext
|
|
MULTIGEN MODEL FLAGS
|
|
|
|
This document describes the different kinds of model flags one can place in
|
|
the comment field of MultiGen group beads. The general format for a model
|
|
flag is:
|
|
<egg> { <FLAGNAME> {value} }
|
|
|
|
The most up-to-date version of this document can be found in:
|
|
|
|
$PANDA/src/doc/howto.MultiGenModelFlags
|
|
|
|
***************************************************************************
|
|
QUICKREF
|
|
***************************************************************************
|
|
|
|
FLAG DESCRIPTION
|
|
------------------------------- ----------------------------------------
|
|
|
|
<egg> { <Model> {1} } Handle to show/hide, color, etc. a chunk
|
|
<egg> { <DCS> {1} } Handle to move, rotate, scale a chunk
|
|
<egg> { <ObjectType> {barrier} } Invisible collision surface
|
|
<egg> { <ObjectType> {trigger} } Invisible trigger polygon
|
|
<egg> { <ObjectType> {floor} } Collides with vertical ray
|
|
(used to specify avatar height and zone)
|
|
<egg> { <ObjectType> {sphere} } Invisible sphere collision surface
|
|
<egg> { <ObjectType> {trigger-sphere} } Invisible sphere collision surface
|
|
<egg> { <ObjectType> {camera-collide} } Invisible collision surface for camera
|
|
<egg> { <ObjectType> {camera-collide-sphere} } Invisible collision surface for camera
|
|
<egg> { <ObjectType> {camera-barrier} } Invisible collision surface for camera and colliders
|
|
<egg> { <ObjectType> {camera-barrier-sphere} } Invisible sphere collision surface for camera and colliders
|
|
<egg> { <ObjectType> {backstage} } Modeling reference object
|
|
<egg> { <Decal> {1} } Decal the node below to me
|
|
(like a window on a wall)
|
|
<egg> { <Scalar> fps { # } } Set rate of animation for a pfSequence
|
|
|
|
|
|
***************************************************************************
|
|
DETAILS
|
|
***************************************************************************
|
|
|
|
The player uses several different types of model flags: HANDLES, BEHAVIORS,
|
|
and PROPERTIES. The following sections give examples of some of the most
|
|
common flag/value pairs and describes what they are used for.
|
|
|
|
|
|
********** HANDLES **********
|
|
|
|
These flags give the programmers handles which they can use to
|
|
show/hide, move around, control the texture, etc. of selected segments
|
|
(chunks) of the model. The handle is the name of the object bead in
|
|
which one places the flag (so names like red-hut are more useful than
|
|
names like o34).
|
|
|
|
<egg> { <Model> {1} }
|
|
|
|
Used to show/hide, change the color, or change the collision properties
|
|
of a chunk.
|
|
|
|
<egg> { <DCS> {1} }
|
|
|
|
Used to move, rotate, or scale a chunk of the model. Also can be used
|
|
(like the <Model> flag) to show/hide, change the color, and change the
|
|
collision properties of a chunk.
|
|
|
|
|
|
********** BEHAVIORS **********
|
|
|
|
These flags are used to control collision properties, visibility and
|
|
behavior of selected chunks. An "X" in the associated column means:
|
|
|
|
VISIBLE the object can be seen (see NOTE below for invisible objects)
|
|
SOLID avatars can not pass through the object
|
|
EVENT an event is thrown whenever an avatar collides with the object
|
|
|
|
VISIBLE SOLID EVENT
|
|
------- ------- -------
|
|
<egg> { <ObjectType> {barrier} } X X
|
|
|
|
<egg> { <ObjectType> {trigger} } X
|
|
|
|
<egg> { <ObjectType> {backstage} }
|
|
|
|
Descriptions:
|
|
|
|
- BARRIERS are invisible objects that block the avatars. Use these
|
|
to funnel avatars through doorways, keep them from falling off
|
|
bridges, and so on.
|
|
- TRIGGERS can be used to signal when avatars have entered a certain
|
|
area of the model. One could place a trigger polygon in front of
|
|
a door, for example, so the player can tell when the avatar has
|
|
moved through the door.
|
|
- BACKSTAGE objects are not translated over to the player. Modelers
|
|
should use this flag on reference objects that they include to help
|
|
in the modeling task (such as scale references)
|
|
|
|
IMPORTANT NOTE:
|
|
|
|
It is not necessary, and in fact some cases it will actually cause
|
|
problems if you set the transparency value for the invisible objects
|
|
above (barrier, trigger, eye-trigger) to 0.0. These objects will
|
|
automatically be invisible in the player if they have been flagged as
|
|
one of these three invisible types. If you wish to make it clear in
|
|
MultiGen that these objects are invisible objects, set the transparency
|
|
value to some intermediate level (0.5). Again, do not set the
|
|
transparency value to 0.0.
|
|
|
|
|
|
********** PROPERTIES **********
|
|
|
|
These are used to control properties of selected chunks.
|
|
|
|
<egg> { <Scalar> fps { frame-rate } }
|
|
|
|
This specifies the rate of animation for a pfSequence node
|
|
|
|
|
|
***************************************************************************
|
|
NOTES
|
|
***************************************************************************
|
|
|
|
1) Combinations
|
|
|
|
Multiple Flag/value pairs can be combined within an single <egg> field.
|
|
For example:
|
|
|
|
<egg> { <Model> {1}
|
|
<ObjectType> {barrier} }
|
|
|
|
Generally, the <Model> flag can be combined with most other flags
|
|
(except DCS). Each bead, however, can only have *one* <ObjectType> flag.
|
|
|
|
2) Newlines, spaces, and case (usually) do not matter. This above entry
|
|
could also be written as:
|
|
|
|
<egg>{<model>{1}<objecttype>{barrier}}
|
|
|
|
3) Where to place the flags
|
|
|
|
All model flags except <Normal> flags are generally placed in the
|
|
topmost group bead of the geometry to which the flag applies.
|
|
|
|
GROUP <- place flags here, except <Normal>
|
|
|
|
|
---------------------------
|
|
| | |
|
|
OBJECT1 OBJECT2 OBJECT3 .....
|
|
| | |
|
|
polygons polygons polygons <- place <Normal> flag here
|
|
|
|
Flags can also be placed in object beads, though for consistency sake
|
|
its better to place them in the group beads.
|
|
|
|
4) Flags at different levels in the model
|
|
|
|
Flags in lower level beads generally override flags in upper level
|
|
beads.
|
|
|
|
5) For more detailed information see $PANDA/src/doc/eggSyntax.txt.
|