Unity 材质编辑器。
扩展该类可编写您自己的自定义材质编辑器。有关更多详细信息,请参阅 ShaderLab reference 的 Custom Material Editor 部分。
kMiniTextureFieldLabelIndentLevel | 适用于对需要与最小纹理字段具有相同缩进的着色器属性进行缩进。 |
customShaderGUI | 返回着色器实现的自定义 ShaderGUI。 |
isVisible | 当前材质是否已展开。 |
Awake | 当编辑器唤醒时调用。 |
BeginAnimatedCheck | 创建一个属性封装器,适用于使常规 GUI 控件与 MaterialProperty 配合使用。 |
ColorProperty | 为颜色着色器属性绘制属性字段。 |
DefaultPreviewGUI | 材质预览区域的默认处理。 |
DefaultPreviewSettingsGUI | 材质预览区域的默认工具栏。 |
DefaultShaderProperty | 处理一个着色器属性的 UI(忽略任何自定义绘制器)。 |
DoubleSidedGIField | 显示用于编辑材质的双面全局光照设置的 UI。 如果确实显示了 UI(即材质支持双面全局光照设置),则返回 true。 另请参阅:Material.doubleSidedGI。 |
EmissionEnabledProperty | 此函数将绘制用于控制是否在材质上启用发射的 UI。 |
EnableInstancingField | 显示用于编辑材质的渲染队列设置的 UI。 |
EndAnimatedCheck | 结束由 BeginAnimatedCheck 开始的属性封装器。 |
FloatProperty | 为浮点着色器属性绘制属性字段。 |
GetPropertyHeight | 计算属性所需的高度。 |
GetTexturePropertyCustomArea | 在标签下面和大缩略图对象字段之前返回自由矩形。用于平铺属性和偏移属性等。 |
HasPreviewGUI | 能否在当前状态下预览此组件? |
HelpBoxWithButton | 创建一个带有消息和按钮的帮助框。如果已按下按钮,则返回 true。 |
IntegerProperty | Draw a property field for an integer shader property. |
IsInstancingEnabled | 确定是否选中 Enable Instancing 复选框。 |
LightmapEmissionFlagsProperty | 绘制用于设置材质的全局光照标志的 UI。 |
LightmapEmissionProperty | 此函数将绘制用于光照贴图发射属性的 UI。(无、实时、烘焙)另请参阅:MaterialLightmapFlags。 |
OnDisable | 在编辑器处于禁用状态时调用,如果被重载,请调用基础 OnDisable() 以确保正确设置材质检视面板。 |
OnEnable | 在编辑器处于启用状态时调用,如果被重载,请调用基础 OnEnable() 以确保正确设置材质检视面板。 |
OnInspectorGUI | 在此处实现特定的 MaterialEditor GUI 代码。如果您只想扩展现有编辑器,应在执行任何自定义 GUI 代码之前先调用基础 OnInspectorGUI ()。 |
OnPreviewGUI | Image 组件的自定义预览。 |
PropertiesChanged | 每当材质属性发生更改时,需调用此函数。这将重新构建检视面板并验证属性。 |
PropertiesDefaultGUI | 着色器属性的默认渲染。 |
PropertiesGUI | 渲染标准材质属性。此方法将使用 IShaderGUI 实例(如果找到)渲染属性,否则会使用 PropertiesDefaultGUI。 |
RangeProperty | 为范围着色器属性绘制一个范围滑动条。 |
RegisterPropertyChangeUndo | 当您更改材质属性时,需调用此方法。它将为操作添加撤销标签。 |
RenderQueueField | 显示用于编辑材质的渲染队列设置的 UI。 |
RequiresConstantRepaint | 是否需要在当前状态下不断重绘此编辑? |
SetDefaultGUIWidths | 将 EditorGUIUtility.fieldWidth 和 labelWidth 设置为 PropertiesGUI 使用的默认值。 |
SetShader | 设置材质的着色器。 |
ShaderProperty | 处理一个着色器属性的 UI。 |
TextureCompatibilityWarning | 检查特定属性中由材质指定的纹理类型是否有误,显示相应警告并建议用户自动修复问题。 |
TextureProperty | 为纹理着色器属性绘制一个属性字段。 |
TexturePropertyMiniThumbnail | 为纹理着色器属性绘制一个属性字段且仅占用单行高度。 |
TexturePropertySingleLine | 用于显示带有额外内联属性的纹理属性控件的方法。 |
TexturePropertyTwoLines | 用于显示属性的紧凑布局的方法。 |
TexturePropertyWithHDRColor | 用于显示含有 HDR 颜色字段及其颜色亮度浮点字段的纹理属性控件的方法。 |
TextureScaleOffsetProperty | 为纹理绘制平铺属性和偏移属性。 |
VectorProperty | 为矢量着色器属性绘制一个属性字段。 |
OnShaderChanged | 在检视面板中更改材质的着色器时调用的回调。 |
ApplyMaterialPropertyDrawers | 应用初始 MaterialPropertyDrawer 值。 |
FixupEmissiveFlag | 根据传入的标志和给定的颜色返回正确设置的全局光照标志。 |
GetDefaultPropertyHeight | 计算属性所需的高度(忽略自定义绘制器)。 |
GetFlexibleRectBetweenFieldAndRightEdge | 用于 GUI 布局 ShaderGUI 的 Utility 方法。例如,用于左对齐 Color 字段之后的矩形。 |
GetFlexibleRectBetweenLabelAndField | 用于 GUI 布局 ShaderGUI 的 Utility 方法。 |
GetLeftAlignedFieldRect | 用于 GUI 布局 ShaderGUI 的 Utility 方法。 |
GetMaterialProperties | 获取所传递材质的着色器属性信息。 |
GetMaterialProperty | 获取有关单个着色器属性的信息。 |
GetRectAfterLabelWidth | 用于 GUI 布局 ShaderGUI 的 Utility 方法。这是可用于多个属性的标签后面的矩形。可通过调用以下函数来获取输入矩形:EditorGUILayout.GetControlRect。 |
GetRightAlignedFieldRect | 用于 GUI 布局 ShaderGUI 的 Utility 方法。 |
serializedObject | 表示正在检查的一个或多个对象的 SerializedObject。 |
target | 所检查的对象。 |
targets | 正在检查的所有对象的数组。 |
hideFlags | 该对象应该隐藏、随场景一起保存还是由用户修改? |
name | 对象的名称。 |
CreateInspectorGUI | 实现此方法以创建自定义 UIElements 检视面板。 |
DrawDefaultInspector | 绘制内置检视面板。 |
DrawHeader | 调用此函数以绘制编辑器标头。 |
DrawPreview | 预览绘制的第一个入口点。 |
GetInfoString | 实现此方法以在资源预览上显示资源信息。 |
GetPreviewTitle | 如果要更改 Preview 区域的标签,可重载此方法。 |
OnInteractivePreviewGUI | 实现此方法可创建您自己的交互式自定义预览。交互式自定义预览用于检视面板和对象选择器的预览区域。 |
OnPreviewSettings | 如果要在预览标头中显示自定义控件,可重载此方法。 |
RenderStaticPreview | 如果要渲染静态预览,可重载此方法。 |
Repaint | 重新绘制显示此编辑器的任意检视面板。 |
UseDefaultMargins | 如果您不想使用默认边距,可在子类中重载此方法以返回 false。 |
GetInstanceID | Gets the instance ID of the object. |
ToString | 返回对象的名称。 |
ShouldHideOpenButton | 返回检视面板中“open”按钮的可见性设置。 |
CreateCachedEditor | 返回时,previousEditor 是 targetObject 或 targetObjects 的编辑器。如果该编辑器已经在跟踪对象,则函数会返回,否则该函数会销毁之前的编辑器并创建一个新编辑器。 |
CreateCachedEditorWithContext | 使用上下文对象创建缓存的编辑器。 |
CreateEditor | 为 targetObject 或 targetObjects 创建自定义编辑器。 |
CreateEditorWithContext | 使用上下文对象为 targetObject 或 targetObjects 创建自定义编辑器。 |
DrawFoldoutInspector | 为 target 绘制带有折叠标头的检视面板 GUI。 |
Destroy | 移除 GameObject、组件或资源。 |
DestroyImmediate | 立即销毁对象 /obj/。强烈建议您改用 Destroy。 |
DontDestroyOnLoad | 在加载新的 Scene 时,请勿销毁 Object。 |
FindObjectOfType | 返回第一个类型为 type 的已加载的激活对象。 |
FindObjectsOfType | Gets a list of all loaded objects of Type type. |
Instantiate | 克隆 original 对象并返回克隆对象。 |
CreateInstance | 创建脚本化对象的实例。 |
bool | 该对象是否存在? |
operator != | 比较两个对象是否引用不同的对象。 |
operator == | 比较两个对象引用,判断它们是否引用同一个对象。 |
HasFrameBounds | Validates whether custom bounds can be calculated for this editor. |
OnGetFrameBounds | Gets custom bounds for the target of this editor. |
OnSceneGUI | 使编辑器在场景视图中处理事件。 |
OnDestroy | 当脚本化对象将销毁时调用此函数。 |
OnValidate | Editor-only function that Unity calls when the script is loaded or a value changes in the Inspector. |
Reset | 重置为默认值。 |
finishedDefaultHeaderGUI | 在绘制默认标题项之后,在绘制 Inspector 窗口的标题时引发的事件。 |
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.