我有一个问题,每次我运行统一游戏的碰撞检测不工作,我打算添加一个冰箱到我的烹饪游戏,你可以打开,它会带来一个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);
}
}
}
对于那些想知道的人,我正在为播放器使用一个胶囊,冰箱上有一个刚体。如果你有任何办法来解决这个问题,请在回复中留下它。
2条答案
按热度按时间tp5buhyn1#
你有没有检查你的脚本添加到游戏对象,它有刚体和碰撞附加到?我刚刚有一个问题,它不为我工作,它变成了我把脚本放在一个父游戏对象,而不是游戏对象,它有刚体和碰撞
a2mppw5e2#
其中一个刚体必须是non-kinematic,并且两个刚体都需要连接一个碰撞体。
如果游戏对象在不同的layers上,你还需要确保它们之间的碰撞被启用。
另外,如果你不想发生物理碰撞,你也可以考虑使用trigger。