Ver Mensaje Individual
  #3  
Antiguo 02-03-2007
kakarotv5 kakarotv5 is offline
Miembro
 
Registrado: feb 2007
Posts: 162
Reputación: 18
kakarotv5 Va por buen camino
Os he puesto este problema porque está muy relacionado con el verdadero problema que os cuento a continuación:

Como sabreis estoy haciendo un minitutorial sobre como hacer un First Person Shooter sencillo, he hecho una escena tridimensional por la que me puedo mover y apuntar libremente llevando conmigo un arma y he introducido además objetos tridimensionales.

He sido capaz de hacer que un arma dispare balas (esferas).

He empezado con colisiones, cuando disparo a un cubo hago que se genere un plano pequeñito con textura de balazo a modo de balazo en la pared allí donde se ha generado el impacto.

Disparando a un cubo soy capaz de generar el balazo de impacto, disparando a un cilindro y a una esfera también soy capaz, pero con un dodecahedro no hay forma, no se dibuja mi plano donde debe sino al lado opuesto y más alejado del dodecahedro.

Os pongo mi código:
Código:
Obj.RayCastIntersect(Bullet.Position.AsVector,Bullet.Direction.AsVector,@Point,@Normal);
With TGLPlane(mundo.AddNewChild(TGLPlane)) Do
 begin
  AbsolutePosition:=Point;
  AbsoluteDirection:=Normal;
  Width:=1;
  Height:=1;
  Material.MaterialLibrary:=GLMaterialLibrary1;
  Material.LibMaterialName:='balazo';
 end;
Proyectil.Destroy; //Destruyo el proyectil para que no atraviese.
Para el cubo uso: BoundingMode --> cmbCube
Para el cilindro uso: BoundingMode --> cmbFaces
Para la esfera utilizo: BoundingMode --> cmbSphere

La propiedad GroupIndex siempre la dejo a 0.

De todas formas puedo pasar sin meter dodecahedros en el juego pero si tengo problemas con las coordenadas de un dodecahedro no me quiero ni imaginar los problemas que tendré al disparar a un personaje o a una casa o a un coche. Miedo me da.

Un saludo.

Última edición por kakarotv5 fecha: 02-03-2007 a las 15:32:58.
Responder Con Cita