Unity - Как уничтожить моего игрока при столкновении? - PullRequest
0 голосов
/ 11 февраля 2020

Привет, я просто пытаюсь уничтожить свой объект, когда он касается красного куба :) Я использовал здесь код https://docs.unity3d.com/ScriptReference/Collider.OnCollisionEnter.html, но он не будет работать. Некоторые идеи?

pla

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class playerdeath : MonoBehaviour
{

         void OnCollisionEnter(Collision collision)
         {
             foreach (ContactPoint contact in collision.contacts)
             {
                 Debug.DrawRay(contact.point, contact.normal, Color.white);
                 Debug.Log("collision detected");
             }
             if(collision.relativeVelocity.magnitude > 2)
             {

                 Destroy(gameObject);
             }
         }
}

Ответы [ 2 ]

2 голосов
/ 12 февраля 2020

Вы можете использовать это: -

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class playerdeath : MonoBehaviour
{

         void OnCollisionEnter(Collision collision)
         {
             foreach (ContactPoint contact in collision.contacts)
             {
                 Debug.DrawRay(contact.point, contact.normal, Color.white);
                 Debug.Log("collision detected");
             }
             if(collision.relativeVelocity.magnitude > 2)
             {

                 Destroy(gameObject);
             }

             if(collision.gameObject.tag=="deathcube")
             {
               Destroy(gameObject); 
             } 
         }
}

Примечание : Добавить тег в Unity, который я даю на скриншоте.

enter image description here

0 голосов
/ 12 февраля 2020
 void OnTriggerEnter(Collider other)
 {
    if(other.gameObject.tag=="deathcube")
     Destroy(gameObject);  
 }

это работало нормально :), но я слышал, что его производительность выше, чем у OnCollisionEnter.

...