Script de Inteligência Artificial Simples feito em Unity 3D.


public class IaSimples : MonoBehaviour {
private Transform Player; // variavel publica de movimento
public float Velocidade;

void Start(){
Player = GameObject.FindGameObjectWithTag("Player").transform;//declarei que a variavel player deve ser ascessada por apenas um objeto(jogador)
if(Velocidade<=0){// se a variavel velocidade for maior ou = a 0
Velocidade = 5;// a velocidade sera 5
}

}
void Update(){
controleDaDistancia();

}

void controleDaDistancia() {//iniciei uma nova funçao para controlar a distancia entre os objetos

float distanciaAoPlayer = Vector3.Distance(transform.position, Player.position);//declarei uma variavel interna tipo float, que sera igual a distancia do vetor 3( entre o objeto que sera mudado de posiçao e o que esta mudando)
if(distanciaAoPlayer < 100 && distanciaAoPlayer > 2){// informei que se a variavel for menor que 100 e maior que 2 isto sera valido Se for verdadeira
seguirJogador (true);//seguir o player sera verdadeira;
}
else{
seguirJogador(false);//nao seguir o player sera verdadeira
}

}
void seguirJogador (bool seguir){// iniciei uma funçao para seguir o jogador e validar a funçao de controle de distancia e declarei a variavel interna seguir
if(seguir){//se a variavel seguir for verdadeira
Vector3 direcao = (Player.position - transform.position).normalized;//declarei uma variavel tipo vector3 chamada direçao e informei que a seria equivalente a posicao do jogador - a posiçao do do objeto que esta seguindo em uma velocidade normalizada
transform.position += direcao * Time.deltaTime*Velocidade;// informei que a posiçao  que sera mudada sera igual a propria posiçao mais a variavel direcao vezes os segundos que ela demorar vezes a variavel velocidade
Quaternion olharPara = Quaternion.LookRotation(direcao);//declarei uma variavel quaternion para que o objeto sempre fique olhando para o objeto da variavel direçao
transform.rotation = olharPara;// informei que os valores de rotaçao deve ser igual a variavel olhar para
}
else{// caso nada disso for verdadeiro
return;// retornar sem valor ou seja . ele nao ira seguir o jogador
}
}
}

Comentários

Postagens mais visitadas deste blog

Resenha livro: Game Over: jogos eletrônicos e violência - lynn alves