Page 1 sur 1

Vector3.RotateTowards GPS

Publié : 28 Mai 2022 20:44
par Frederic
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 .....

Re: Vector3.RotateTowards GPS

Publié : 29 Mai 2022 11:37
par Max
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 ?

Re: Vector3.RotateTowards GPS

Publié : 30 Mai 2022 06:50
par Frederic
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);
    }
}