- Home /
Rigidbody jump script collision help.
Hello. Lately I was searching for perfect rigidbody collision script. What I mean by that is something to check where character is touching the ground and switch grounded properly. I have found many ideas with tags on the floor, which is no go since tagging everything will be kinda chaotic, second idea was to check for velocity but it doesn't work. So I kept digging myself and well, I've found out about collision flags but I don't know how to apply them properly.
void OnCollisionStay(Collision collisionInfo)
{
if ( CollisionFlags.CollidedBelow != 0)
{
grounded = true;
anim.SetBool ("Grounded", true);
}
}
It's simply not working properly and I still get ground toggled back on even if touching side which makes my jump repeatable on a wall launching me off like rocket.
Answer by Mmmpies · Jan 03, 2015 at 02:38 PM
Set a tag for anything you want to be considered ground then check
if(collisionInfo.tag == "Ground")
{
grounded = true;
anim.SetBool ("Grounded", true);
}
If you have a wall that you don't want to be ground but you do want to be able to walk, or jump on top of it from a higher location, then put a thin box collider on top of the wall and tag that as Ground.
That way you don't class the side of a wall as Ground but the top can be.
That's not the thing I'm looking here for. The game itself can have too many platforms to make such idea a valid option. From poking around I see that raycast is the best option here. Any ideas for that? I'm pretty sure that all main games and $$anonymous$$$$anonymous$$O's use very similiar jumping system and ground checking. But what is it?
This is asked pretty often so you should be able to search answers. This is just the first of many that turn up, don't use raycasting myself but it is a recognized way of checking.
EDIT:
Oh and all games using the same method, doubtful, it's just what works best for your game.
Someone asked the same question about grounding a few weeks back and I put that method in as it works for my game but just whilst I typed 2 other people put forward their ideas, all three were completely different!
Your answer
Follow this Question
Related Questions
Problem with Rigidbody control script! (collision with perpendicular walls problem) 1 Answer
NavMesh Collision Detection? 0 Answers
Ball falls through the floor... why? 1 Answer
Drag & Drop GameObject with MovePosition shoots other Gameobject away in case of them colliding 1 Answer
Rigidbody not working 0 Answers