为什么Unity不允许我对预制件应用某些更改?

时间:2017-06-05 09:24:09

标签: unity3d

我在资产托盘中有一个名为square的预制件,我将其拖动到场景中以创建方形预制件的实例(在层次结构中,它突出显示为蓝色,并在属性中具有选择,恢复和应用按钮)。如果我移动/调整实例大小,然后按应用,则更改将应用​​于预制件。

然而,方形预制件有一个带有公共游戏对象的脚本。我将游戏对象从层次结构拖到实例的属性选项卡中的插槽中,并显示脚本现在引用实际的游戏对象。但是,当我按下应用时,此更改不会应用于预制件(预制件的脚本仍然没有引用任何实际的游戏对象)。对预制件进行所有其他更改。

我尝试将实例拖入资产托盘以创建带有更改的新预制件,但是,只要我这样做,脚本就不再引用游戏对象了。

每次向脚本添加公共变量时,我都不必创建一个全新的预制件,为什么我不能应用此更改?

3 个答案:

答案 0 :(得分:2)

好的,你无法真正将实例拖到预制件上。根据经验,使用预制件保存带有实例和预制件的实例。  我会通过findobjectoftype或gameobject.find等方法在实例化这个实例时从预制件中找到实例。如果您希望我扩大答案,请告诉我

答案 1 :(得分:0)

解决:预制件只能引用其他预制件,因为可能没有实例。将实际游戏对象制作成预制件的实例并将预制件应用于脚本

答案 2 :(得分:0)

预制件是资产。您只能将其他资产引用到资产,而不能引用资产实例。