Neste tutorial aprenderemos como criar um ator inteligente no 3D Game Builder. Primeiramente crie um novo projeto ou utilize um dos criados anteriormente, crie também um cenário e adicione a este cenário um Ator MD2, este pode ser o ator padrão do 3D Game Builder. No cenário eu utilizei um Heightmap para o terreno e utilizei a textura criada para ele usando a ferramenta “T2 Texture Creation”, mas se você preferir pode utilizar um cenário mais simples.
Agora vamos tornar o nosso ator inteligente, selecione o Ator MD2 criado, vá até a aba “Eventos” e clique em “OnLoop”, o editor de scripts será exibido, o evento “OnLoop” ocorre repetidamente dês do momento em que o objeto for criado até o momento que ele for destruído. Em seguida adicione o seguinte script ao evento:
if GetObjectDistance('Objeto1','Player') < 1 then begin if GetObjectAnimation('Objeto1') <> '08flip0' then
SetObjectAnimation('Objeto1', '08flip0');
PointObjectTo('Objeto1', 'Player'); end elseif GetObjectDistance('Objeto1','Player')<10 then begin if GetObjectAnimation('Objeto1') <> '02run0' then
SetObjectAnimation('Objeto1', '02run0');
PointObjectTo('Objeto1', 'Player');
ApplyForce('Objeto1', 3000, 0, 0); end else if GetObjectAnimation('Objeto1')<>'01stand0' then
SetObjectAnimation('Objeto1', '01stand0');
Lembre-se que “Objeto1” é o nome do meu Ator MD2, caso o seu possua outro nome, altere o “Objeto1” para o nome do seu Ator MD2, ou então altere o nome do seu objeto no mapa para “Objeto1”.
Este script é responsável por fazer todo o controle do ator, o comando “GetObjectDistance” retorna distancia entre dois objetos, no caso é verificado a distancia entre o próprio ator (“Objeto1”) e o objeto “Player”, o objeto “Player” esta pré-definido em todos os projetos e é a representação da posição do ator principal. O outro comando importante neste script é o “PointObjectTo”, ele é responsável por fazer o ator virar na direção do ator principal. O comando “ApplyForce” é responsável por movimentar o ator, ele recebe como parâmetro o objeto onde será aplicado a força, e a quantidade de força aplicada nos eixo X, Y e Z. E os comandos “GetObjectAnimation” e “SetObjectAnimation” são responsáveis por controlar as animações do ator.
Salve o script e o mapa e execute o jogo, você perceberá que ao aproximar-se do Ator MD2 ele correra em sua direção, e quando ele chegar bem próximo ele levantara as mãos.
Como você pode notar adicionar inteligência artificial a um objeto é extremamente fácil, este foi um exemplo simples de inteligência artificial, porém outros algoritmos mais complexos também podem ser implementados utilizando a linguagem script. Nos próximos tutoriais aprenderemos a fazer outras coisas utilizando a linguagem scripts.