Difference between revisions of "PRIM PHYSICS MATERIAL"

From Second Life Wiki
Jump to navigation Jump to search
m (^_^)
m (fun ^_^)
Line 15: Line 15:
{{#vardefine:p_density_hover|range 1.0 to 22587.0 (in kg/m^3)}}
{{#vardefine:p_density_hover|range 1.0 to 22587.0 (in kg/m^3)}}


{{LSL Signature/Add|function list llGetPhysicsMaterial();
{{#ifeq:{{{1|}}}|llGetPhysicsMaterial||
function void llSetPhysicsMaterial( integer material_bits, float gravity_multiplier, float restitution, float friction, float density );
{{LSL Signature/Add|
{{LSL Const/Signature|DENSITY|integer|c={{#var:p_density_hover}}}}
{{LSL Const/Signature|DENSITY|integer|c={{#var:p_density_hover}}}}
{{LSL Const/Signature|FRICTION|integer|c={{#var:p_friction_hover}}}}
{{LSL Const/Signature|FRICTION|integer|c={{#var:p_friction_hover}}}}
{{LSL Const/Signature|RESTITUTION|integer|c={{#var:p_restitution_hover}}}}
{{LSL Const/Signature|RESTITUTION|integer|c={{#var:p_restitution_hover}}}}
{{LSL Const/Signature|GRAVITY_MULTIPLIER|integer|c={{#var:p_gravity_multiplier_hover}}}}
{{LSL Const/Signature|GRAVITY_MULTIPLIER|integer|c={{#var:p_gravity_multiplier_hover}}}}
}}
}}
}}



Revision as of 11:03, 20 January 2012

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;
integer DENSITY;//range 1.0 to 22587.0 (in kg/m^3)
integer FRICTION;//range 0.0 to 255.0
integer RESTITUTION;//range 0.0 to 1.0 (note, a collision between two objects with restitution 1.0 will still not be perfectly elastic due to damping in the physics engine)
integer GRAVITY_MULTIPLIER;//range -1.0 to +28.0