Voici mon probleme:
L'ennemi ne me vois pas et ne ce déplace pas!!
voici mon script:
Enemie:
Code : Tout sélectionner
var hitPoints=20;
var explosion:Transform;
var characterLayer:LayerMask;
var gravity=20;
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){
print("TOUCHE");
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);
var flags=controller.Move(movedirection*3*Time.deltaTime);
}
function makeDamage(damage:float){ //...fonction gestion dommages de l'ennemi
hitPoints-=damage; //...On deduits des points de vie la valeur damage
if(hitPoints<=0){ //...Si les points de vie sont inférieurs ou égaux a 0
Instantiate(explosion,transform.position,transform.rotation); //...on instantie l'explosion
Destroy(gameObject);
}
}