Untiy2019版本预制体:

将Unity2019版本做的预制体复制到低版本工程中,发现是不能拖到编辑面板的,如下图:

编写脚本重新生成预制体:

public class PrefabsToLow : MonoBehaviour{ void Start(){
GameObject prefab = Instantiate(UnityEditor.AssetDatabase.LoadAssetAtPath("Assets/Prefabs/Prop particle01.prefab", typeof(GameObject)) as GameObject);
UnityEditor.PrefabUtility.CreatePrefab("Assets/Prefabs/CubeClone.prefab", prefab);
}
}
然后就可以拖到编辑面板了,如下图:

拓展更新,批量生成:
public class PrefabsToLow : MonoBehaviour{ void Start()
{ for (int n = 0; n < 10; n++)
{
GameObject prefab = Instantiate(UnityEditor.AssetDatabase.LoadAssetAtPath("Assets/Prefabs/Cube"+ n +".prefab",
typeof(GameObject)) as GameObject);
UnityEditor.PrefabUtility.CreatePrefab("Assets/Prefabs/CubeClone.prefab", prefab);
MonoBehaviour.DestroyImmediate(prefab);
}
}
}
文章讲述了在Unity2019版本中创建的预制体无法直接拖放到低版本工程中的问题。作者提供了一个脚本来解决这个问题,通过编写C#脚本`PrefabsToLow`实现预制体的重新生成和兼容低版本,该脚本可以单个或批量处理预制体,使其能在低版本Unity工程中使用。
2643

被折叠的 条评论
为什么被折叠?



