Vector3.RotateTowards GPS

Questions à propos du scripting. Hors Shader, GUI, Audio et Mobile.
Frederic
Messages : 36
Inscription : 24 Déc 2021 18:25

Vector3.RotateTowards GPS

Message par Frederic » 28 Mai 2022 20:44

Bonsoir

j'utilise Vector3.RotateTowards pour orienter un GO A sur un GO B(Cible) ,les coordonnées de la cibles provienne d un GPS
et ensuite je déplace mon GO A sur cette même cible et ainsi de suite, le but est d orienter le GO A sur la trajectoire.
Jai utilisé l'exemple d' Unity, il fonctionne bien quand je déplace la cible a la main, mais des que je rajoute le déplacement,
je n'ai quasiment plus d orientation

Ce code est un update

Code : Tout sélectionner

          Target.transform.position = PositionAntenne;
           EVENEMENT.transform.position = PositionAntenne;

Je ne sais plus ou chercher ....depuis deux jour .....

Avatar de l’utilisateur
Max
Messages : 8771
Inscription : 30 Juil 2011 13:57
Contact :

Re: Vector3.RotateTowards GPS

Message par Max » 29 Mai 2022 11:37

Bonjour,

le petit bout de code que tu donne effectue un changement de position, mais cela n'oriente pas ton GameObject.
Tu évoques Vector3.RotateTowards mais à quel moment l'emploies tu ?
Image
Pas d'aide par MP, le forum est là pour ça.
En cas de doute sur les bonnes pratiques à adopter sur le forum, consulter la Charte et sa FAQ

Frederic
Messages : 36
Inscription : 24 Déc 2021 18:25

Re: Vector3.RotateTowards GPS

Message par Frederic » 30 Mai 2022 06:50

Effectivement, il manque un morceau ,(j'avais une mauvaise connexion et j'ai du retaper le message 3 fois)
J'utilise le scripte d'exemple que j'ai lié à mon GO EVENEMENT

https://docs.unity3d.com/ScriptReferenc ... wards.html

Code : Tout sélectionner

    // The target marker.
    public Transform target;
    
    // Angular speed in radians per sec.
    public float speed = 1.0f;

    void Update()
    {
        // Determine which direction to rotate towards
        Vector3 targetDirection = target.position - transform.position;

        // The step size is equal to speed times frame time.
        float singleStep = speed * Time.deltaTime;

        // Rotate the forward vector towards the target direction by one step
        Vector3 newDirection = Vector3.RotateTowards(transform.forward, targetDirection, singleStep, 0.0f);

        // Draw a ray pointing at our target in
        Debug.DrawRay(transform.position, newDirection, Color.red);

        // Calculate a rotation a step closer to the target and applies rotation to this object
        transform.rotation = Quaternion.LookRotation(newDirection);
    }
}

Répondre

Revenir vers « Scripting »