Difference between revisions of "Template:LSL Function/physics materials"

From Second Life Wiki
Jump to navigation Jump to search
m (Created page with "<!-- caveats & parameter descriptions imported from PRIM_PHYSICS_MATERIAL article --> {{#vardefine:p_material_bits_desc|bitwise combination of DENSITY, FRICTION, [[RESTIT…")
 
m
 
(6 intermediate revisions by the same user not shown)
Line 1: Line 1:
<!-- caveats & parameter descriptions imported from PRIM_PHYSICS_MATERIAL article -->
<noinclude>{{Multi-lang|category=LSL}}</noinclude>{{LSL Injection Test}}{{#if:
{{#vardefine:p_material_bits_desc|bitwise combination of [[DENSITY]], [[FRICTION]], [[RESTITUTION]], and [[GRAVITY_MULTIPLIER]] and specifies which floats to actually apply}}
{{#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:material_mask|mask}}
{{#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)}}
{{Footnote|The default values for friction and restitution depend upon the prim's [[PRIM_MATERIAL|material]].|The default values for friction and restitution depend upon the prim's material (PRIM_MATERIAL).|handle=material}}
{{#vardefine:p_friction_hover|range 0.0 to 255.0}}
 
{{#vardefine:p_density_hover|range 1.0 to 22587.0 (in kg/m^3)}}
<!-- caveats & parameter descriptions copied from PRIM_PHYSICS_MATERIAL article -->
{{#vardefine:p_{{#var:material_mask}}_desc|bitwise combination of [[DENSITY]], [[FRICTION]], [[RESTITUTION]], and [[GRAVITY_MULTIPLIER]] and specifies which floats to actually apply}}
{{#vardefine:p_gravity_multiplier_desc|range {{Interval|gte=-1.0|center=gravity_multiplier|lte=+28.0}}, default:&nbsp;1.0}}
{{#vardefine:p_restitution_desc|range {{Interval|gte=0.0|center=restitution|lte=1.0}}, default:&nbsp;{{Interval|gte=0.3|center=restitution|lte=0.9}} {{Footnote|handle=material}}}}
{{#vardefine:p_friction_desc|range {{Interval|gte=0.0|center=friction|lte=255.0}}, default:&nbsp;{{Interval|gte=0.2|center=friction|lte=0.9}}{{Footnote|handle=material}}}}
{{#vardefine:p_density_desc|range {{Interval|gte=1.0|center=density|lte=22587.0}} [[llGetMassMKS|kg]]/m^3, default:&nbsp;1000.0}}
 
{{#vardefine:p_{{#var:material_mask}}_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, default:&nbsp;1.0}}
{{#vardefine:p_restitution_hover|range 0.0 to 1.0, default values are in the range 0.3 to 0.9 (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, default values are in the range 0.2 to 0.9}}
{{#vardefine:p_density_hover|range 1.0 to 22587.0 (in kg/m^3), default:&nbsp;1000.0}}


{{#vardefine:physics_material_rows|
{{#vardefine:physics_material_rows|
!{{!}} {{LSLPT|material_bits}} Flags
!{{!}} {{LSLPT|{{#var:material_mask}}}} Flags
! title="value" {{!}} V
! title="Value" {{!}} V
! colspan="6" {{!}} Description
! colspan="6" {{!}} Description
{{!}}-
{{!}}-
{{!}} {{LSL Const|DENSITY|integer|1}}
{{!}} {{LSL Const|DENSITY|integer|1}}
{{!}} {{#var:value}}
{{!}} {{#var:value}}
{{!}} colspan="6" {{!}} Indicates that {{LSLP|density}} parameter is enabled
{{!}} colspan="6" {{!}} Indicates that {{LSLP|density}} parameter is enabled and will override the previous value.
{{!}}-
{{!}}-
{{!}} {{LSL Const|FRICTION|integer|2}}
{{!}} {{LSL Const|FRICTION|integer|2}}
{{!}} {{#var:value}}
{{!}} {{#var:value}}
{{!}} colspan="6" {{!}} Indicates that {{LSLP|friction}} parameter is enabled
{{!}} colspan="6" {{!}} Indicates that {{LSLP|friction}} parameter is enabled and will override the previous value.
{{!}}-
{{!}}-
{{!}} {{LSL Const|RESTITUTION|integer|4}}
{{!}} {{LSL Const|RESTITUTION|integer|4}}
{{!}} {{#var:value}}
{{!}} {{#var:value}}
{{!}} colspan="6" {{!}} Indicates that {{LSLP|restitution}} parameter is enabled
{{!}} colspan="6" {{!}} Indicates that {{LSLP|restitution}} parameter is enabled and will override the previous value.
{{!}}-
{{!}}-
{{!}} {{LSL Const|GRAVITY_MULTIPLIER|integer|8}}
{{!}} {{LSL Const|GRAVITY_MULTIPLIER|integer|8}}
{{!}} {{#var:value}}
{{!}} {{#var:value}}
{{!}} colspan="6" {{!}} Indicates that {{LSLP|gravity_multiplier}} parameter is enabled
{{!}} colspan="6" {{!}} Indicates that {{LSLP|gravity_multiplier}} parameter is enabled and will override the previous value.
}}
}}


Line 37: Line 43:
* A collision between two objects with {{LSLP|restitution}} 1.0 will still not be perfectly elastic due to damping in the physics engine.
* A collision between two objects with {{LSLP|restitution}} 1.0 will still not be perfectly elastic due to damping in the physics engine.
}}
}}
{{#vardefine:header_footnote|{{#var:header_footnote}}{{PBR}}
The default values for {{LSLP|friction}} and {{LSLP|restitution}} depend upon the [[PRIM_MATERIAL|material type]].}}
{{#vardefine:history|{{#var:history}}{{PBR}}
* Content taken from [[Release Notes/Second Life Server/11#11.09.23.241511]]''
* Documentation expanded with information from [[Physics Material Settings test]].{{PBR}}}}
}}<noinclude>
{| {{Prettytable}}
|-{{Hl2}}
! #var
! value
|-
{{VarPair|p_{{#var:material_mask}}_desc}}
|-
{{VarPair|p_gravity_multiplier_desc}}
|-
{{VarPair|p_restitution_desc}}
|-
{{VarPair|p_friction_desc}}
|-
{{VarPair|p_density_desc}}
|-
{{VarPair|header_footnote}}
|-
{{VarPair|caveats}}
|-
{{VarPair|history}}
|-
{{VarPairTable|physics_material_rows}}
|}
</noinclude>

Latest revision as of 19:28, 22 August 2012

#var value
p_mask_desc bitwise combination of DENSITY, FRICTION, RESTITUTION, and GRAVITY_MULTIPLIER and specifies which floats to actually apply
p_gravity_multiplier_desc range [-1.0, +28.0], default: 1.0
p_restitution_desc range [0.0, 1.0], default: [0.3, 0.9] [1]
p_friction_desc range [0.0, 255.0], default: [0.2, 0.9][1]
p_density_desc range [1.0, 22587.0] kg/m^3, default: 1000.0
header_footnote

The default values for friction and restitution depend upon the material type.

caveats
  • A collision between two objects with restitution 1.0 will still not be perfectly elastic due to damping in the physics engine.
history
physics_material_rows
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.