Difference between revisions of "R3d.Fixture:setMaterial"
From GiderosMobile
m (MoKaLux moved page R3d.Body:setMaterial to R3d.Fixture:setMaterial: update to r3d v0.8) |
m (Text replacement - "</source>" to "</syntaxhighlight>") |
||
| (3 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. | + | '''Class:''' [[R3d.Fixture]]<br/> |
=== Description === | === Description === | ||
| − | Sets the | + | Sets the fixture material (bounciness, frictionCoefficient, rollingResistance). |
| − | < | + | <syntaxhighlight lang="lua"> |
| − | r3d. | + | r3d.Fixture:setMaterial(material) |
| − | </ | + | </syntaxhighlight> |
| + | |||
| + | '''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 === | === Parameters === | ||
| − | '''material''': (table) the | + | '''material''': (table) the fixture material table<br/> |
=== Example === | === Example === | ||
| − | < | + | <syntaxhighlight lang="lua"> |
| − | local | + | -- the body |
| − | mat.bounciness = 0.1 -- | + | view.body = xworld:createBody(view:getMatrix()) |
| − | mat.frictionCoefficient = 0.5 -- | + | local shape = r3d.SphereShape.new(params.sizex) -- radius |
| − | mat.rollingResistance = 1 -- | + | local fixture = view.body:createFixture(shape, nil, params.mass) |
| − | + | -- materials default: bounciness=0.5, frictionCoefficient=0.3, rollingResistance=0 | |
| − | </ | + | 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! | ||
| + | fixture:setMaterial(mat) | ||
| + | </syntaxhighlight> | ||
| − | {{R3d. | + | {{R3d.Fixture}} |
Latest revision as of 15:32, 13 July 2023
Available since: Gideros 2019.10
Class: R3d.Fixture
Description
Sets the fixture material (bounciness, frictionCoefficient, rollingResistance).
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
Example
-- the body
view.body = xworld: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, rollingResistance=0
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!
fixture:setMaterial(mat)