2017-03-18 2 views
0

J'ai donc passé en revue toutes les questions similaires, mais je n'ai toujours pas réussi à faire ce travail. Je suis nouveau et découvre la détection des collisions.Unity 3D: Détection de collision entre la cible et la sphère ne fonctionnant pas (3d), la collision entre la cible et la sphère ne fonctionne pas

J'ai une sphère préfabriquée et une cible préfabriquée. Les sphères sont tirées sur la cible. Quand la sphère entre en collision avec la cible, je veux que la cible (un objet de jeu en 3D) soit détruite.

Mon sphère préfabriquée a actuellement un collisionneur de sphères avec isTrigger vérifié et un corps rigide qui utilise la gravité. Mon cible préfabriquée a un collisionneur de boîte avec isTrigger décoché et un corps rigide avec gravité d'utilisation et isKinematic décochée (puisque je veux que les cibles se reposent simplement sur l'écran, ne tombent pas).

Ceci est mon code sur le script de la sphère:

void OnCollisionEnter(Collision collisionInfo) { 
    Debug.Log("Detected collision between " + gameObject.name + " and " + collisionInfo.collider.name); 
} 
void OnTriggerEnter(Collider other) { 
    Debug.Log("Collided with " + other.gameObject.name); 
} 

Aucune déclaration de débogage est impression-. Des idées de ce que je fais mal dans l'éditeur?

+0

L'un des objets a-t-il un corps rigide? – Maakep

+0

Que faire si vous décochez isTrigger? – CNuts

+0

J'ai essayé de décocher isTrigger mais ne fonctionne toujours pas. Les deux préfabriqués ont un corps rigide (les cibles n'ont pas de gravité) – Surz

Répondre

1

Jetez un coup d'oeil, cela pourrait vous aider beaucoup! Colliedr matrix