我從事一個物理量很大的專案,其中有很多剛體,而且代碼量很大。我有很多腳本,可以創建力、管理關節等等。
由于某種原因,有時會隨機破壞某個物件。它只是消失不見了。我不知道是哪個腳本導致的。有沒有辦法找出哪個腳本叫做 Ondestroy 什么的。
謝謝你的幫助。
uj5u.com熱心網友回復:
在OnDestroy()你的 monobehaviour 方法中放置一個斷點并檢查呼叫堆疊。
要除錯您的專案,您可以檢查在 Unity 中除錯 C# 代碼。一旦弄清楚并檢查如何攻擊統一性并在設定的斷點處停止執行,您可以使用 Window->Debug->Callstack 來查看執行在斷點處停止的呼叫堆疊,并查看導致呼叫的內容你的物件破壞。
uj5u.com熱心網友回復:
只需有一個組件,例如
public class DestroyDebug : MonoBehaviour
{
void OnDestroy ()
{
Debug.Log($"{name} was just destroyed");
}
}
如果您需要確切的實體和環境,或者在除錯代碼時放置一個斷點,或者在控制臺中,您至少可以看到哪些類和呼叫的整個堆疊跟蹤確切地導致了該物件的破壞。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/408546.html
標籤:
下一篇:addforce對角線移動更快
