我在资产托盘中有一个名为square的预制件,我将其拖动到场景中以创建方形预制件的实例(在层次结构中,它突出显示为蓝色,并在属性中具有选择,恢复和应用按钮)。如果我移动/调整实例大小,然后按应用,则更改将应用于预制件。
然而,方形预制件有一个带有公共游戏对象的脚本。我将游戏对象从层次结构拖到实例的属性选项卡中的插槽中,并显示脚本现在引用实际的游戏对象。但是,当我按下应用时,此更改不会应用于预制件(预制件的脚本仍然没有引用任何实际的游戏对象)。对预制件进行所有其他更改。
我尝试将实例拖入资产托盘以创建带有更改的新预制件,但是,只要我这样做,脚本就不再引用游戏对象了。
每次向脚本添加公共变量时,我都不必创建一个全新的预制件,为什么我不能应用此更改?
答案 0 :(得分:2)
好的,你无法真正将实例拖到预制件上。根据经验,使用预制件保存带有实例和预制件的实例。 我会通过findobjectoftype或gameobject.find等方法在实例化这个实例时从预制件中找到实例。如果您希望我扩大答案,请告诉我
答案 1 :(得分:0)
解决:预制件只能引用其他预制件,因为可能没有实例。将实际游戏对象制作成预制件的实例并将预制件应用于脚本
答案 2 :(得分:0)
预制件是资产。您只能将其他资产引用到资产,而不能引用资产实例。