5 回答

TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超11個(gè)贊
無(wú)法根據(jù)給定的代碼片段判斷您的代碼為何無(wú)法運(yùn)行 - 此代碼取決于GameObjects'
編輯器中每個(gè)檢查器窗口的配置。
此GameObject
腳本附加到的對(duì)象和碰撞GameObject
必須有一個(gè)Collider
組件附加到它們中的每一個(gè)(例如,一個(gè)BoxCollider
組件或一個(gè)SphereCollider
組件)。兩者都Colliders
必須isTrigger
禁用其復(fù)選框。此GameObject
腳本附加到的 也必須Rigidbody
附加一個(gè)組件。
為了調(diào)試這種情況,Debug.Log()
請(qǐng)?jiān)谀暮瘮?shù)中添加語(yǔ)句。這通常是一種很好的做法,并且可能正在調(diào)用函數(shù)但條件語(yǔ)句不正確。
以下是關(guān)于可能出現(xiàn)問(wèn)題的一些額外想法:
您可能正在更改
GameObject
代碼中其他地方的碰撞名稱(chēng)。你可能正在破壞
GameObject
.可能是這兩個(gè)函數(shù)都沒(méi)有被調(diào)用并且
HandleCollided
在代碼的其他地方被更改。可能是參數(shù)
col
不是您所期望的。
public void OnCollisionEnter(Collision col)
{
Debug.Log("Collision Enter!");
Debug.Log(col.gameObject.name);
}
public void OnCollisionExit(Collision col)
{
Debug.Log("Collision Exit!");
Debug.Log(col.gameObject.name);
}

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超7個(gè)贊
不幸的是,使用 OnCollisionExit 不起作用,所以我改用 OnTriggerEnter 和 OnTriggerExit。我為這兩個(gè)對(duì)象激活了“isTrigger”。
public void OnTriggerEnter(Collider col)
{
Debug.Log("entered");
if (col.gameObject.name == "RightHandAnchor")
{
HandleCollided = true;
}
}
public void OnTriggerExit(Collider other)
{
Debug.Log("exit");
if (other.gameObject.name == "RightHandAnchor")
{
print("No longer in contact with " + other.transform.name);
HandleCollided = false;
}
}

TA貢獻(xiàn)1795條經(jīng)驗(yàn) 獲得超7個(gè)贊
所以你說(shuō)“有兩個(gè)物體相互碰撞。一個(gè)附有球形對(duì)撞機(jī),另一個(gè)附有箱形對(duì)撞機(jī)。其中一個(gè)物體也附有剛體?!?nbsp;代碼在哪一個(gè)?是的,這很重要!只有 1 個(gè)對(duì)象會(huì)跟蹤出口,這意味著如果它是非運(yùn)動(dòng)學(xué)的,它將無(wú)法工作。

TA貢獻(xiàn)1824條經(jīng)驗(yàn) 獲得超5個(gè)贊
嘗試使用OnCollisionEnter()和OnTriggerExit()!
例子:
void OnCollisionEnter(Collision collision)
{
if((collision.gameObject.GetComponent<AttributeManager>().attributes & doorType) != 0)
{
this.GetComponent<BoxCollider>().isTrigger = true;
}
}
private void OnTriggerExit(Collider other)
{
this.GetComponent<BoxCollider>().isTrigger = false;
}

TA貢獻(xiàn)1851條經(jīng)驗(yàn) 獲得超5個(gè)贊
您需要將一個(gè)非運(yùn)動(dòng)學(xué)剛體附加到您的對(duì)象上以獲取 OnCollisionExit 事件
- 5 回答
- 0 關(guān)注
- 197 瀏覽
添加回答
舉報(bào)