Partage
  • Partager sur Facebook
  • Partager sur Twitter

Rotation continue entre 2 valeurs en c#

Sujet résolu
    21 janvier 2020 à 14:53:18

    Bonjour,

    Je cherche une solution pour faire une rotation en y entre 2 valeurs et ça continuellement 

    j'ai vu ce bout de code :

    float angle = Mathf.Sin(Time.time) * 70; 
     
    transform.rotation = Quaternion.AngleAxis(angle, Vector3.up);

    ça marche mais ça fait une rotation seulement entre 120 et 60 et je n'arrive pas à faire en sorte que ça me fasse une rotation entre mes valeurs et honnêtement je n'ai pas très bien compris ce petit bout de code :'(  notamment le Mathf.Sin(Time.time) * 70; 

    Merci d'avance

    • Partager sur Facebook
    • Partager sur Twitter
      21 janvier 2020 à 16:23:13

      C'est pas très clair votre truc, c'est quel mode d'interpolation que vous voulez faire ?

      Si c'est du linéaire :

      https://docs.microsoft.com/fr-fr/dotnet/api/system.numerics.vector3.lerp?view=netframework-4.8

      A la tête du code que vous donnez, c'est de l'Unity :

      https://docs.unity3d.com/ScriptReference/Mathf.Lerp.html

      Le code que vous avez pompé ne fait qu'une projection d'un mouvement sinusoïdal (qui va de -1 à 1)  dans un intervalle entre -70 et 70 degrés.

      Il vous manque à savoir comment mapper le dernier paramètre de lerp avec l'intervalle en 'Time' (vitesse de rotation).

      • Partager sur Facebook
      • Partager sur Twitter
      Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
        21 janvier 2020 à 18:34:04

        bacelar a écrit:

        C'est pas très clair votre truc, c'est quel mode d'interpolation que vous voulez faire ?

        Si c'est du linéaire :

        https://docs.microsoft.com/fr-fr/dotnet/api/system.numerics.vector3.lerp?view=netframework-4.8

        A la tête du code que vous donnez, c'est de l'Unity :

        https://docs.unity3d.com/ScriptReference/Mathf.Lerp.html

        Le code que vous avez pompé ne fait qu'une projection d'un mouvement sinusoïdal (qui va de -1 à 1)  dans un intervalle entre -70 et 70 degrés.

        Il vous manque à savoir comment mapper le dernier paramètre de lerp avec l'intervalle en 'Time' (vitesse de rotation).

        oui c'est de l'unity 

        ok merci je pense avoir compris ce que je devais faire 

        • Partager sur Facebook
        • Partager sur Twitter

        Rotation continue entre 2 valeurs en c#

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown