一些Unity编辑器扩展的记录

1.CustomEditor

描述
告知编辑器类该编辑器所针对的运行时类型。
当您为组件创建自定义编辑器时,您需要将此属性添加到编辑器类上。

如:

[CustomEditor(typeofEffecttroller)]
public class EffectcontrollerInspector :Editor{
}

isFallback 如果为 true,则仅在所有非回退编辑器均不匹配时匹配此编辑器。默认为 false。

2.Editor.OnInspectorGUI

描述
实现此函数以创建自定义检视面板。

在此函数中,可以为特定对象类的检视面板添加自己的基于 IMGUI 的自定义 GUI。 DrawPropertiesExcluding(SerializedObject,string[])绘制给定 SerializedObject 中的所有属性,不包括 propertyToExclude ones.SerializedObject 到不绘制的属性的 draw.List。

注意:此函数必须重载才能正常工作。

当组件添加时 去绘制了InspectorGUI 即 添加组件这个函数被调用 可以做一些重载的操作

3.spine 动画的实例化为预制体

1.将skeletonData 文件拖拽到 scene场景下触发 sceneViewDragAndDrop
显示出菜单 showInstantiateContexMenu()
2.在showInstantiateContexMenu 方法中 补充一个GenericMenu用 AddItme new GUIContent 增加一个 方法 该GUI按钮 被按下时 触发 EditorInstantiation 中心添加的 InstantiationToSpriteSkeletonAnimation方法
3.InstantiationToSpriteSkeletonAnimation 的方法实现思路参考 默认提供的两种实例化gameObject 的方法
实现思路如下
实例化 skeletonData 数据
导出动作信息
提供一个Fomat 的命名
使用EditorInstanttion 的 NewGameObject 方法 传命名 bool 【typeof(组件名) 】作为参数 (C# param 的用法)
最终调用ObjectFactory(unity 提供 )的CreatGameObject 去实例化物体
4.放在对应文件夹下(后续应按照命名寻找文件夹 或将文件路径作为可选)
4.CanEditMultipleObjects属性

[CanEditMultipleObjects]
public class xxx:Editor

添加到类上面, 在自定义编辑器时,允许多对象编辑,就是同时选中多个物体,统一修改共同的值
很多Unity 自带组件都允许多选更改

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值