# Using Vectorforce to "flip" gravity

Currently I’m trying to get a player to be put on the opposite (upside down) side of the baseplate and be able to walk and jump on it using Vectorforce. However, going over documentation and forum I have gotten lost and I’m not completely sure how I can accomplish this. So any help and guidance would be appreciated.

local part = script.Parent --baseplate
local vectorForce = part.VectorForce

--vectorForce.Force = Vector3.new(0, workspace.Gravity * part:GetMass() * 1, 0)

local jump_att = Instance.new("Attachment", part)
local jump_force = Instance.new("VectorForce", part)
jump_force.ApplyAtCenterOfMass = true
jump_force.Attachment0 = jump_att
jump_force.RelativeTo = Enum.ActuatorRelativeTo.World
jump_force.Force = Vector3.new(-10,-1000,-10)
jump_force.Enabled = true

In the image the player should be touching the baseplate with the character rotated upside down.

Formula for 0 grav:

Mass * Workspace.Gravity

Formula for flipped gravity:

(Mass * Workspace.Gravity) * 2

The answer is equal to the Y force

local part = script.Parent --baseplate
local vectorForce = part.VectorForce

--vectorForce.Force = Vector3.new(0, workspace.Gravity * part:GetMass() * 1, 0)

local jump_att = Instance.new("Attachment", part)
local jump_force = Instance.new("VectorForce", part)
jump_force.ApplyAtCenterOfMass = true
jump_force.Attachment0 = jump_att
jump_force.RelativeTo = Enum.ActuatorRelativeTo.World
jump_force.Force = Vector3.new(-10,(workspace.Gravity * part:GetMass()) * 2,-10)
jump_force.Enabled = true

Makes more sense, thanks! Any changes I do however, don’t seem to do anything including what you provided. Is there something I’m missing?

what do you mean by that? <12>

When I test the script, no changes of the script never seem to have any affect on the character. Including before and after the edited version you did. Makes me believe I’m missing something.

hmmm strange. I mostly use BodyForce’s I never used Vector Force. Hopefully someone else can tell you about it!

1 Like