[TUTORIAL] Sistema de visão para inimigos baseado em angulos
Página 1 de 1
[TUTORIAL] Sistema de visão para inimigos baseado em angulos
No video eu esqueçi de colocar a tag "Player" no inimigo então coloquem para funcionar
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Vision : MonoBehaviour
{
public Transform target;
public float visionAngle = 90;
public float distanceMax = 10;
// Update is called once per frame
void Update()
{
if(OnVision()){
print("está vendo o " + target.name);
}
}
bool OnVision(){
Vector3 dir = target.position - transform.position;
float angulo = Vector3.Angle(dir,transform.forward);
float currentDis = Vector3.Distance(target.position, transform.position);
RaycastHit hit;
if(angulo <= visionAngle && currentDis <= distanceMax){
if(Physics.Linecast(transform.position,target.position,out hit)){
if(hit.transform.tag == "Player"){
return true;
}
else{
return false;
}
}
else{
return false;
}
}
else{
return false;
}
}
}
hendrick22- MembroAvançado
-
PONTOS : 2266
REPUTAÇÃO : 57
Idade : 24
Respeito as regras :

» [TUTORIAL] Campo de visão dos inimigos (Enemy FOV) com Raycast ou OverlapSphere
» [TUTORIAL] LookAt em 2D para o MOUSE, com Clamp(limite) para angulos máximos e mínimos.
» [TUTORIAL] Como usar NaveMesh para inimigos desviarem de obstáculos
» [TUTORIAL] Sistema de Zoom...tanto para cameras como para armas
» [TUTORIAL] Sistema de Suspenção a Ar para carros (WheelCollider)
» [TUTORIAL] LookAt em 2D para o MOUSE, com Clamp(limite) para angulos máximos e mínimos.
» [TUTORIAL] Como usar NaveMesh para inimigos desviarem de obstáculos
» [TUTORIAL] Sistema de Zoom...tanto para cameras como para armas
» [TUTORIAL] Sistema de Suspenção a Ar para carros (WheelCollider)
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos