Makers Brasil
Bem Vindos a Maker´s Brasil (um forum para criação de servidores 2D e 3D)Nos desejamos boa sorte no seu projeto!


Participe do fórum, é rápido e fácil

Makers Brasil
Bem Vindos a Maker´s Brasil (um forum para criação de servidores 2D e 3D)Nos desejamos boa sorte no seu projeto!
Makers Brasil
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

[GB]ADICIONANDO INTELIGÊNCIA ARTIFICIAL (IA)

Ir para baixo

[GB]ADICIONANDO INTELIGÊNCIA ARTIFICIAL (IA) Empty [GB]ADICIONANDO INTELIGÊNCIA ARTIFICIAL (IA)

Mensagem por spectrus Qua maio 11, 2011 11:10 am

TUTORIAL 14 - ADICIONANDO INTELIGÊNCIA ARTIFICIAL (IA)

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.


[GB]ADICIONANDO INTELIGÊNCIA ARTIFICIAL (IA) Img43






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:
Código:
[b]if[/b] GetObjectDistance('Objeto1','Player') < 1 [b]then[/b]
                      [b]begin[/b]
  [b]if[/b] GetObjectAnimation('Objeto1') <> '08flip0' [b]then[/b]
    SetObjectAnimation('Objeto1', '08flip0');
  PointObjectTo('Objeto1', 'Player');
[b]end [/b]
[b]else[/b] [b]if[/b] GetObjectDistance('Objeto1','Player')<10 [b]then[/b]
[b]begin[/b]
  [b]if[/b] GetObjectAnimation('Objeto1') <> '02run0' [b]then[/b]
    SetObjectAnimation('Objeto1', '02run0');
  PointObjectTo('Objeto1', 'Player');
  ApplyForce('Objeto1', 3000, 0, 0);
[b]end [/b]
[b]else if[/b] GetObjectAnimation('Objeto1')<>'01stand0' [b]then[/b]
  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.


[GB]ADICIONANDO INTELIGÊNCIA ARTIFICIAL (IA) Img44

[GB]ADICIONANDO INTELIGÊNCIA ARTIFICIAL (IA) Img45

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.
spectrus
spectrus
Administrador
Administrador

Mensagens : 299
Estrelas Makers : 1466
Creditos : 49
Data de inscrição : 01/01/2011
Idade : 30
Localização : V.da conquista bahia

Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos