Difference between revisions of "R3d.Fixture:setMaterial"
From GiderosMobile
| (2 intermediate revisions by one other user not shown) | |||
| Line 3: | Line 3: | ||
=== Description === | === Description === | ||
| − | Sets the fixture material (bounciness, frictionCoefficient, | + | Sets the fixture material (''bounciness'', ''frictionCoefficient'', ''massDensity''). |
| − | < | + | <syntaxhighlight lang="lua"> |
r3d.Fixture:setMaterial(material) | r3d.Fixture:setMaterial(material) | ||
| − | </ | + | </syntaxhighlight> |
'''warnings''': not setting material.bounciness between (0, 1) will crash your app! | '''warnings''': not setting material.bounciness between (0, 1) will crash your app! | ||
| 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"> |
-- the body | -- the body | ||
| − | view.body = | + | 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, | + | -- 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> |
{{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)