Difference between revisions of "R3d.Fixture:setMaterial"

From GiderosMobile
m (Text replacement - "</source>" to "</syntaxhighlight>")
 
Line 3: Line 3:
  
 
=== Description ===
 
=== Description ===
Sets the fixture material (bounciness, frictionCoefficient, rollingResistance).
+
Sets the fixture material (''bounciness'', ''frictionCoefficient'', ''massDensity'').
 
<syntaxhighlight lang="lua">
 
<syntaxhighlight lang="lua">
 
r3d.Fixture:setMaterial(material)
 
r3d.Fixture:setMaterial(material)
Line 13: Line 13:
  
 
=== Parameters ===
 
=== Parameters ===
'''material''': (table) the fixture material table<br/>
+
'''material''': (table) the fixture material table:<br/>
 +
*material.'''bounciness'''
 +
*material.'''frictionCoefficient'''
 +
*material.'''massDensity'''
  
 
=== Example ===
 
=== Example ===
 
<syntaxhighlight lang="lua">
 
<syntaxhighlight lang="lua">
 
-- the body
 
-- the body
view.body = xworld:createBody(view:getMatrix())
+
view.body = world:createBody(view:getMatrix())
 
local shape = r3d.SphereShape.new(params.sizex) -- radius
 
local shape = r3d.SphereShape.new(params.sizex) -- radius
 
local fixture = view.body:createFixture(shape, nil, params.mass)
 
local fixture = view.body:createFixture(shape, nil, params.mass)
-- materials default: bounciness=0.5, frictionCoefficient=0.3, rollingResistance=0
+
-- materials default: bounciness=0.5, frictionCoefficient=0.3, massDensity=1 Kg
 
local mat = fixture:getMaterial()
 
local mat = fixture:getMaterial()
 
mat.bounciness = 0.1 -- 0 = no bounciness, 1 = max bounciness
 
mat.bounciness = 0.1 -- 0 = no bounciness, 1 = max bounciness
 
mat.frictionCoefficient = 0.5 -- 0 = no friction
 
mat.frictionCoefficient = 0.5 -- 0 = no friction
 
--mat.rollingResistance = 0.1 -- DEPRECATED!
 
--mat.rollingResistance = 0.1 -- DEPRECATED!
 +
mat.massDensity = 5 -- in Kg
 +
 
fixture:setMaterial(mat)
 
fixture:setMaterial(mat)
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 
{{R3d.Fixture}}
 
{{R3d.Fixture}}

Latest revision as of 02:08, 19 December 2025

Available since: Gideros 2019.10
Class: R3d.Fixture

Description

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

r3d.Fixture:setMaterial(material)
warnings: not setting material.bounciness between (0, 1) will crash your app!
warnings: setting material.frictionCoefficient a negative value will crash your app!
warnings: material.rollingResistance is deprecated use R3d.Body:setAngularDamping instead

Parameters

material: (table) the fixture material table:

  • material.bounciness
  • material.frictionCoefficient
  • material.massDensity

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 default: bounciness=0.5, frictionCoefficient=0.3, massDensity=1 Kg
local mat = fixture:getMaterial()
mat.bounciness = 0.1 -- 0 = no bounciness, 1 = max bounciness
mat.frictionCoefficient = 0.5 -- 0 = no friction
--mat.rollingResistance = 0.1 -- DEPRECATED!
mat.massDensity = 5 -- in Kg

fixture:setMaterial(mat)