Difference between revisions of "PRIM PHYSICS MATERIAL"

From Second Life Wiki
Jump to navigation Jump to search
m
m
Line 17: Line 17:
{{#vardefine:caveats|{{#var:caveats}}
{{#vardefine:caveats|{{#var:caveats}}
* A collision between two objects with '''{{LSL Param|restitution}}''' 1.0 will still not be perfectly elastic due to damping in the physics engine.
* A collision between two objects with '''{{LSL Param|restitution}}''' 1.0 will still not be perfectly elastic due to damping in the physics engine.
}}
{{#vardefine:physics_material_rows|
!{{!}} {{LSL Param|material_bits}} Flags
! title="value" {{!}} V
! colspan="6" {{!}} Description
{{!}}-
{{!}} {{LSL Const|DENSITY|integer|}}
{{!}} {{#var:value}}
{{!}} colspan="6" {{!}} Indicates that '''{{LSL Param|density}}''' parameter is enabled
{{!}}-
{{!}} {{LSL Const|FRICTION|integer|}}
{{!}} {{#var:value}}
{{!}} colspan="6" {{!}} Indicates that '''{{LSL Param|friction}}''' parameter is enabled
{{!}}-
{{!}} {{LSL Const|RESTITUTION|integer|}}
{{!}} {{#var:value}}
{{!}} colspan="6" {{!}} Indicates that '''{{LSL Param|restitution}}''' parameter is enabled
{{!}}-
{{!}} {{LSL Const|GRAVITY_MULTIPLIER|integer|}}
{{!}} {{#var:value}}
{{!}} colspan="6" {{!}} Indicates that '''{{LSL Param|gravity_multiplier}}''' parameter is enabled
}}
}}


Line 47: Line 69:
|r5_type=float|r5_name=density
|r5_type=float|r5_name=density
}}
}}
|pc=
{{{!}} class="sortable" {{Prettytable|style=margin-top:0;}}
{{!}}- {{Hl2}}
{{#var:physics_material_rows}}
{{!}}}
|examples
|examples
|constants=
|constants=

Revision as of 11:47, 20 September 2011

Description

Constant: integer PRIM_PHYSICS_MATERIAL = 31;

The integer constant PRIM_PHYSICS_MATERIAL has the value 31

PRIM_PHYSICS_MATERIAL is used to get or set the prim's physics material properties.

llSetPrimitiveParams

llSetPrimitiveParams([ PRIM_PHYSICS_MATERIAL, integer material_bits, float gravity_multiplier, float restitution, float friction, float density ]);
• integer material_bits bitwise combination of DENSITY, FRICTION, RESTITUTION, and GRAVITY_MULTIPLIER and specifies which floats to actually apply
• float gravity_multiplier range [-1.0, +28.0]
• float restitution range [0.0, 1.0]
• float friction range [0.0, 255.0]
• float density range [1.0, 22587.0] kg/m^3

When used with llSetPrimitiveParams & llSetLinkPrimitiveParams

llGetPrimitiveParams

llGetPrimitiveParams([ PRIM_PHYSICS_MATERIAL ]);

Returns the list [ integer material_bits, float gravity_multiplier, float restitution, float friction, float density ]

• integer material_bits bitwise combination of DENSITY, FRICTION, RESTITUTION, and GRAVITY_MULTIPLIER and specifies which floats to actually apply
• float gravity_multiplier range [-1.0, +28.0]
• float restitution range [0.0, 1.0]
• float friction range [0.0, 255.0]
• float density range [1.0, 22587.0] kg/m^3
material_bits Flags V Description
DENSITY Indicates that density parameter is enabled
FRICTION Indicates that friction parameter is enabled
RESTITUTION Indicates that restitution parameter is enabled
GRAVITY_MULTIPLIER Indicates that gravity_multiplier parameter is enabled

Caveats

  • A collision between two objects with restitution 1.0 will still not be perfectly elastic due to damping in the physics engine.


Deep Notes

History

Search JIRA for related Issues

Footnotes

  1. ^ The ranges in this article are written in Interval Notation.

Signature

integer PRIM_PHYSICS_MATERIAL = 31;