Don't click here unless you want to be banned.

LSL Wiki : phantom

HomePage :: PageIndex :: RecentChanges :: RecentlyCommented :: UserSettings :: You are


If an object is phantom, it means that the rules of solid matter do not apply to it. It does not collide with anything except the terrain--objects and avatars can freely pass through it-- it does not become transparent.

Phantom objects can be physical, and they will collide with land. Such collisions will trigger the appropriate events (land_collision, land_collision_start and land_collision_end). Setting a physical object to phantom lightens the load on the sim because less collision calculations will be performed.

Objects can be set to phantom using llSetStatus, llSetPrimitiveParams, or a checkbox in the editor dialog.

A phantom object will also not trigger a collision, collision_start or collision_end event on any scripts it contains. The exception to this rule is llVolumeDetect. Setting it to TRUE will cause solid objects to pass through the object, but collision_start and collision_end events will still fire. (collision events are not triggered when llVolumeDetect(TRUE) is set.)

If llVolumeDetect is enabled, llGetStatus(STATUS_PHANTOM) will still return FALSE, however. A phantom object with llVolumeDetect(TRUE) will not trigger collision events.

Oddly, physical llVolumeDetect-enabled objects will not collide with land; they'll fall right through and go off-world. The reason is that llVolumeDetect uses a feature of the Havok physics engine which only works for objects that are totally collisionless.

For more, see the llVolumeDetect page.

Prim | Constants | Collisions
There is no comment on this page. [Display comments/form]