打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
(1)unity批量制作预制物体Prefab

 有时候场景中一大批物体都需要制作成预制物体,但是unity只能手动一个一个的创建,感觉非常的蹩脚,下面一个编辑器类的方法解决你的麻烦。

01static ObjectCreatePrefab(GameObject go, string name)
02{
03    //先创建一个空的预制物体
04    //预制物体保存在工程中路径,可以修改("Assets/"+ name + ".prefab");
05    ObjecttempPrefab = EditorUtility.CreateEmptyPrefab("Assets/" +name + ".prefab");
06    //然后拿我们场景中的物体替换空的预制物体
07    tempPrefab= EditorUtility.ReplacePrefab(go, tempPrefab);
08    //返回创建后的预制物体
09    return tempPrefab;
10}

这个方法可以随意根据任何规则来写,比如可以遍历一个物体的所有子物体,全部制作成预制物体保存到你的工程中,代码如下:

01[MenuItem("Tools/BatchPrefabAll Children")]
02public static void BatchPrefab(){
03    TransformtParent =((GameObject)Selection.activeObject).transform;
04     
05    ObjecttempPrefab;
06    int i= 0;
07    foreach(Transformt in tParent){
08        tempPrefab= EditorUtility.CreateEmptyPrefab("Assets/Prefab/prefab" +i +".prefab");
09        tempPrefab= EditorUtility.ReplacePrefab(t.gameObject,tempPrefab);
10        i++;
11    }
12}

上面代码中,在unity中添加了一个工具的菜单/BatchPrefab AllChildren(批量为所有子物体制作预物体),首先获取场景中选中的物体,遍历其所有子物体,为每一个子物体制作预制物体保存在工程种的目录下

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Unity3D 自动打包整个项目(以AssetBundle实现)
Unity资源管理汇总
unity 如何隐藏子物体
【新提醒】【unity常见面试题】
Unity5中lightmap的坑
Unity3D中实现动态加载Resources目录外的资源
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服