I have made an IA that follow me when he see me. Instead of just following me, he follow me and he goes up. I don't know what to do.
The following file is the file that control the Mob.
**File : EnemyScript.js**
var hitPoints = 100;
var explosion:Transform;
var gravity=20;
var characterLayer:LayerMask;
private var player:GameObject;
player=GameObject.Find("Player");
var visionAngle:float = 45;
var visionRange:float = 100;
private var distanceToPlayer:float;
private var canSeePlayer:boolean=false;
var hit:RaycastHit;
function Update() {
seekPlayer();
}
function seekPlayer() {
directionToPlayer = player.transform.position - transform.position;
distanceToPlayer = Vector3.Distance(transform.position, player.transform.position);
var playerAngle = Vector3.Angle(directionToPlayer, transform.forward);
if (Mathf.Abs(playerAngle) < visionAngle && distanceToPlayer < visionRange)/* || canSeePlayer == true)*/ {
Physics.Linecast(transform.position, player.transform.position, hit, ~characterLayer.value);
if (hit.collider.name==player.collider.name) {
var moveDirection = transform.forward;
var tempRot = Quaternion.Slerp(transform.rotation, Quaternion.LookRotation(directionToPlayer), 2 * Time.deltaTime);
tempRot.x = 0;
tempRot.z = 0;
transform.rotation = tempRot;
canSeePlayer = true;
}
}
moveDirection.y -= gravity * Time.deltaTime;
var controller:CharacterController=GetComponent(CharacterController);
controller.Move(moveDirection * 3 * Time.deltaTime);
}
function makeDamage(damage:float) {
hitPoints -= damage;
if (hitPoints <= 0) {
Instantiate(explosion, transform.position, transform.rotation);
Destroy(gameObject);
}
}
If you need other information to help me, just ask, I'll try to find them.
↧