[RESOLU] [DB-AL] Objet qui tourne en rond ...

Pour les scripts écrits en C#
Règles du forum
Merci de respecter la NOMENCLATURE suivante pour vos TITRES de messages :

Commencez par le niveau de vos scripts
DB = Débutant
MY = Moyen
CF = Confirmé

Puis le domaine d'application
-RS = Réseau
-AL = Algorithmie

Exemple :

[DB-RS] Mouvement perso multijoueur
Autodidactelife
Messages : 47
Inscription : 21 Fév 2018 23:04
Localisation : France

[RESOLU] [DB-AL] Objet qui tourne en rond ...

Message par Autodidactelife » 03 Août 2018 02:20

Bonjour ! Oui c'est encore moi ::d
J'ai un petit soucis, j'essaye de faire en sorte qu'un gameObject 2D (un sprite) avance tout droit et part dans la direction opposée quand il ce cogne et j'arrive à un résultat assez surprenant je n'arrive pas à comprendre pourquoi.

Voici mon Sprite de ma balle:

Image

Et mon script:

Code : Tout sélectionner

using UnityEngine;

public class jeu : MonoBehaviour {

    public Rigidbody2D rb;

    void Update() {
        rb.velocity = transform.up;
    }

    void OnCollisionEnter2D(Collision2D col) {
        transform.up = col.contacts[0].point.normalized - (Vector2)transform.position;
    }
}
L'objet tombe contre un autre avec une collision (sur un coin d'un carré) et il part dans la bonne direction et tout d'un coup il tourne en rond et fait des zig zags et le même essaie plusieurs fois n'a pas donner le même résultat, une fois il est partie vers le bas gauche et une fois vers en haut à gauche.

Sachant qu'il ne fait que 2 collision, pourquoi ce met-il à tourner, en plus il tourne doucement c'est super bizarre il y à bien plus de 2 changement de direction ! Et je précise qu'il n'est enfant d'aucun gameObject sinon j'aurais directement regarder si le parent tournait ^^'

Ma balle est possédé ! :diable: :diable:
Dernière édition par Autodidactelife le 29 Août 2018 19:43, édité 1 fois.

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

Re: [DB-AL] Objet qui tourne en rond ...

Message par Max » 03 Août 2018 18:25

Bonsoir,
Autodidactelife a écrit :
03 Août 2018 02:20
Ma balle est possédé ! :diable: :diable:
possédé par la gravité peut-être.
Ton sprite est visiblement soumit à la physique (RigidBody2D). Si tes paramètres Physics2D sont ceux par défaut, même si tu joues sur la vélocité de ton sprite, la gravité (x=0, y=-9.81) intervient sur le comportement de ton élément.
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

Répondre

Revenir vers « (C#) CSharp »