Alors
J ai remis Time.deltaTime dans la fonction update et ça ne saccade plus, super
J ai testé plein truc et j avais mal lu ton post d hier
Bref la c est le gros bordel j espère démêler tout ça avant ce soir
up; a non Time.deltaTime fait lagger mon avion, il varie de 0.016 a 0.02
up2 ; voila que ca ne bug plus
j ai du changer ton code car mon avion partait vers le haut tout seul
Code : Tout sélectionner
Vector3 direction = transform.up * 0.0f + transform.forward;
transform.position += direction.normalized * speed * Time.deltaTime;
speed -= transform.forward.y * 20.0f * Time.deltaTime;
Pour l instant cela marche, j ai plus qu a essayer de placer une variable a coter de transform.up
Up3 : Voila le code final qui correspond a ma question, quand on tourne a gauche, un dérive sur la gauche et vers le bas
Code : Tout sélectionner
// Roulis
if (transform.rotation.eulerAngles.z > 20 && transform.rotation.eulerAngles.z < 180)
{
transform.position = new Vector3(transform.position.x,
transform.position.y - 1f,
transform.position.z);
transform.position -= transform.right * 1.0f;
}
if (transform.rotation.eulerAngles.z > 180 && transform.rotation.eulerAngles.z < 340)
{
transform.position = new Vector3(transform.position.x,
transform.position.y - 0.2f,
transform.position.z);
transform.position += transform.right * 1.0f;
}
Up 4 ; Au final, tout cela était inutile, voici un code simplifié
Code : Tout sélectionner
// Roulis
if (transform.rotation.eulerAngles.z > 20 && transform.rotation.eulerAngles.z < 180)
{
transform.position -= transform.right * 1.0f;
}
if (transform.rotation.eulerAngles.z > 180 && transform.rotation.eulerAngles.z < 340)
{
transform.position += transform.right * 1.0f;
}
Up 5 ; Effet de portance des ailes
Code : Tout sélectionner
Vector3 direction = transform.up * portancevirage + transform.forward;
transform.position += direction.normalized * speed * Time.deltaTime;
speed -= transform.forward.y * 20.0f * Time.deltaTime;
// Roulis
if (transform.rotation.eulerAngles.z > 20 && transform.rotation.eulerAngles.z < 180)
{
transform.position -= transform.right * 1.0f;
portancevirage = 0.3f;
}
if (transform.rotation.eulerAngles.z > 180 && transform.rotation.eulerAngles.z < 340)
{
transform.position += transform.right * 1.0f;
portancevirage = 0.3f;
}
if (transform.rotation.eulerAngles.z < 20 || transform.rotation.eulerAngles.z > 340)
{
portancevirage = 0.0f;
}