besoin d'idee pour réaliser deux actions.
Publié : 24 Avr 2021 15:14
Salut ,
je fais encore appel a votre aide car je me casse les dents sur deux actions a réaliser mais je ne sais pas comment m'y prendre.
dans mon petit jeux, j'instancie un vaisseau qui part d'une planète A et qui se translate vers une planète B pour l'attaquer et la conquérir.
mon premier prb est le suivant . selon la position orbital de mes deux planètes A et B, il se peut que celles ci soit alignées avec l'étoile centrale (le soleil) et comme mon ou mes vaisseaux font une ligne droite entre les deux planètes il arrive que la trajectoire traverse le soleil ce qui n'est pas très réaliste puisque le vaisseau passe à travers la sphère "soleil".
Comment feriez vous pour lui indiquer qui si il est a une certaine distance du soleil il doit faire une rotation autour puis reprendre la trajectoire initiale ?
la bien entendu le vaisseau lorsque qu'il est à la distance indiquée tourne indéfiniment autour du soleil. je pourrai éventuellement lui indiquer de réaliser cette action un certain temps avant de reprendre la trajectoire initiale ce qui permettrait de dévier suffisamment pour ne pas traverser le soleil mais si vous avez une idee pour réaliser cela plus proprement je suis preneur
et second point c'est que bien entendu comme il y a un lookat dans la direction de la target lorsqu'il commence sa rotation autour du soleil, le nez du vaisseau ne pointe plus dans la direction dans laquelle il avance (mais tjrs en direction de la target) et il fait donc un déplacement en crabe ce qui n'est pas très réaliste non plus . comment puis je faire pour que l'axe z du vaisseau soit dans le sens de son déplacement lors de cette rotation orbitale temporaire ?)
auriez vous un ou des suggestion à me faire pour m'aidez ?
je fais encore appel a votre aide car je me casse les dents sur deux actions a réaliser mais je ne sais pas comment m'y prendre.
dans mon petit jeux, j'instancie un vaisseau qui part d'une planète A et qui se translate vers une planète B pour l'attaquer et la conquérir.
mon premier prb est le suivant . selon la position orbital de mes deux planètes A et B, il se peut que celles ci soit alignées avec l'étoile centrale (le soleil) et comme mon ou mes vaisseaux font une ligne droite entre les deux planètes il arrive que la trajectoire traverse le soleil ce qui n'est pas très réaliste puisque le vaisseau passe à travers la sphère "soleil".
Comment feriez vous pour lui indiquer qui si il est a une certaine distance du soleil il doit faire une rotation autour puis reprendre la trajectoire initiale ?
Code : Tout sélectionner
// Update is called once per frame
void Update()
{
transform.LookAt(target.transform); // axe Z du Spacecraft en direction de la target
trajectoire = target.transform.position - transform.position; // calcul de la trajectoire
if (distanceToPlanet0 <= 6.0f)
{
gameObject.transform.RotateAround(planet0.transform.position, new Vector3(x_vector, y_vector, z_vector), 15 * Time.deltaTime);
}
else
{
transform.Translate(trajectoire.normalized * speed * Time.deltaTime, Space.World); // deplacement vers la target
}
et second point c'est que bien entendu comme il y a un lookat dans la direction de la target lorsqu'il commence sa rotation autour du soleil, le nez du vaisseau ne pointe plus dans la direction dans laquelle il avance (mais tjrs en direction de la target) et il fait donc un déplacement en crabe ce qui n'est pas très réaliste non plus . comment puis je faire pour que l'axe z du vaisseau soit dans le sens de son déplacement lors de cette rotation orbitale temporaire ?)
auriez vous un ou des suggestion à me faire pour m'aidez ?