嗨,我只是简单地尝试破坏我的物体,使其接触到红色立方体:) 我在这里https://docs.unity3d.com/ScriptReference/Collider.OnCollisionEnter.html使用了代码,但无法正常工作。有想法吗?
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);
}
}
}
答案 0 :(得分:2)
您可以使用此:-
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中添加标签。
答案 1 :(得分:0)
void OnTriggerEnter(Collider other)
{
if(other.gameObject.tag=="deathcube")
Destroy(gameObject);
}
这很好用:),但我听说它的性能比OnCollisionEnter还要重。