Difference between revisions of "R3d.Fixture:getMaterial"

From GiderosMobile
(Created page with "'''Available since:''' Gideros 2019.10<br/> '''Class:''' R3d.Body<br/> === Description === Gets the body material (bounciness, frictionCoefficient, rollingResistance). <s...")
 
 
(5 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
'''Available since:''' Gideros 2019.10<br/>
 
'''Available since:''' Gideros 2019.10<br/>
'''Class:''' [[R3d.Body]]<br/>
+
'''Class:''' [[R3d.Fixture]]<br/>
  
 
=== Description ===
 
=== Description ===
Gets the body material (bounciness, frictionCoefficient, rollingResistance).
+
Gets the fixture material (''bounciness'', ''frictionCoefficient'', ''massDensity'').
<source lang="lua">
+
<syntaxhighlight lang="lua">
(bounciness) (frictionCoefficient) (rollingResistance) = r3d.Body:getMaterial()
+
(number), (number), (number) = r3d.Body:getMaterial()
</source>
+
</syntaxhighlight>
  
 
=== Return values ===
 
=== Return values ===
values between 0 and 1 (0 means no bounciness, friction or rolling resistance).
+
'''Returns''' (number) the bounciness of the fixture (default = 0.5)<br/>
 +
'''Returns''' (number) the friction coefficient of the fixture (default = 0.3)<br/>
 +
'''Returns''' (number) the mass density of the fixture (default = 1 kg)<br/>
  
'''Returns''' (bounciness) the bounciness of the body (default = 0.5)<br/>
+
values between 0 and 1 (0 means no bounciness/friction)
'''Returns''' (frictionCoefficient) the friction coefficient of the body (default = 0.3)<br/>
+
 
'''Returns''' (rollingResistance) the rolling resistance of the body (default = 0)<br/>
+
'''''rolling resistance'' has been removed in latest ReactPhysics3D. Use [[R3d.Body:setAngularDamping]] to set and get the rolling resistance'''
  
 
=== Example ===
 
=== Example ===
<source lang="lua">
+
<syntaxhighlight lang="lua">
local mat = shipvp.body:getMaterial()
+
-- the body
print(mat.bounciness, mat.frictionCoefficient, mat.rollingResistance) -- returns 0.5, 0.3, 0
+
view.body = world:createBody(view:getMatrix())
</source>
+
local shape = r3d.SphereShape.new(params.sizex) -- radius
 +
local fixture = view.body:createFixture(shape, nil, params.mass)
 +
-- materials
 +
local mat = fixture:getMaterial()
 +
print(mat.bounciness, mat.frictionCoefficient, mat.massDensity)
 +
</syntaxhighlight>
  
{{R3d.Body}}
+
{{R3d.Fixture}}

Latest revision as of 02:02, 19 December 2025

Available since: Gideros 2019.10
Class: R3d.Fixture

Description

Gets the fixture material (bounciness, frictionCoefficient, massDensity).

(number), (number), (number) = r3d.Body:getMaterial()

Return values

Returns (number) the bounciness of the fixture (default = 0.5)
Returns (number) the friction coefficient of the fixture (default = 0.3)
Returns (number) the mass density of the fixture (default = 1 kg)

values between 0 and 1 (0 means no bounciness/friction)

rolling resistance has been removed in latest ReactPhysics3D. Use R3d.Body:setAngularDamping to set and get the rolling resistance

Example

-- the body
view.body = world:createBody(view:getMatrix())
local shape = r3d.SphereShape.new(params.sizex) -- radius
local fixture = view.body:createFixture(shape, nil, params.mass)
-- materials
local mat = fixture:getMaterial()
print(mat.bounciness, mat.frictionCoefficient, mat.massDensity)