R3d.Body:createFixture
From GiderosMobile
Available since: Gideros 2019.10
Class: R3d.Body
Description
Creates a new fixture.
(fixture) = r3d.Body:createFixture(shape[,transform,mass])
Parameters
shape: (r3d.Shape) the r3d shape of the fixture (one of R3d.Shape)
transform: (matrix) the initial position and orientation of the fixture relative to the body, optional default = 0,0,0
mass: (number) the mass of the fixture, optional default = 1 kg
Example
-- mesh
local mesh = D3.Cube.new(params.sizex, params.sizey, params.sizez, Sprite.CULL_NONE)
mesh:setCullMode(params.cullmode)
mesh:mapTexture(params.tex, params.texw, params.texh)
mesh:updateMode( D3.Mesh.MODE_LIGHTING | D3.Mesh.MODE_SHADOW )
-- put it in a viewport so we can matrix it
local viewport = Viewport.new()
viewport:setContent(mesh)
-- transform
local matrix = viewport:getMatrix()
matrix:setPosition(params.posx, params.posy, params.posz)
matrix:setRotationX(params.rotx)
matrix:setRotationY(params.roty)
matrix:setRotationZ(params.rotz)
viewport:setMatrix(matrix)
-- r3d body
viewport.body = world:createBody(matrix)
viewport.body:setType(params.type)
viewport.body.id = "cube"
local shape = r3d.BoxShape.new(params.sizex, params.sizey, params.sizez)
local transform = Matrix.new()
transform:setY(-params.sizey/2)
transform:setRotation(params.rotx)
transform:setRotationY(params.roty)
transform:setRotationZ(params.rotz)
local fixture = viewport.body:createFixture(shape, transform, 1) -- shape, transform, mass
- R3d.Body
- R3d.Body.DYNAMIC BODY
- R3d.Body.KINEMATIC BODY
- R3d.Body.STATIC BODY
- R3d.Body:applyLocalForceAtCenterOfMass
- R3d.Body:applyLocalForceAtLocalPosition
- R3d.Body:applyLocalForceAtWorldPosition
- R3d.Body:applyLocalTorque
- R3d.Body:applyWorldForceAtCenterOfMass
- R3d.Body:applyWorldForceAtLocalPosition
- R3d.Body:applyWorldForceAtWorldPosition
- R3d.Body:applyWorldTorque
- R3d.Body:createFixture
- R3d.Body:destroyFixture
- R3d.Body:enableGravity
- R3d.Body:getAngularDamping
- R3d.Body:getAngularVelocity
- R3d.Body:getForce
- R3d.Body:getLinearDamping
- R3d.Body:getLinearVelocity
- R3d.Body:getMass
- R3d.Body:getTorque
- R3d.Body:getTransform
- R3d.Body:raycast
- R3d.Body:resetForce
- R3d.Body:resetTorque
- R3d.Body:setAngularDamping
- R3d.Body:setAngularLockAxisFactor
- R3d.Body:setAngularVelocity
- R3d.Body:setIsActive
- R3d.Body:setIsAllowedToSleep
- R3d.Body:setIsSleeping
- R3d.Body:setLinearDamping
- R3d.Body:setLinearLockAxisFactor
- R3d.Body:setLinearVelocity
- R3d.Body:setMass
- R3d.Body:setTransform
- R3d.Body:setType
- R3d.Body:testPointInside