Inteligencia artificial do Player - perseguição
Ir à página 1, 2  Próximo
 
   3D Game Builder - Índice » Suporte
Inteligencia artificial do Player - perseguição
Autor Mensagem
kleiton157
Usuário
Usuário


Registrado: 06/05/11
Mensagens: 1170
Localização: Na cáducarai

Inteligencia artificial do Player - perseguição
Sabem aquele sistema de perseguição padrão da engine? Queria adaptar ela ao player, pra quando eu apertasse uma tecla ele desativasse o controle do player e ativasse o sistema.
Eu tentei e ficou assim:

Citação:
if IsKeyPress(strtoint('0x20')) then
if readglobalvar('distancia') > 6 then
begin
DisableMainActorControl;
if GetObjectAnimation('Player') <> 'run_' then
SetObjectAnimation('Player', 'run_');
PointObjectTo('Player', readglobalvar('alvo'));
ApplyForce('Player', 0, 0, -180);
end;


Porém não deu certo, parece que esse comando PontObjectTo não funciona no player pois ele vai em outra direção... Como proceder?



_________________
________________________________________
- É nescessário ver além do que os olhos mostram
Ter Fev 24, 2015 1:15 pm Exibir perfil de usuários
welgomes
Usuário
Usuário


Registrado: 10/07/11
Mensagens: 827
Localização: São Paulo - Capital

Fiquei confuso.
Você quer que ao apertar uma tecla, desabilite os controles e o player persigua um ator, é isso?


Ter Fev 24, 2015 3:00 pm Exibir perfil de usuários
welgomes
Usuário
Usuário


Registrado: 10/07/11
Mensagens: 827
Localização: São Paulo - Capital

*persiga
Ter Fev 24, 2015 3:01 pm Exibir perfil de usuários
kleiton157
Usuário
Usuário


Registrado: 06/05/11
Mensagens: 1170
Localização: Na cáducarai

Sim, quero um movimento involuntário do player perseguindo o alvo.

É que eu tenho um sistema de ataque e quero que quando a distancia for maior do que a permitida ele chegue mais perto do mob pra atacar.

_________________
________________________________________
- É nescessário ver além do que os olhos mostram
Ter Fev 24, 2015 4:48 pm Exibir perfil de usuários
welgomes
Usuário
Usuário


Registrado: 10/07/11
Mensagens: 827
Localização: São Paulo - Capital

Dei uma olhada no tutorial e a linha está assim:
Código:
ApplyForce('Objeto1', 3000, 0, 0);


E o seu código
Código:
ApplyForce('Player', 0, 0, -180);


Você está usando o terceiro parâmetro e também um valor negativo.
Já tentou usar o primeiro parâmetro e um valor positivo?
Exemplo
Código:
ApplyForce('Player', 180, 0, 0);


É só um chute.
Ter Fev 24, 2015 5:28 pm Exibir perfil de usuários
kleiton157
Usuário
Usuário


Registrado: 06/05/11
Mensagens: 1170
Localização: Na cáducarai

Na verdade os parametros alí se referem aos eixos X,Y e Z, dai eu quero o movimento em Z mesmo.

Ele anda, porém o angulo dele é meio invertido, ele é tipo virado de lado pro alvo, não fica na posição certa :/



_________________
________________________________________
- É nescessário ver além do que os olhos mostram
Ter Fev 24, 2015 10:11 pm Exibir perfil de usuários
welgomes
Usuário
Usuário


Registrado: 10/07/11
Mensagens: 827
Localização: São Paulo - Capital

Uma coisa que estou notando no seus scripts é que depois do then não tem begin.
Estou tentando testar esse código vamos ver no que dá.
Qua Fev 25, 2015 12:00 pm Exibir perfil de usuários
welgomes
Usuário
Usuário


Registrado: 10/07/11
Mensagens: 827
Localização: São Paulo - Capital

Eu descobri o problema mas não descobri a solução ainda.
Quando você faz isso o ator principal gira porém a camera não.
Então empurra o ator na direção errada.

Quando se executa um applyforce() no ator principal na verdade é executado um applyforce() na camera.
Qua Fev 25, 2015 12:13 pm Exibir perfil de usuários
   3D Game Builder - Índice » Suporte Ir à página 1, 2  Próximo
Página 1 de 2