- Home /
Character Controller Grenade problems
HI, I've been working on the grenade script that would make my controller jump if in contact. But the problem is that it feels forced and instantly teleports. And the rigidbody for the controller seems to not work either. Every time I set the controller to not KINETIC it falls through the floor and pretty new to unity and any help would be appreciated.
Heres script: void RocketShot() {
Instantiate(explosiveEffect, transform.position, transform.rotation);
Collider[] objectsInRange = Physics.OverlapSphere(transform.position, radius);
foreach (Collider col in objectsInRange)
{
CharacterController characterController = col.GetComponent<CharacterController>();//to notice it get hit by the explosion;
Rigidbody rigidbody = col.GetComponent<Rigidbody>();//rigidbody dont work well
if (characterController != null)
{
Vector3 velocty = characterController.velocity;
float magintude = velocty.magnitude;
moveDirection += Vector3.up * speed;//instanly teleports. donst feel like a jump
characterController.Move(moveDirection);
Debug.Log("contactGernade");
}
}
Destroy(gameObject);
}
Answer by Snipe76 · Jan 02, 2019 at 03:39 PM
Rigidbody must have a collider to work. The Character controller is not a collider therefor you are falling through the ground. another problem is that the character controller does not support physics simulation and if you want to have physics you need to use the rigidbody.addForce() function to push it on explosion or hit.
I figure out how to put a collider but the character is acting crazy now. It's randomly moving on the axis even without input. Please respond.
Your answer
Follow this Question
Related Questions
Character Controller meets Rigidbody 1 Answer
Can't use Rigidbody or Character Controller 0 Answers
Any way to ignore collision between rigidbodies and colliders/character controllers? 1 Answer
Is there a rigidbody character controller 3rd person that can handel stairs (steps)? 1 Answer
Two Character Controllers Colliding... 0 Answers