erro na minha IA
2 participantes
Página 1 de 1
erro na minha IA
ola galera,eu estava fazendo minha IA e na hora de testar o inimigo segue o player de costa,ele não vira de frente pro player,alguem pode me ajudar?
#pragma strict
var PosHeroi: Vector3;
var Distancia: Vector3;
var RotaOlhar: Quaternion;
var velRotac: float;
var AuxQntRotaOlhar: Vector3;
var RotacaoRel:float;
var ViuInimigo: boolean;
var LevouDano : boolean;
var OuviuTiro : boolean;
var Perseguir : boolean;
var atacar : boolean;
var Fugir : boolean;
var AuxTempo: float;
function Start () {
AuxTempo = 0.25;
ViuInimigo = false;
LevouDano = false;
OuviuTiro = false;
Perseguir = false;
atacar = false;
Fugir = false;
}
function Update () {
if (Input.GetMouseButton(0) && (Distancia.z<75 && Distancia.z>-75 && Distancia.x<75 && Distancia.x>-75) )
{
Perseguir=true;
}
velRotac = 90*Time.deltaTime;
PosHeroi = GameObject.Find("Player").transform.position;
Distancia = transform.position - PosHeroi;
if (LevouDano)
{
ViuInimigo=true;
}
if (ViuInimigo || (Distancia.z<10 && Distancia.z>-10 && Distancia.x<10 && Distancia.x>-10) )
{
RotaOlhar = Quaternion.LookRotation(Distancia);
AuxQntRotaOlhar.y =RotaOlhar.eulerAngles.y;
RotacaoRel = transform.rotation.eulerAngles.y -( AuxQntRotaOlhar.y-180);
if (RotacaoRel> 360)
{
RotacaoRel -=360;
}
if (RotacaoRel<0)
{
RotacaoRel +=360;
}
if (RotacaoRel<360 && RotacaoRel>270 )
{
ViuInimigo = true;
Perseguir = true;
}
if (RotacaoRel>0 && RotacaoRel<90)
{
ViuInimigo = true;
Perseguir=true;
}
}
if ((Distancia.z>20 || Distancia.z<-20) || (Distancia.x>20 || Distancia.x<-20))
{
ViuInimigo= false;
}
if ((Distancia.z>50 || Distancia.z<-50) || (Distancia.x>50 || Distancia.x<-50))
{
LevouDano= false;
}
if (ViuInimigo || LevouDano)
{
if (RotacaoRel<360 && RotacaoRel>180 && !OuviuTiro )
{
transform.rotation.eulerAngles.y += velRotac;
}
if (RotacaoRel>0 && RotacaoRel<=180 && !OuviuTiro )
{
transform.rotation.eulerAngles.y -= velRotac;
}
if (RotacaoRel<1 || RotacaoRel > 359 && !OuviuTiro )
{
transform.rotation.eulerAngles.y = AuxQntRotaOlhar.y-180;
}
if (RotacaoRel<2 || RotacaoRel > 358 && ((Distancia.z<2 && Distancia.z>-2 && Distancia.x<2 && Distancia.x>-2)) )
{
atacar = true;
Perseguir = false;
GetComponent.<Animation>().CrossFade("Z-Attack");
}
else
{
atacar = false;
}
if (Perseguir)
{
transform.Translate(0,0,6*Time.deltaTime);
GetComponent.<Animation>().CrossFade("Z-Andando");
}
}
else
{
GetComponent.<Animation>().CrossFade("Z-Parado");
}
}
function OnCollisionEnter(collision : Collision) {
if (collision.transform.tag == "balaPistola")
{
if (Distancia.z<30 && Distancia.z>-30 && Distancia.x<30 && Distancia.x>-30)
{
ViuInimigo = true;
LevouDano = true;
}
}
}
#pragma strict
var PosHeroi: Vector3;
var Distancia: Vector3;
var RotaOlhar: Quaternion;
var velRotac: float;
var AuxQntRotaOlhar: Vector3;
var RotacaoRel:float;
var ViuInimigo: boolean;
var LevouDano : boolean;
var OuviuTiro : boolean;
var Perseguir : boolean;
var atacar : boolean;
var Fugir : boolean;
var AuxTempo: float;
function Start () {
AuxTempo = 0.25;
ViuInimigo = false;
LevouDano = false;
OuviuTiro = false;
Perseguir = false;
atacar = false;
Fugir = false;
}
function Update () {
if (Input.GetMouseButton(0) && (Distancia.z<75 && Distancia.z>-75 && Distancia.x<75 && Distancia.x>-75) )
{
Perseguir=true;
}
velRotac = 90*Time.deltaTime;
PosHeroi = GameObject.Find("Player").transform.position;
Distancia = transform.position - PosHeroi;
if (LevouDano)
{
ViuInimigo=true;
}
if (ViuInimigo || (Distancia.z<10 && Distancia.z>-10 && Distancia.x<10 && Distancia.x>-10) )
{
RotaOlhar = Quaternion.LookRotation(Distancia);
AuxQntRotaOlhar.y =RotaOlhar.eulerAngles.y;
RotacaoRel = transform.rotation.eulerAngles.y -( AuxQntRotaOlhar.y-180);
if (RotacaoRel> 360)
{
RotacaoRel -=360;
}
if (RotacaoRel<0)
{
RotacaoRel +=360;
}
if (RotacaoRel<360 && RotacaoRel>270 )
{
ViuInimigo = true;
Perseguir = true;
}
if (RotacaoRel>0 && RotacaoRel<90)
{
ViuInimigo = true;
Perseguir=true;
}
}
if ((Distancia.z>20 || Distancia.z<-20) || (Distancia.x>20 || Distancia.x<-20))
{
ViuInimigo= false;
}
if ((Distancia.z>50 || Distancia.z<-50) || (Distancia.x>50 || Distancia.x<-50))
{
LevouDano= false;
}
if (ViuInimigo || LevouDano)
{
if (RotacaoRel<360 && RotacaoRel>180 && !OuviuTiro )
{
transform.rotation.eulerAngles.y += velRotac;
}
if (RotacaoRel>0 && RotacaoRel<=180 && !OuviuTiro )
{
transform.rotation.eulerAngles.y -= velRotac;
}
if (RotacaoRel<1 || RotacaoRel > 359 && !OuviuTiro )
{
transform.rotation.eulerAngles.y = AuxQntRotaOlhar.y-180;
}
if (RotacaoRel<2 || RotacaoRel > 358 && ((Distancia.z<2 && Distancia.z>-2 && Distancia.x<2 && Distancia.x>-2)) )
{
atacar = true;
Perseguir = false;
GetComponent.<Animation>().CrossFade("Z-Attack");
}
else
{
atacar = false;
}
if (Perseguir)
{
transform.Translate(0,0,6*Time.deltaTime);
GetComponent.<Animation>().CrossFade("Z-Andando");
}
}
else
{
GetComponent.<Animation>().CrossFade("Z-Parado");
}
}
function OnCollisionEnter(collision : Collision) {
if (collision.transform.tag == "balaPistola")
{
if (Distancia.z<30 && Distancia.z>-30 && Distancia.x<30 && Distancia.x>-30)
{
ViuInimigo = true;
LevouDano = true;
}
}
}
MarceloYBP- Avançado
- PONTOS : 2912
REPUTAÇÃO : 33
Respeito as regras :
Re: erro na minha IA
O eixo Z ta virado pras costa dele rotaciona ele pra posiçao certa
francisco barroso- Programador
- PONTOS : 2613
REPUTAÇÃO : 59
Respeito as regras :
Re: erro na minha IA
e que fiz esse script sem escutar o que cada coisa faz,meu pc ta sem audio.
MarceloYBP- Avançado
- PONTOS : 2912
REPUTAÇÃO : 33
Respeito as regras :
Re: erro na minha IA
a posiçao padrao dos objetos na unity é no eixo Z a seta azul..o seu inimigo deve ta rotacionado pro lado contrario dessa seta azul daí vc gira ele pra ficar de frente da seta ue..
francisco barroso- Programador
- PONTOS : 2613
REPUTAÇÃO : 59
Respeito as regras :
Re: erro na minha IA
ata pensei que era pra mexer com o script
MarceloYBP- Avançado
- PONTOS : 2912
REPUTAÇÃO : 33
Respeito as regras :
Tópicos semelhantes
» Por que da esse erro ao inicia minha aplicação no Android?
» erro erro e mais erro script de craft
» Bom dia, erro invisível como resolver? Erro -> [15:32:11]
» Erro ao abrir projeto ( Fatal Erro )
» Minha unity ta dando muitoooo LAG
» erro erro e mais erro script de craft
» Bom dia, erro invisível como resolver? Erro -> [15:32:11]
» Erro ao abrir projeto ( Fatal Erro )
» Minha unity ta dando muitoooo LAG
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos