- Home /
Question by
el-mas-pro-470 · Jan 09, 2019 at 06:15 PM ·
enemyrangeenemyaifirst person shootervision
Enemy VISION range? Help!
Hi guys, I tell you that I created myself (and passed ac #) an AI script, but the detection system is very strange, example: I am behind the enemy and I see the same, that is, it would be better to make a field of vision but I do not know how to do it, does anyone know anything? Thank you! (I use unity 4.7.2).
public Transform Target;
public Animator Animador;
public float Distancia = 30;
public float LastDistance = 50;
public bool Searching = false;
public float RotationDamping = 2;
public float moveSpeed = 5;
public Vector3 TargetPosition;
public NavMeshAgent EnemyNV;
private bool AgentActive = false;
public NavMeshAgent NavMeshAgentComp;
void Start()
{
Animador.SetBool("Aiming", false);
TargetPosition = Target.transform.position;
EnemyNV = GetComponent<NavMeshAgent>();
NavMeshAgentComp.enabled = false;
}
void Update()
{
var distance = Vector3.Distance(Target.position, transform.position);
if(distance <= Distancia)
{
LookAtTarget();
Animador.SetBool("Aiming", true);
Animador.SetBool("WalkingSearch", false);
Animador.SetBool("Idle", false);
}
if(distance > Distancia)
{
SearchTarget();
Animador.SetBool("Aiming", false);
Animador.SetBool("WalkingSearch", true);
Animador.SetBool("Idle", false);
Searching = true;
}
if(distance > LastDistance)
{
LastTarget();
}
}
void LookAtTarget()
{
var dir = Target.position - transform.position;
dir.y = 0;
var rotation = Quaternion.LookRotation(dir);
transform.rotation = Quaternion.Slerp(transform.rotation, rotation, Time.deltaTime * RotationDamping);
NavMeshAgentComp.enabled = false;
}
void SearchTarget()
{
if(Searching == true)
{
Animador.SetBool("WalkingSearch", true);
NavMeshAgentComp.enabled = true;
EnemyNV.destination = Target.position;
}
}
void LastTarget()
{
if(Searching == true)
{
Searching = false;
Animador.SetBool("Aiming", false);
Animador.SetBool("WalkingSearch", false);
Animador.SetBool("Idle", true);
NavMeshAgentComp.enabled = false;
}
}
}
Comment
Your answer
Follow this Question
Related Questions
2D Enemy AI range problem 2 Answers
how do i make enemy ai chase player 0 Answers
Flying Zombie 0 Answers
Space between gameobjects 1 Answer
How do you move did with [iTWEEN] the enemy has a component of [Character Controller]? 0 Answers