可以使用LoadPrefabContents, SaveAsPrefabAsset, UnloadPrefabContents的组合修改
例如
var resPath = "Assets/test.prefab";
var tempObj = PrefabUtility.LoadPrefabContents(resPath);
// 执行修改的内容,例如修改位置
tempObj.transform.position = centerPoses[i];
PrefabUtility.SaveAsPrefabAsset(tempObj, resPath);
PrefabUtility.UnloadPrefabContents(tempObj);
先用AssetDatabase.LoadAssetAtPath, 再用PrefabUtility.InstantiatePrefab拷贝
var prefPath = GetMergePrefabPath(groupName);
var oriObj = AssetDatabase.LoadAssetAtPath<GameObject>(prefPath);
if (oriObj != null)
{
var res = PrefabUtility.InstantiatePrefab(oriObj) as GameObject;
return res;
}
[System.Serializable]
public class OtherInsideData
{
public int dataa;
}
public class MainData: ScriptableObject
{
public OtherInsideData dataa;
public int datab;
}
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- haog.cn 版权所有 赣ICP备2024042798号-2
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务