【发布时间】:2019-04-20 02:03:08
【问题描述】:
目前我正在开发一个设备系统,该系统会将游戏对象从列表中实例化到场景中,在此之前我没有使用实例化系统,只是始终保持游戏对象在场景中处于活动状态。
现在在实例化游戏对象(预制件)时,我在实例化它们时遇到了丢失引用的错误,我之前看过其他各种文章,例如这里的讨论:
但是,我正在寻找使用标签以外的其他方法,因为该系统可能会使用大量标签,从而降低游戏性能加班,有人知道将场景中的引用保存到预制件中的不同方法吗?
因此,由于这是一个新系统,我真的只是在寻找有关如何将场景游戏对象的引用保存到预制件中的建议,因为我的旧系统只是在场景中保持游戏对象处于活动状态,而不是实际实例化它们,我再次希望听到不同类型的方法,而不仅仅是使用标签。
我试图保存的参考是附加到我的 Prefab 的脚本中的三个变换元素,它们如下
public Transform camPos;
public Transform aimLocation;
public Transform crosshairLocation;
目前我只是将游戏对象从场景中拖放到脚本中的公共字段中
由于这将是一个主要系统,我不想为这个系统使用标签。但这绝对是一个有效的选择我只是在寻找将场景游戏对象的引用保存到预制件中的其他方法在将预制件实例化到场景中时,
感谢您抽出宝贵时间阅读,我们将不胜感激任何建议!
任何问题都可以问!
【问题讨论】:
-
预制件不能包含场景引用(因为在您调用
Instantiate时它们可能不存在)。二、Instantiate返回对生成实例的引用。
标签: c# unity3d instance gameobject