Is there a way to force non collision on upper torso and head of character?

I have some animations that when played cause the characters head and upper torso to have collision problems with the terrain.

I would like to turn off collision for the head and upper torso (all other parts are already non collision, except the humaoid root part) during the playing of these specific animations.

However, the humanoid is keeping collisions on for the head and upper torso.

After searching forums and wiki, I see that collision groups could be used, but that is a lot of extra work and coding if there is a simpler way.

So I am asking, other than collision groups, is there any way I might be overlooking to simply remove collision from the head and upper torso of a character without having to use the ‘physics’ setting or ‘platform stand’ or anything that would make normal movement and walking not possible.

Thanks.

Edit
What I eventually did was this. I used the solution marked in this post, using RunService.Stepped, but to keep from falling through the terrain, I create an invisible part for upper torso, lower torso, and head, and weld these to the HumanoidRootPart. So when an animation is happening, the non-collision body parts are moving where they need to move, and the invisible body parts (ones I added) are keeping me from falling through terrain.
Also be aware of this upcoming change.

5 Likes

Connect a signal to RunService.Stepped that sets CanCollide = false on these body parts, so that they are re-set to false on every frame right before physics run. (Don’t do Heartbeat or RenderStepped, this doesn’t quite have the same effect)

Welcome to the wonderful world of Humanoids.

27 Likes

Ah! Thank you, I had forgotten about RunService (probably because I have never actually used it, but only seen its use in scripts) So I am assuming that Stepped will be happening after the internals of humanoid have set these parts to can collide, but before the physics can actually take place?

Or does it simply not matter when humanoid is setting these as long as we are setting them, just before the physics?

Well, that was to no purpose, as the HumanoidRootPart, apparently isn’t enough to keep a character from falling through the terrain at any narrow space in the terrain. I fall through unless I have all 3 with collision left on. HumanoidRootPart, UpperTorso, and Head. This seems like such a hackish work around for terrain collision. Would be nice if the HumanoidRootPart was in itself capable of keeping a character from glitching through. :frowning:

What I eventually did was this. I used the solution marked in this post, using RunService.Stepped, but to keep from falling through the terrain, I create an invisible part for upper torso, lower torso, and head, and weld these to the HumanoidRootPart. So when an animation is happening, the non-collision body parts are moving where they need to move, and the invisible body parts (ones I added) are keeping me from falling through terrain.
Also be aware of this upcoming change.

2 Likes

Was struggling with this, this was the perfect workaround for it. This is needed combined with collision groups. Thanks!

3 Likes