Hey all,
I have another question on scripting. I am making an enemy crab character that is supposed to chase my player. I am using a simple collider and rigidbody setup but the way I have it scripted, the crab won’t actually react to gravity. If my player jumps the crab follows him into the air. Here is the code:
var speed : float;
var player : Transform;
var gravity = 3.0;
private var moveDirection = Vector3.zero;
function Update() {
var distFromPlayer : Vector3 = player.position - transform.position;
var target : Vector3;
var velocity = rigidbody.velocity;
// Apply gravity
moveDirection.y -= gravity * Time.deltaTime;
if(distFromPlayer.magnitude < 20){
target = player.position;
velocity = (player.position - transform.position).normalized * speed;
}
rigidbody.velocity = velocity;
transform.LookAt(target);
}
var CrabDamage = 5.0;
var hitEffect : GameObject;
private var hit : Collision;
function OnCollisionEnter(hit : Collision) {
//Send a damage message to the hit object
if (hit.collider.tag == "Player" || hit.collider.tag == "Enemy")
{
/*Instantiate(hitEffect, hit.point, Quaternion.identity);*/
hit.collider.SendMessage("ApplyDamage", CrabDamage, SendMessageOptions.DontRequireReceiver);
if (hit.collider.tag == "Player"){
// Destroy the projectile
Destroy(gameObject);
}
}
}
Does anyone have any ideas?