If you’ve ever seen the anime Attack on Titan I’m pretty sure you’d know about this cool thing called the Omni-Directional Movement Gear, it allows for the user to easily maneuver themselves in a 3D Space, allowing for agile and fast movements mid air.
For the past few months I’ve been trying to create this kind of mechanism and I’ve been going at it on and off, giving up and then coming back to it, my problem seems so simple but hard at the same time, I’ve managed to incorporate Uniform Motion that allows the user to go forward towards the Anchor point as seen here: Roblox Scripting - Unfinished ODM Gear - YouTube
but what I’ve really been struggling with is this kind of mechanic seen here from a gif taken from Films’ game.
I’m no physics expert and no expert mathematician either, and maybe I’m just lazy but I cant for the life of me figure out how to accomplish that spinning mechanic… so for example the player could be going forward and then maneuver to the right by pressing D that allows them to spin to the right and dodge the Titan’s hand.
Please anyone, if you’re experienced in Vector Math or Physics in general could you help me with this problem? It has plagued me for a LONG time and I can’t figure out how other Developers accomplish it.
EDIT:
Many months later I’ve finished the gear and have managed to make a working demo version seen here:
I haven’t done something like this myself but what I believe what you need is a CFrame pointing toward your anchor from your person.
Snippet about finding a LookAt vector is good.
to the right is: CFrame.RightVector
to the left is: -CFrame.RightVector
you can also use .UpVector to get ‘up’ and ‘down’
so your person is suspended or being pulled toward a point and can use WASD to skew the movement.
Side notes:
The concept causing the rotation in your gif is a normal force applied to momentum, like the moon orbiting the earth.
I don’t know if you want to use forces or not
Maths on vectors and normal planes and such: try to understand this. Unnecessary though.
yes that should work.
you have the HRP as reference then use the right vector to rotate around your focal point(anchor)
you will want to check to make sure any force you apply rotates with your HRP though.
I would use a similar mechanic to your moving toward anchor motion. if its a force use forces if you are setting CFrame, use CFrames, Velocity, etc. So that it is consistent.
RightVector is just an existing way to find direction relative to a point/facing.