@kleptonaut Hey, i was wondering if that new Humanoid Physics Controller fix Knockback issues, all my combat systems have issues with Knockback, usually take a delay time to player Knockback cause Humanoid issues, hope that new Controller fix my problems.
Hi!
No, I customized them. I moved all of the instances out of ControllerManager (so it generated the default settings) and I can say that now the first glitch doesn’t happen.
However, I’ve found another way to make my character fall down and “become a helicopter”; On my test map, there’s a block attached to a rope. If I move against it to make it start swinging wildly, then I jump onto it while its side is facing upwards, my character tilts sideways strangely, then once she hits the ground, she starts spinning uncontrollably. Here’s a video of the glitch; I’m using default values here:
Since this bug is probably pretty specific, should I try to make a reproduction RBXL file and attach it to a new post?
Maybe. Also, yeah, it should probably be consistent; What I like about PhysicsCharacterController is how consistent the momentum and movement are. I can jump, change directions, and my momentum smoothly transitions between the states. The video I posted here doesn’t show that, but I would like to see the new official character controller have as “slippery and smooth” of movement as it.
I’ll have to try that sometime.
I hope my posts in this topic don’t come off as harsh or anything close to that; I do like that Roblox’s improving the default character movement with proper physics, but ever since I tried PhysicsCharacterController, I’ve started to wonder if the official one will be as smooth and (nearly) glitch-free.
(PhysicsCharacterController has one almost fatal flaw; Any kind of lag bounces the player into the sky. The official one, as far as I know, doesn’t have that bug, so it’s better in that way.)
Thank you! Should’ve checked that first.
Check the RunningController.GroundOffset property. Depending on how you’re initializing the Controller instances, it may not be automatically set accurately. This property is more or less equivalent to Humanoid.HipHeight.
This is because the default HipHeight for R6 is set to 0. For the standard controller, R6 rigs will automatically adjust the height depending on the size of the legs (if there are any), and HipHeight acts more like an offset to the leg height. For R15 rigs and the new character controller, they behave differently and HipHeight will be 2 in most cases, due to it being the leg height instead of the offset to the leg height.
Simply fix this by setting Humanoid.HipHeight
to 2 or RunningController.GroundOffset
to 2.
there’s also another bug that’s been lasting since the beta and it’s still not fixed
the coyote line might’ve accidentally been deleted while making the beta
the bug is actually really easy to reproduce, just do that same build in this video:
physics coyote line test - YouTube (not intended advertising)
(you can use the keyboard sounds in the bugged behavior clip for reference)
hope the no-coyote-line bug can be fixed soon! @kleptonaut
when you jump and land while moving it shouldnt take time to re-accelerate imo.
you already have the velocity but it acts like you just started walking again
(presumably this is because running and landed got merged into one controller? so landing applies the same things as restarting a run?)
Running
andLanded
→GroundController
“RunningController”
I only just tried the new controllers today. One thing I did notice, in the posts, was a request to allow the modification of the ‘float’ and ‘sink’ speed while in water.
This has been an issue with water for a long time, and though everyone says ‘you can fix this with a script’ there is something inconsistent with how the density of parts are calculated, and there is no script that can accurately fix the ‘sink/float’ issue for any given character.
Not to mention the other issues that can arise from changing character densities to try and get a non float, non sink situation.
So, not sure if this is something that could or will be addressed with these new controllers, as its not really a ‘movement’ issue, but rather a ‘density’ issue.
However, if there is a way to allow us to even ‘disable’ the calculation of density in water with these new controllers that would be great! Such as a way to say, I want to move in water the same way I would fly in air, with my density not causing me to float nor sink, but to rather just hover in place (and not hover as in remain a constant height above ground, but to remain in place, not sinking or rising)
Thanks.
I’m experiencing issues with manipulating walkspeed while using the new physics controller. Anyone else have the same issue?
It’s the primary reason in why I am avoiding the new controller.
Is there anyway to only use the “JumpController” of it. I only need to use it because of the momentum preservation so jumping on moving objects and such
Entering and then leaving the Physics state type breaks everything in your character if you have IK Controls. You fling into space going crazy, never to return.
You also have a certain “fly” state if you are using RigidityEnabled with CanCollide parts. It only ends when you enter certain states (like the Physics state)
NPCs attempting to use this new system simply become bugged and are unable to move. Upon further inspection you can see that the important parts of it (like the GroundController) are not present.
Also I am seeing strange situations where players lose the ability to move (sometimes it’s not all the way but you are noticeably slowed down), and sometimes random flinging occurs.
Keep in mind that I am using adaptive time stepping, and have CanCollide body parts so this may be the cause of the problem.
Really glad the new physics controller resolves this issue completely:
(There is still a reoccuring issue of when you go up a slope at fast speeds and attempt to jump, clipping into the slope.)
However, an issue I noticed is that if you just so happen to land, hit, or trip anything in any certain way, even when spawning in from falling down, you’re very likely to permanently trip.
Aka, being stuck in a sort of physics state. You’re completely unable to move or recover. Adjusting the settings, disabling any other character scripts I made, and other random tid bits did not work.
Also, while messing around, apperently adjusting the “AssemblyLinearVelocity” on the root part on the client side of the character sends the character to flying mode? It also seems to pause or get stuck:
Also, as a result of messing up the AssemblyLinearVelocity with a sudden impulse, you’re actually able to control the character and basically make a makeshift flying mode.
You can see me having certain control over the flying, though the character “slowly” begins to drop down.
To replicate:
- Trip character by either tilting the character via rotate tool or simply flying out of a slope at high speed into an obstacle/tripping randomly.
- Go to Root part
- Set “AssemblyLinearVelocity” to a random high value, preferably on the Y value.
- Try moving.
@Seiiyo @Veesuuu
For now, changing the WalkSpeed
property on the Humanoid will not work. You’ll need to adjust the BaseMoveSpeed
on the ControllerManager instead.
If you want to change the speed individually for each controller (for example, have a faster walk speed and a slower climb speed), you can adjust the MoveSpeedFactor
property on the Controller instances. This is multiplied by ControllerManager.BaseMoveSpeed to give you your final target speed.
Found a bug, just enable shift lock and walk backward
Also iam glad to tell you guys that it fixed knockback issues
Without new Controller
With the new Controller
Same VectorForce for both
Another bug, Humanoid.Died doenst trigger the first time you die
This should become doable, but not as an option on the GroundController, since that’s part of its core functionality.
As we expose more of the Humanoid state machine and floor sensors, there should be a few ways to achieve this. I think it will always be somewhat hacky as the behavior you’re looking for sounds fundamentally hacky (unless I’m misunderstanding?)
Why is the current way that the GroundController interacts with other floor parts not satisfactory?