
Unity编辑器拓展
文章平均质量分 66
为你写首诗ge
这个作者很懒,什么都没留下…
展开
-
【Unity】Excel配置工具
通过Excel表配置表数据,一键生成对应Excel配置表的数据结构类、数据容器类、已经二进制数据文件,加载二进制数据文件获取所有表数据需要使用Excel读取的dll包。原创 2024-06-27 16:04:19 · 1089 阅读 · 0 评论 -
【Unity 知识】创建ScriptableObject资源父子层级关系
1、首先获取一个ScriptableObject父资源,可以获取已创建的也可以新创建一个,如果新创建需要将父层级资产创建并保存到文件路径下。5、保存资产到本地,SaveAssets和ImportAsset,ImportAsset会报警告(不知道为啥)2、创建ScriptableObject子资源,通过代码创建。4、设置主资源,好像不设置一把也不会出问题。3、将子层级资产添加到父资产下面。7、删除父层级下的子资源。原创 2024-06-17 23:53:47 · 404 阅读 · 0 评论 -
【Unity编辑器拓展】Unity UI Toolkit拓展编辑器
1.1 导入UI BuilderUnity版本2020及以上才支持,2020版本需要打开preview,才能使用1.2 创建编辑器面板。原创 2024-01-29 17:36:35 · 2797 阅读 · 0 评论 -
【Unity编辑器拓展】9_物体操作相关类
返回当前在Hierarchy面板上或Project文件夹下选择的游戏物体GameObject,未选择则返回Null(选择多个则返回第一个选择的游戏物体)Project目录下只能选中预制体。返回当前在Hierarchy面板上或Project文件夹下选择的对象Object,未选择则返回Null(选择多个则返回第一个选择的物体)返回当前在Hierarchy面板上选择的游戏物体的Transform,未选择则返回Null(选择多个则返回第一个选择的游戏物体)返回Project文件夹下按类型和模式过滤选择后的结果。原创 2023-08-18 14:12:17 · 357 阅读 · 1 评论 -
【Unity编辑器拓展】8_扩展Hierarchy视图面板
父物体所有的子物体,是否含有组件,如果有则根据组件的状态在前面绘制出状态对应的图标,并且当选中某个子物体时,显示按钮,可以修改该组件中的属性值,控制物体的是否启用。test8_CurState.state = M_State.已执行;test8_CurState.state = M_State.已执行;需要使用到事件EditorApplication.hierarchyWindowItemOnGUI。(test8_CurState.state == M_State.已执行)需要使用MenuItem特性。原创 2023-08-18 14:09:59 · 857 阅读 · 1 评论 -
【Unity编辑器拓展】7_扩展Project视图面板
监听面板资源的创建删除移动和保存,Unity提供了监听的基类,继承UnityEditor.AssetModificationProcessor,接着重新监听资源创建、删除、一定和保存方法。主要用到[MenuIteam(“Assets/Create/名字”,bool(为真则禁用),int(排序,值小在最上面)]主要用到[MenuIteam(“Assets/名字”,bool(为真则禁用),int(排序,值小在最上面)]//双击打开、资源被创建、资源被保存、资源被移动、资源被删除。监听资源即将被创建事件。原创 2023-08-18 14:07:20 · 532 阅读 · 1 评论 -
【Unity编辑器拓展】6_扩展Scene视图
场景视图是编辑游戏对象的窗口,扩展场景视图可以实现网格编辑,地形绘制或高级Gizmos等操作。视图的扩展主要通过OnSceneGUI()方法实现,因为场景扩展是基于场景对象的,所以可以选择不同的对象实现不同的场景视图操作。有时候希望选择了场景对象后,点击场景窗口进行操作的时候,场景视图扩展依旧显示,这就需要设置场景对象的焦点为消极模式。//绘制GUI的内容必须要在BeginGUI、EndGUI的方法对中。//绘制一个可以沿着某个轴向的3D滑动条。//绘制一个半径控制手柄。//设置GUI绘制的区域。原创 2023-08-17 14:19:06 · 720 阅读 · 1 评论 -
【Unity编辑器拓展】5_Gizmos辅助调试工具
P.S. Gizmos.color作为全局的静态变量,为了防止这里的color修改会对其他地方的绘制造成影响,所以在绘制完Gizmos的时候,将Gizmos.color修改为原先的值。PS. 该方法需要将该类放在Editor文件夹内,使用特性的方法可以将业务逻辑和调试脚本分开。由于其针对的是编辑器组件的方法,需要设置为Static方法。新建一个表示业务逻辑的类TargetExample,将其挂载在场景中的对象身上。如果被选择或者选择子物体时,则绘制。//选中物体才进行绘制。如果全没选择,则绘制。原创 2023-08-17 14:16:30 · 785 阅读 · 1 评论 -
【Unity编辑器拓展】4_创建编辑器窗体
Unity为开发者提供了一个简单的快速创建对话框窗体的方式,只需要继承自ScriptableWizard类,我们容易发现ScriptableWizard实际上是继承自EditorWindow,只是做了一层封装,该类窗体一般用于快捷功能的操作,例如统一修改场景中多个对象的位置等信息。创建自定义的编辑器窗体都需要继承自EditorWindow类,它可以自由浮动,也可以作为选项卡停靠,就像Unity编辑器中其他的窗体一样。Unity提供了几种可以创建编辑器窗体的方式,开发者可以针对不同使用情况来创建。原创 2023-08-17 14:11:02 · 413 阅读 · 1 评论 -
【Unity编辑器拓展】3_自定义Inspector面板
/FocusType.Passive 使用Tab键切换时不会被选中,FocusType.Keyboard 使用Tab键切换时会被选中,很显然这里我们不需要label能被选中进行编辑。//不让indentLevel层级影响到同一行的绘制,因为PropertyDrawer在很多地方都有可能被用到,可能出现嵌套使用。//当删除元素时候的回调函数,实现删除元素时,有提示框跳出。//应用修改的属性值,不加的话,Inspector面板的值修改不了。//当添加新元素时的回调函数,自定义新元素的值。原创 2023-08-17 14:08:10 · 941 阅读 · 1 评论 -
【Unity编辑器拓展】2_编辑器相关特性
还有一个类特性[CustomPropertyDrawer(typeof(ShowTimeAttribute))]需要用到两个类PropertyAttribute和PropertyDrawer。//用于绘制特性,该类需要放到Editor中。//设置绘制的区域高度。原创 2023-08-17 14:02:15 · 726 阅读 · 1 评论 -
【Unity编辑器拓展】1_添加菜单按钮
/也可以添加在Unity默认的菜单栏中,例如添加到Window菜单中,[MenuItem(“Window / test2”)],添加到Assets下,[MenuItem(“Assets / Project中的按钮”)]也可以添加在Unity默认的菜单栏中,例如添加到Window菜单中,[MenuItem(“Window/test2”)],添加到Assets下,[MenuItem(“Assets/Project中的按钮”)]该文件夹可以放在项目的任何文件夹下,可以有多个"Editor"文件夹。原创 2023-08-17 13:53:46 · 817 阅读 · 1 评论