游戏对象找不到它的父对象

GameObject can't find its parent

我正在尝试动态地找到一个预制对象(一个自定义 class 继承自 Toggle)的父对象:

var parentObject = this.transform.parent;

但是,parentObject 返回 null,尽管父对象在 UI 中存在并且可以交互。任何人都知道原因可能是什么?我做错了吗?

我也试过运行下面的代码:

if (this.transform.IsChildOf(transform))
{
    Debug.Log("Object" + this.ToString() + " has parents");
}

哪个returns“对象 myPrefab (CustomToggle) 有父项”

你从项目中得到预制件,他们​​不能有任何parents。 Prefab的本身就是头部的,当你从资源文件夹中调用它们时,它们将没有parents。考虑如果一个prefab是另一个prefab的child,在inspector中获取它与其他prefab没有任何关系,显示日志的原因是每个object也是一个child 变换。

if (transform.IsChildOf(transform))
{
    Debug.Log("the transform is child of itself.");
}