Ressources Magic Makers

 

Site en maintenance

 
Nous sommes actuellement entrain de mettre à jour les ressources de ce site.
Pendant la mise à jour vous pouvez retrouver tous les nouveaux contenus sur le site
 

https://lp-magicmakers.fr/

 
 

Jouer avec la Physique

En te servant de la Physique d’Unity tu vas créer du mouvement et des l’interaction entre les Objets.

Appliquer une force à un objet / Faire Rebondir

On va utiliser la fonction (rb.addForce()) Elle va utiliser un objet physique en mouvement, pour changer sa vitesse ou direction de son mouvement. Entre parenthèses on indique ses paramètres, à savoir une direction (au minimum).

Exemple :

J’applique la force sur l’objet porteur du script (balle blanche) et au démarrage du jeu. 

Mon objet Balle aura le Script suivant : 

void Start()
{
        // On récupère le rigidbody auquel on veut appliquer la force
        Rigidbody2D rb = GetComponent<Rigidbody2D>();

        // On utilise la fonction AddForce pour appliquer la force
        rb.AddForce(new Vector2(2000, 0));
}

 

Autre exemple :

J’applique la force sur l’objet en collision (l’hexagone) avec l’objet porteur du script (le trampoline) au moment de la collision

Mon objet Trampoline aura le Script suivant : 

    void OnCollisionEnter2D(Collision2D collision)
    {
        // On stock les infos du RigidBody dans rb

        // A savoir la balle
        Rigidbody2D rb = collision.collider.GetComponent<Rigidbody2D>();

        // On applique une force vers le haut multiplié par 300

        // A l’objet en collision avec l’objet porteur du Script
        rb.AddForce(new Vector2(0, 300));
       
    }

J’applique la force sur un autre objet lors de la collision avec le trampoline.

 

 

Faire tourner un objet

On va utiliser (transform.Rotate()). Le transform est la base de l’objet on y accède directement sans avoir besoin de GetComponent. On aura besoin de lui donner une valeur en X, Y et Z. Dans mon exemple : (0, 0, -200) donc il ne tournera que dans un seul angle et dans le inverse

Mon objet jaune aura le Script suivant :

    void Update()
    {

        // La fonction Rotate pour faire tourner de l’angle indiqué
        // On utilise Time.deltaTime pour une rotation régulière
        transform.Rotate( new Vector3(0,0,-200) * Time.deltaTime);
    }