Garry's Mod Wiki

PhysObj:ApplyForceCenter

PhysObj:ApplyForceCenter( Vector force )

Description

Applies the specified force to the physics object (in Newtons).

This will not work on players, use Entity:SetVelocity instead.

Arguments

1 Vector force
The force to be applied.

Example

An entity that Simulates it's own gravity by applying a force downward on the entity based on the force equation :

(Force = mass * acceleration)

Since, by default, entities already have gravity. The default gravity must be turned off by adding phys:EnableGravity(false) in the entities Initialize function so that the default gravity doesn't interfere with our custom gravity.

NOTE: We can get the mass of the entity by using the PhysObj:GetMass function.

-9.80665 (meters / second ^ 2) Is the approximate acceleration of objects on Earth due to gravity. (It is negative because gravity pushes things downwards.)
function ENT:Initialize() self:SetModel( "models/hunter/blocks/cube1x1x1.mdl" ) self:PhysicsInit( SOLID_VPHYSICS ) self:SetSolid( SOLID_VPHYSICS ) self:SetMoveType( MOVETYPE_VPHYSICS ) local phys = self:GetPhysicsObject() if phys:IsValid() then phys:EnableGravity( false ) -- This is required. Since we are creating our own gravity. phys:Wake() end end function ENT:PhysicsUpdate( phys ) phys:ApplyForceCenter( Vector( 0, 0, phys:GetMass() * -9.80665 ) ) end

Page Links


Special Pages


Wikis

?

Render Time: 65ms

DB GetPage 4
Generate Html 10
SaveChanges (1) 22
Render Body 0
Render Sidebar 13