RBL Racing
Ir à página Anterior  1, 2, 3  Próximo
 
   3D Game Builder - Índice » 3D Game Builder Development Challenge 2009
RBL Racing
Autor Mensagem
Mililo
Usuário
Usuário


Registrado: 05/12/08
Mensagens: 366
Localização: Santo Antônio de Pádua / RJ

rogeriodilima escreveu:
''Thiago W.''
Você tem complexo de poligonos né?..rsrsrsrs

eu to fazendo outro carro, que vai ficar com cerca de 1000 poligonos só que com meshsmooth, ai a malha vai ficar lisinha, e assim mesmo vai ficar um carro leve..

e o esquema das rodas, só se não ter outro jeito, mas não pode ser animação, eu tinha feito um codigo tipo assim

if iskeyPress( 38 ) then
begin
ApplyForce('roda',0,20,0);//valores ficticios
end;

coloquei no evento onInteract, mais não faz nada

Cara primeiro queria fala que gostei muito dos carros, para mim não precisa mudar, mas você que sabe.
Se eu soubesse modelar uma roda desses carros já tava muito feliz Smile

Mas quanto ao código eu acho que você errou, com onInteract na roda acho você teria que apertar enter para depois apertar o botão, o certo seria um MainLoop no mapa assim ficaria sempre checando se a tecla foi pressionada.
Daí para girar a roda você usaria SetObjectRollAngle('objeto', angulo) e depois o ApplyForce para mover ela, eu acho que assim funcionaria mas não tenho certeza.



_________________
"Em verdade, em verdade te digo que se alguém não nascer de novo, não pode ver o reino de Deus."
"Porque pela graça sois salvos, mediante a fé; e isto não vem de vós, é dom de Deus; não de obras, para que ninguém se glorie."
----
www.aquiestamos-juventude.blogspot.com
http://todosnecessitam.blogspot.com/
Seg Dez 29, 2008 11:20 am Exibir perfil de usuários
rogeriodilima
Novato
Novato


Registrado: 06/12/08
Mensagens: 56

ow valeu

você poderia postar o codigo então para eu conseguir fazer esse movimento, é que sem uma referencia fica dificil,


abraço
Seg Dez 29, 2008 2:14 pm Exibir perfil de usuários
rogeriodilima
Novato
Novato


Registrado: 06/12/08
Mensagens: 56




Esse ai é um carro que eu criei, só que esse não é para jogo, não tem nenhuma textura é tudo modelagem mesmo, cheio de chanfers e meshsmooth, as partes que tem mais poligonos é os pneus e as rodas, o carro tem 230.000 polys


Seg Dez 29, 2008 7:03 pm Exibir perfil de usuários
rogeriodilima
Novato
Novato


Registrado: 06/12/08
Mensagens: 56

eu fiz este codigo coloquei no evento mainLoop do mapa

Código:
if IsKeyPress(38)then
begin
  SetObjectTurnAngle('objeto',180);
  //ApplyForce('objeto',0,30,0);
end;



ai o cilindro que eu coloquei no mapa girou do jeito que a roda tem que girar, mais só fez uma vez , como que faz para ficar girando enquanto eu estiver com a tecla pressionada?
e como que eu uso o applyforce , o applyforce é que define a velocidade da roda? e aonde eu coloco, pque se eu deixar o appyforce da erro de memoria

e basicamente os codigos seriam esse, alguem sabe bolar o esquema para usar tudo isso em conjunto


Código:
//acelerar
if IsKeyPress(38) then
begin
  SetObjectTurnAngle('objeto1',180);
  //ApplyForce('objeto1',0,0,0);
end;

//virar direita
if IsKeyPress(39) then
begin
  SetObjectPitchAngle('objeto1',30);
  //ApplyForce('objeto1',0,0,0);
end;

//virar esquerda
if IsKeyPress(37) then
begin
  SetObjectPitchAngle('objeto1',30);
  //ApplyForce('objeto1',0,0,0);
end;

Seg Dez 29, 2008 7:20 pm Exibir perfil de usuários
Edirlei
Administrador
Administrador


Registrado: 15/03/08
Mensagens: 760

