unity3d OnCollisionEnter不检测冲突(Unity 3D)

emeijp43  于 2022-11-16  发布在  其他
关注(0)|答案(2)|浏览(168)

我有一个问题,每次我运行统一游戏的碰撞检测不工作,我打算添加一个冰箱到我的烹饪游戏,你可以打开,它会带来一个UI包含所有的项目内的冰箱,这里是冰箱的代码

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

public class OpenFridge : MonoBehaviour
{
    public GameObject fridgeUI;
    public GameObject player;
    void OnCollisionEnter(Collision collision)
    {
        Debug.Log(collision.gameObject.name);
        if (collision.gameObject.name == "Capsule")
        {
            fridgeUI.SetActive(true);
        }
    }
}

对于那些想知道的人,我正在为播放器使用一个胶囊,冰箱上有一个刚体。如果你有任何办法来解决这个问题,请在回复中留下它。

tp5buhyn

tp5buhyn1#

你有没有检查你的脚本添加到游戏对象,它有刚体和碰撞附加到?我刚刚有一个问题,它不为我工作,它变成了我把脚本放在一个父游戏对象,而不是游戏对象,它有刚体和碰撞

a2mppw5e

a2mppw5e2#

其中一个刚体必须是non-kinematic,并且两个刚体都需要连接一个碰撞体。
如果游戏对象在不同的layers上,你还需要确保它们之间的碰撞被启用。
另外,如果你不想发生物理碰撞,你也可以考虑使用trigger

相关问题