Characters and Custom Movement

So on my current project (the movement is similar to games like Agario, Deeeep, but using 3D Models instead of UI) I’m working on characters and their movement, I’ve tried doing many solutions (VectorForces, Basic Position/CFrame Manipulation (SetPrimaryPartCFrame), making every character local per player(Was doing this because Characters were anchored, but it turned out to be a pretty bad idea))

After doing all of these I believe the best option is to uses constraints like AlignPosition, AlignOrientation or bodymovers BodyVelocity, BodyThrust etc

My Characters will be animated as well

  1. Humanoids seem to be getting in the way due to their HipHeight and more, would it be best to just scratch Humanoids all together?
    1.5. If so can you use animations created in the animation editor after the Humanoid is removed from a Character (I believe AnimationController is what this is for, but can it be used on Characters without a Humanoid)

2 My Current Plan to do movement is to create a part locally and set its CFrame while having AlignPosition, AlignOrientation inside of the character model, is this a good solution or is there a better way of having smooth custom character movement (Keep in mind that the Y Position has to be exact and can never change)

I’ve already redone all of my code 4-5+ times because the solution I thought of wasn’t actually a solution, so I thought I’d ask here to get some insight from other developers

Thanks in advance

1 Like

I would recommend just setting CFrame and welding the “character” together

Don’t use SetPrimaryPartCFrame, it is terribly inefficient and has severe problems with floating point imprecision that will eventually cause the parts in your character to drift apart.

The character is already welded, and currently I’m not using :SetPrimaryPartCFrame

as for just setting the CFrame it isn’t really that smooth by itself

I went with ditching humanoids

I created two anchored parts locally (One for Position and one for Rotation)

I then had an AlignPosition inside of the character linked to the Position Part and AlignOrientation linked to the Rotation Part

I set the Position and Orientation of those parts and so far it has been working really smoothly

The character was rigged (welded with motor6Ds) was unanchored and massless basically a regular character without a humanoid