Unity3D提供了强大的编辑器扩展机制,在项目开发中,如果可以将一些繁琐的工作放在编辑器扩展中进行,则会大大提高效率.本文对编辑器扩展进行了一些总结,希望对有兴趣编写编辑器扩展的开发人员有所帮助.当我们编写一个编辑器扩展时,一般可以从以下四个类继承: 1 . ScriptableObject 最常见的小功能扩展,一般不用窗口的编辑扩展,可以从这个类中继承,如以下代码所示: using UnityEngine; using UnityEditor; using System.Collecti
using UnityEngine; using UnityEditor; using System.Collections; public class AddParent : ScriptableObject { [MenuItem ("GameObject/+Add Parent")] static void MenuInsertParent() { Transform[] transforms = Selection.GetTransforms(SelectionMode.Top
using UnityEngine; using UnityEngine; using UnityEditor; using System.Collections; public class AddChild : ScriptableObject { [MenuItem ("GameObject/+Add Child")] static void MenuAddChild() { Transform[] transforms = Selection.GetTransforms(Sele
TerrainHeightProcesser 地形高度存储工具 TerrainHeightData 地形高度数据 // class TerrainHeightProcesser using UnityEngine; using System.Collections; using System.IO; using UnityEditor; using System.Collections.Generic; /* * 地形高度处理器 */ public class TerrainHeightProc
ScriptableObject主要实现对象序列化的保存,因为是Unity自己的序列化,所以比xml,json序列化方便很多,但相对可控性也比较差 1.Editor下写入和读取测试: using UnityEditor; using UnityEngine; using System.Collections; public class ScriptableTestWindow : EditorWindow { [MenuItem("ScriptableTest/MyTest")] pu