求UNITY3D 可变unity 脚本更换材质球颜色的脚本

QQ群: --->>战斗卡牌视频教程发布(网游)
最近在做一个编辑器。给策划美术调动作打击感。其中需要修改预设。中间碰到点小坑。然而并没有百度到。后面经过查阅API后,找到了解决方法。
在这里就分享下了。编辑预设。一般可以用于做一些编辑器,比如动作编辑器等等。如下。
这时就需要我们队预设编辑。这样策划美术用编辑器编辑预设。比如模型预设。地形预设等等。我们就能解放双手了。。
好了言归正传。解决方案如下。
本文示例截图
//标记预设为修改状态 这步很重要,不执行这步操作。关闭Unity后。预设并不会保存。
EditorUtility.SetDirty(prefab);
//标记预设为修改状态 这步很重要,不执行这步操作。关闭Unity后。预设并不会保存。EditorUtility.SetDirty(prefab);
using UnityE
using System.C
public class TestEditorPrefab : MonoBehaviour
private MeshF
// Use this for initialization
void Start()
1234567891011121314151617
using UnityEngine;using System.Collections;&public class TestEditorPrefab : MonoBehaviour{&&&&&public string name;&&&&public int speed;&&&&public Color color;&&&&private MeshFilter mesh;&&&&// Use this for initialization&&&&void Start()&&&&{&&&&&& &&&&}&}
using UnityE
using System.C
using UnityE
using System.IO;
public class SkillConfigTools : MonoBehaviour
public static SkillConfigToolsWindows mSkillConfigToolsW
[MenuItem("ModelConfig/打开配置界面", false, 10)]
static public void StartFindABInResources()
mSkillConfigToolsWindows = EditorWindow.GetWindow&SkillConfigToolsWindows&(false, "模型动作配置", true);
1234567891011121314
using UnityEngine;using System.Collections;using UnityEditor;using System.IO;&public class SkillConfigTools : MonoBehaviour{&&&&public static SkillConfigToolsWindows mSkillConfigToolsWindows;&&&&[MenuItem("ModelConfig/打开配置界面", false, 10)]&&&&static public void StartFindABInResources()&&&&{&&&&&&&&mSkillConfigToolsWindows = EditorWindow.GetWindow&SkillConfigToolsWindows&(false, "模型动作配置", true);&&&&}}
using UnityE
using UnityE
using System.Collections.G
public class SkillConfigToolsWindows : EditorWindow
private GameObject prefab =
private TestEditorPrefab mTestEditor =
/// &summary& 刷新窗口. &/summary&
void OnSelectionChange() { Repaint(); }
/// &summary&UI绘制区域.&/summary&
void OnGUI()
if (mTestEditor == null) FindObj();
mTestEditor.name = EditorGUILayout.TextField("名称", mTestEditor.name);
mTestEditor.speed = EditorGUILayout.IntField("速度", mTestEditor.speed);
mTestEditor.color = EditorGUILayout.ColorField("速度", mTestEditor.color);
//skill.powerLevel = EditorGUILayout.IntField("攻击强度", skill.powerLevel);
if (GUILayout.Button("保存预设"))
//标记预设为修改状态 这步很重要,不执行这步操作。关闭Unity后。预设并不会保存。
EditorUtility.SetDirty(prefab);
Debug.LogError("保存成功");
void FindObj()
prefab = Resources.Load&GameObject&("Cube") as GameO
mTestEditor = prefab.GetComponent&TestEditorPrefab&();
1234567891011121314151617181920212223242526272829303132333435
using UnityEditor;using UnityEngine;using System.Collections.Generic;&public class SkillConfigToolsWindows : EditorWindow{&&&&private GameObject prefab = null;&&&&private TestEditorPrefab mTestEditor = null;&&&&/// &summary& 刷新窗口. &/summary&&&&&void OnSelectionChange() { Repaint(); }&&&&/// &summary&UI绘制区域.&/summary&&&&&void OnGUI()&&&&{&&&&&&&&if (mTestEditor == null) FindObj();&&&&&&&&else&&&&&&&&{&&&&&&&&&&&&mTestEditor.name = EditorGUILayout.TextField("名称", mTestEditor.name);&&&&&&&&&&&&mTestEditor.speed = EditorGUILayout.IntField("速度", mTestEditor.speed);&&&&&&&&&&&&mTestEditor.color = EditorGUILayout.ColorField("速度", mTestEditor.color);&&&&&&&&&&&&//skill.powerLevel = EditorGUILayout.IntField("攻击强度", skill.powerLevel);&&&&&&&&&&&&if (GUILayout.Button("保存预设"))&&&&&&&&&&&&{&&&&&&&&&&&&&&&&//标记预设为修改状态 这步很重要,不执行这步操作。关闭Unity后。预设并不会保存。&&&&&&&&&&&&&&&&EditorUtility.SetDirty(prefab);&&&&&&&&&&&&&&&&Debug.LogError("保存成功");&&&&&&&&&&&&}&&&&&&&&}&&&&}&&&&&void FindObj()&&&&{&&&&&&&&prefab = Resources.Load&GameObject&("Cube") as GameObject;&&&&&&&&mTestEditor = prefab.GetComponent&TestEditorPrefab&();&&&&}}
链接:/s/1jGMlUmi 密码:fyid
转载请注明: &
or分享 (0)
本站所有内容如未标明转载的内容,均为原创内容。转载请注明来源!
发表我的评论

参考资料

 

随机推荐