[Résolu] Collisions Ignorées

Questions à propos du scripting. Hors Shader, GUI, Audio et Mobile.
Moi 1971
Messages : 727
Inscription : 29 Sep 2015 13:38

Re: Collisions Ignorées

Message par Moi 1971 » 06 Nov 2016 21:47

Pour le cas présent, remplace la partie de code suivante :

Code : Tout sélectionner

if (Physics.Raycast(ray, out hit, Camera.main.farClipPlane))
            {
Debug.Log("N°4 Dans le if(Raycast)");
                if (hit.transform.gameObject.tag == "Ennemi")
                {
                    Debug.Log("N°5 Collision avec un ennemi ");
                    hit.rigidbody.AddForceAtPosition(transform.TransformDirection(-Vector3.forward) * 1000, hit.normal);
                }
                if (hit.transform.gameObject.tag == "Mur")
                {
                    Debug.Log("N°6 Collision avec un mur ");
                    GameObject Go = Instantiate(Impact, hit.point, Quaternion.FromToRotation(Vector3.forward, hit.normal)) as GameObject;
                    Destroy(Go, 10F);
                }
            }
        }
par celui-ci :

Code : Tout sélectionner

if (Physics.Raycast(ray, out hit, Camera.main.farClipPlane))
            {
Debug.Log("N°4 Dans le if(Raycast)");
Debug.Log("N°4 - BIS  hit.transform.gameObject.tag = "+hit.transform.gameObject.tag);
                if (hit.transform.gameObject.tag == "Ennemi")
                {
                    Debug.Log("N°5 Collision avec un ennemi ");
                    hit.rigidbody.AddForceAtPosition(transform.TransformDirection(-Vector3.forward) * 1000, hit.normal);
                }
                if (hit.transform.gameObject.tag == "Mur")
                {
                    Debug.Log("N°6 Collision avec un mur ");
                    GameObject Go = Instantiate(Impact, hit.point, Quaternion.FromToRotation(Vector3.forward, hit.normal)) as GameObject;
                    Destroy(Go, 10F);
                }
            }
        }
Copie/colle ici ce qu'il y a dans la console pour les cas N°4 et N°4 - BIS

IkaGame
Messages : 75
Inscription : 13 Oct 2016 15:43

Re: Collisions Ignorées

Message par IkaGame » 07 Nov 2016 01:25

N°4 - BIS hit.transform.gameObject.tag = Ennemie
UnityEngine.Debug:Log(Object)
Tir:Update() (at Assets/Scripts/Jeu/Fps player/Tir.cs:43)

N°4 - BIS hit.transform.gameObject.tag = Décor
UnityEngine.Debug:Log(Object)
Tir:Update() (at Assets/Scripts/Jeu/Fps player/Tir.cs:43)

Ils sont bien détecter je pense que les erreurs viennent d'ici..enfin je pense je me trompe surement...

Code : Tout sélectionner

hit.rigidbody.AddForceAtPosition(transform.TransformDirection(-Vector3.forward) * 1000, hit.normal);

Code : Tout sélectionner

   GameObject Go = Instantiate(Impact, hit.point, Quaternion.FromToRotation(Vector3.forward, hit.normal)) as GameObject;
                    Destroy(Go, 10F);
Du moins je veut dire par la que ce sont les elements qui nécessitent les impacts et la colission

Moi 1971
Messages : 727
Inscription : 29 Sep 2015 13:38

Re: Collisions Ignorées

Message par Moi 1971 » 07 Nov 2016 10:20

Bonjour,
Je reprends ta question du début du poste :
mon Raycast et mon Tir ets ignoré par Unity , la console ne me renvoie aucune erreur mais impossible de toucher les ennemies , voila le script...
Les Debug.log montrent que le RayCast fonctionne et que tu peux toucher un ennemi.
Quel est ton problème maintenant?

PS :
"hit.transform.gameObject.tag = Ennemie" => Ce n'est pas un "Ennnemi"!!!
"hit.transform.gameObject.tag = Décor" => Ce n'est pas un "Mur"!!!

IkaGame
Messages : 75
Inscription : 13 Oct 2016 15:43

Re: Collisions Ignorées

Message par IkaGame » 07 Nov 2016 14:25

Problème résolu j'ai chercher il s'agissait des tags , Unity avaient supprimer tout mes tags après avoir nettoyer le code et corriger les bugs...

Enfin résolu , j'espère ne pas revenir de si tôt ou bien avec un problème plus complexe.

Je vous remercie.

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6222
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: Collisions Ignorées

Message par boubouk50 » 14 Nov 2016 13:17

boubouk50 a écrit :Tu peux également afficher la valeur d'une variable dans ton Debug.Log () par exemple:
Debug.Log (hit.transform.gameObject.tag); te donnera le tag...
On se demande pourquoi on continue à aider si c'est pour pisser dans un violon... Avec cette ligne de code, tu aurais vu que le tag n'était pas bon.
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

Répondre

Revenir vers « Scripting »