Partage
  • Partager sur Facebook
  • Partager sur Twitter

[UNITY3D] Jeu 2D:

Sujet résolu
    25 novembre 2018 à 15:40:29

    Bonjour/Bonsoir ^^ , alors je suis actuellement entrain de faire un projet de jeu 2D (en vue platformer) et j'aurais besoin de votre aide pour une chose:

    Alors j'ai récemment fais une commande de "Tir" (le personnage peut donc tiré avec une arme) mais j'aimerais que la balle qu'il tire (je n'utilise pas de raycasts) soit détruite quand elle touche un autre collider (autres que le player)

    Mais le problème c'est que la balle se détruit instantanément car la balle est tiré à partir du player (donc à l'intérieur de son collider), 

    donc j'aimerais que la balle se détruise uniquement quand elle touche un collider autre que celui du player.

    Merci d'avance !

    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      26 novembre 2018 à 12:15:29

      Il y a plein de solutions :

       - tu peux modifier la position de ton spawner pour que la balle ne soit pas en collision au moment où elle est créée

       - tu peux utiiser un mask pour choisir de détécter les collisions avec certains trucs et pas d'autres

       - tu peux au moment où tu regarde la collision (dans OnCollisionStay() ou OnCollisionEnter()) ne détruire la balle que s'il ne s'agit pas du joueur

       - ...

      • Partager sur Facebook
      • Partager sur Twitter
        26 novembre 2018 à 14:18:43

        En complément de la réponse d'Erylanor, tu peux modifier le layer de la balle et/ou du player, puis aller dans Edit > Physics2D, dans l'onglet Layer collision Matrix, et désactiver les collisions entre les deux layers.

        Tu peux également ajouter la ligne

         Physics2D.IgnoreCollision(m_BulletCollider,m_PlayerCollider);

        si tu ne souhaite pas qu'il y ait de collisions spécifiquement entre ces deux colliders (tout en conservant les autres collisions)

        • Partager sur Facebook
        • Partager sur Twitter
          26 novembre 2018 à 20:24:43

          Merci beaucoup pour vos réponses ^^, grâce à vous j'ai trouver la solution ^^, j'ai aussi trouver une autre alternative au niveau du script de la balle: en gros la balle se détruit que lorsqu'elle touche le collider d'un ennemy (tag ennemy)

          Bonne journée/soirée ^^

          Cordialement !

          • Partager sur Facebook
          • Partager sur Twitter

          [UNITY3D] Jeu 2D:

          × 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