Setting the parent of a transform which resides in a Prefab Asset is disabled to prevent data corruption (GameObject: ‘XXXXXXX’).
private GameObject _goEquipmentDisplay;//在文件夹中的名字
private void Awake()
{
_goEquipmentDisplay = Resources.Load<GameObject>(ProConst.PathGamePrefabs_RenderModels + GameManager.Instance.equipmentDisplayName);//加载模型
_goEquipmentDisplay.transform.SetParent(gameObject.transform);
_goEquipmentDisplay.transform.position = new Vector3(0, 0, 0);
}
这么写就会报错,因为没有
GameObject.Instantiate(gameObject);
没有实例化,直接读取文件夹中的预制体,然后设置预制体的父物体,正常应该先实例化在去设置父物体
private GameObject _goEquipmentDisplay;//展示的设备
private GameObject _goDisplay;//实例化出来的GameObject
private void Awake()
{
_goEquipmentDisplay = Resources.Load<GameObject>(ProConst.PathGamePrefabs_RenderModels + GameManager.Instance.equipmentDisplayName);//加载模型
_goDisplay = GameObject.Instantiate(_goEquipmentDisplay);//加上实例化的代码
_goDisplay.transform.SetParent(gameObject.transform);//设置父物体
_goDisplay.transform.position = new Vector3(0, 0, 0);
}