Volto a te perguntar o que eu perguntei no outro tópico, a sua roda é um objeto separado do carro?

Se for você terá que adicioná-la hierarquicamente no carro se não você só vai mover a roda e não o resto do carro.

Para fazer a roda girar faça algo assim:

Código:

if IsKeyPress(38)then
begin
  SetObjectTurnAngle('objeto', GetObjectTurnAngle('objeto')+0.1);
  //ApplyForce('objeto',0,30,0);
end;


Aquele +0.1 é a quantidade de incremento da rotação da roda, ou seja, quanto maior mais rápida ela vai girar.

Parabéns pelos modelos estão ótimos.
Seg Dez 29, 2008 8:03 pm Exibir perfil de usuários
rogeriodilima
Novato
Novato


Registrado: 06/12/08
Mensagens: 56

Edirlei

as rodas vão ser separadas da carroceria do carro, ai tem que fazer um esquema para quando eu fazer a roda andar para frente ou para traz , a carroceria acompanhar a roda.

é que vendo outros topicos sobre criação de jogos de corrida em varias engines eu aprendi que tudo que você quer aplicar uma ação tem que ser separado das demais partes do modelo.

por exemplo se eu quizesse fazer os vidros do carro se quebrar quando houver uma colisão, os vidros teriam que ser separados da carroceria.
Seg Dez 29, 2008 9:21 pm Exibir perfil de usuários
rogeriodilima
Novato
Novato


Registrado: 06/12/08
Mensagens: 56

o codigo funcionou, agora a roda fica girando enquanto a tecla estiver pressionada,

só que tem um problema se eu pressiono para virar para direita a roda rotaciona para direita, só que quando eu pressiono para rotacionar para esquerda, ela continua virar para direita e vice versa...ela só rotaciona para lado que eu pressionar primeiro

o outro problema é que se eu acelar e virar ao mesmo tempo ai a roda já começa a rotacionar para outro angulo.

ai queria saber mais uma coisa, como que faz para que quanto maior o tempo a tecla estiver pressionada, mais rapida a roda girar, tipo assim criar uma variavel, e essa variavel vai se auto incrementando conforme o tempo vai passando dai eu usaria essa variavel assim
Código:

var forca : float;
if IsKeyPress(38) then
begin
  forca:=10;
  SetObjectTurnAngle('objeto1', GetObjectTurnAngle('objeto1')+forca);
  //ApplyForce('objeto1',0,0,0);
end;

só que a variavek ia ter um limite para o valor, assim que chegasse a determinado valor, iria trocar de marcha

ou sei lá usar o applyforce que eu ainda não entendi
mais ou menos essa idéia, alguem pode ajudar[/code]


Seg Dez 29, 2008 9:52 pm Exibir perfil de usuários
rogeriodilima
Novato
Novato


Registrado: 06/12/08
Mensagens: 56

Código:
//acelerar
var forca : float;
if IsKeyPress(38) then
begin
  forca:=10;
  SetObjectTurnAngle('objeto1', GetObjectTurnAngle('objeto1')+forca);
  //ApplyForce('objeto1',0,0,0);
end;

//ré
if IsKeyPress(40) then
begin
  SetObjectTurnAngle('objeto1', GetObjectTurnAngle('objeto1')-10);
  //ApplyForce('objeto1',0,0,0);
end;

//virar direita
if IsKeyPress(39) then
begin
  SetObjectPitchAngle('objeto1', GetObjectPitchAngle('objeto1')+1);
  //ApplyForce('objeto1',0,0,0);
end;

//virar esquerda
if IsKeyPress(37) then
begin
  SetObjectPitchAngle('objeto1', GetObjectPitchAngle('objeto1')-1);
  //ApplyForce('objeto1',0,0,0);
end;



assim ta virando para os dois lados, mais ainda ta bagunçado quando eu acelero e viro ao mesmo tempo
Seg Dez 29, 2008 10:10 pm Exibir perfil de usuários
   3D Game Builder - Índice » 3D Game Builder Development Challenge 2009 Ir à página Anterior  1, 2, 3  Próximo
Página 2 de 3