Difference between revisions of "PRIM PHYSICS MATERIAL"

From Second Life Wiki
Jump to navigation Jump to search
m
m (Move content to template)
 
(One intermediate revision by the same user not shown)
Line 3: Line 3:
{{#vardefine:physics_material_const|{{LSL Const|PRIM_PHYSICS_MATERIAL|integer|31|c=Used to {{GetSet|{{{1|}}}|get|set|/}} the prim's physics material properties}}}}
{{#vardefine:physics_material_const|{{LSL Const|PRIM_PHYSICS_MATERIAL|integer|31|c=Used to {{GetSet|{{{1|}}}|get|set|/}} the prim's physics material properties}}}}


{{#vardefine:p_material_bits_desc|bitwise combination of [[DENSITY]], [[FRICTION]], [[RESTITUTION]], and [[GRAVITY_MULTIPLIER]] and specifies which floats to actually apply}}
{{LSL_Function/physics_materials}}
{{#vardefine:p_gravity_multiplier_desc|range {{Interval|gte=-1.0|center=gravity_multiplier|lte=+28.0}}}}
{{#vardefine:p_restitution_desc|range {{Interval|gte=0.0|center=restitution|lte=1.0}}}}
{{#vardefine:p_friction_desc|range {{Interval|gte=0.0|center=friction|lte=255.0}}}}
{{#vardefine:p_density_desc|range {{Interval|gte=1.0|center=density|lte=22587.0}} [[llGetMassMKS|kg]]/m^3}}
 
{{#vardefine:p_material_bits_hover|bitwise combination of DENSITY, FRICTION, RESTITUTION, and GRAVITY_MULTIPLIER and specifies which floats to actually apply}}
{{#vardefine:p_gravity_multiplier_hover|range -1.0 to +28.0}}
{{#vardefine:p_restitution_hover|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)}}
{{#vardefine:p_friction_hover|range 0.0 to 255.0}}
{{#vardefine:p_density_hover|range 1.0 to 22587.0 (in kg/m^3)}}
 
{{#ifeq:{{{2|}}}|llGetPhysicsMaterial||
{{LSL Signature/Add|
{{LSL Const/Signature|DENSITY|integer|c={{#var:p_density_hover}}}}
{{LSL Const/Signature|FRICTION|integer|c={{#var:p_friction_hover}}}}
{{LSL Const/Signature|RESTITUTION|integer|c={{#var:p_restitution_hover}}}}
{{LSL Const/Signature|GRAVITY_MULTIPLIER|integer|c={{#var:p_gravity_multiplier_hover}}}}
}}
}}
 
{{#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.
}}
 
{{#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
}}


}}</onlyinclude>{{#if:
}}</onlyinclude>{{#if:

Latest revision as of 10:30, 8 August 2012

Emblem-important-yellow.png LSL Feature Request
The described constant does not exist. This article is a feature request.

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
• float gravity_multiplier range [-1.0, +28.0], default: 1.0
• float restitution range [0.0, 1.0], default: [0.3, 0.9] [1]
• float friction range [0.0, 255.0], default: [0.2, 0.9][1]
• float density range [1.0, 22587.0] kg/m^3, default: 1000.0

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
• float gravity_multiplier range [-1.0, +28.0], default: 1.0
• float restitution range [0.0, 1.0], default: [0.3, 0.9] [1]
• float friction range [0.0, 255.0], default: [0.2, 0.9][1]
• float density range [1.0, 22587.0] kg/m^3, default: 1000.0
mask Flags V Description
DENSITY 1 Indicates that density parameter is enabled and will override the previous value.
FRICTION 2 Indicates that friction parameter is enabled and will override the previous value.
RESTITUTION 4 Indicates that restitution parameter is enabled and will override the previous value.
GRAVITY_MULTIPLIER 8 Indicates that gravity_multiplier parameter is enabled and will override the previous value.

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 default values for friction and restitution depend upon the prim's material.
  2. ^ The ranges in this article are written in Interval Notation.

Signature

//integer PRIM_PHYSICS_MATERIAL = 31;