网站公告 | 全新unity3d 完整学习路线,最强课程配套、服务!详情点击
查看: 12678|回复: 4
收起左侧

[Unity3d] unity editor模式下修改prefab上挂的脚本参数

[复制链接]

[Unity3d] unity editor模式下修改prefab上挂的脚本参数[复制链接]

zhangliwei7758 发表于 2017-12-25 15:51:57 [显示全部楼层] 回帖奖励 |倒序浏览 |阅读模式 回复:  4 浏览:  12678
5泰斗币
如题,自己写了一个脚本,放在Editor文件夹下,用来批量修改所选择的prefab上某个脚本的指定参数的值。执行后正确修改了想要修改的参数,但是重启unity后,参数又变回来了。求教该如何解决。
上代码:
[C#] 纯文本查看 复制代码
	[MenuItem ("BundleEditor/MendBottom_y")]
	public static void MendBottomGiz_y()
	{
		Object[] objs = Selection.objects;
		for (int i = 0; i < objs.Length; i++) {
			GameObject _info = (GameObject)objs [i];
			PrefabInfo _prefabInfo = _info.GetComponent<PrefabInfo> ();
			if (_prefabInfo) {
				_prefabInfo._mBottomPosition = _prefabInfo.transform.position.y;
			}
		}
	}

最佳答案

查看完整内容

处理是在编辑器模式下进行的,需要对操作应用。 serializedObject.ApplyModifiedProperties(); EditorUtility.SetDirty(gameObject);
+1
12673°C
4
  • itsxwz
  • 星陨尘心_clw
  • 鬼烛台
  • buluozhiri
过: 他们
因分享而快乐,学习以自强!
itsxwz 发表于 2017-12-25 15:51:58 显示全部楼层
处理是在编辑器模式下进行的,需要对操作应用。
                serializedObject.ApplyModifiedProperties();
                EditorUtility.SetDirty(gameObject);
因分享而快乐,学习以自强!
星陨尘心_clw 发表于 2018-1-10 15:33:43 显示全部楼层
将prefab拖进场景中,再执行这个editor脚本好像是可以的
因分享而快乐,学习以自强!
鬼烛台 发表于 2018-4-23 17:29:37 显示全部楼层
记得改完要apply哦
因分享而快乐,学习以自强!
buluozhiri 发表于 2018-10-7 10:21:23 显示全部楼层
修改没有保存到资源,serializedObject.ApplyModifiedProperties();                 EditorUtility.SetDirty(gameObject);
因分享而快乐,学习以自强!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

VR/AR版块|Unity3d|Unreal4|新手报道|小黑屋|站点地图|沪ICP备14023207号-9|【泰斗社区】-专注互联网游戏和应用的开发者平台 ( 浙ICP 备 13006852号-15 )|网站地图

© 2001-2013 Comsenz Inc.  Powered by Discuz! X3.4

1
QQ