- Home /
Ignore Character Controller Collision
Hi everyone, I'm having some trouble with a proximity attack that I'm working on. Basically I want to instantiate an explosion on my character whenever he jumps and lands. The problem is that my character takes damage from this and I only want it to hurt my enemies. I put the explosion script on a collider child of my character so that whenever he impacts something it explodes. I want it so that the player takes no damage from the explosion but that the enemies do. Please help!
Attached to collider child:
var thirdPersonController : ThirdPersonController; var explosion : GameObject;
function OnTriggerEnter (col : Collider)
{ var smasher = thirdPersonController.slammed;
if (col.transform.tag != "Player" && smasher == true) // not the player.
{
Instantiate(explosion, transform.position, transform.rotation);
}
}
Attached to explosion:
var explosionRadius = 5.0; var explosionPower = 10.0; var explosionDamage = 100.0; var explosionTimeout = 2.0;
var hero : GameObject; function Start () {
var explosionPosition = transform.position;
var colliders : Collider[] = Physics.OverlapSphere (explosionPosition, explosionRadius); for (var hit in colliders) {
var closestPoint = hit.ClosestPointOnBounds(explosionPosition); var distance = Vector3.Distance(closestPoint, explosionPosition);
var hitPoints = 1.0 - Mathf.Clamp01(distance / explosionRadius); hitPoints *= explosionDamage; if (hit.transform.tag != "Player") { print(hit); if (hit != hero.GetComponent(CharacterController))//Not working hit.SendMessageUpwards("ApplyDamage", hitPoints, SendMessageOptions.DontRequireReceiver); }
}
Answer by lhk · May 02, 2011 at 02:50 PM
Your check wether hit is the player seems somewhat fishy. You should better tag your player object with the player tag and use
if (!hit.compareTag("Player")))//Maybe working
hit.SendMessageUpwards("ApplyDamage", hitPoints, SendMessageOptions.DontRequireReceiver);
Your answer
Follow this Question
Related Questions
Any way to ignore collision between rigidbodies and colliders/character controllers? 1 Answer
Problem with character controller and collisions 1 Answer
How can I make two Character Controllers Collide 2 Answers
Collider not continuing to Ignore CharacterController after center changes. 0 Answers
How do you get an event to call when too Character Controllers hit. 1 Answer