odin专题

Odin Inspector 系列教程 --- Display As String Attribute

DisplayAsString特性:用于任何属性,对应的值在检查器中以文本形式显示字符串。如果属性的值要在检查器中显示字符串,但不允许进行任何编辑,请使用此选项。 【DisplayAsString】直接以文本的展示value [DisplayAsString]public Color SomeColor;[PropertySpace(40)][Display

Odin Inspector 系列教程 --- Color Palette Attribute

Color Palette Attribute:于任何Color属性,并允许从不同的可定义调色板中选择颜色。使用此选项允许用户从一组预定义的颜色选项中进行选择。 【ColorPalette】使用这个特性就回在对应的字段旁出现可用的调色板 [ColorPalette]public Color ColorOptions; 【PaletteName】也可以指定

Odin Inspector 系列教程 --- Child Game Objects Only Attribute

用于Components和GameObject字段,并将在对象字段旁边添加一个小按钮,该按钮将在所有子游戏对象中搜索可分配对象,并将其显示在下拉列表中供用户选择。 【ChildGameObjectsOnly】获取包括自己在内以的可用节点 [ChildGameObjectsOnly]public GameObject ChildGameObject; 【I

Odin Inspector 系列教程 --- Asset Selector Attribute

Asset Selector Attribute 特性用于:在对象字段旁边添加一个小按钮,该按钮将向用户显示资产下拉列表,以便从属性中进行选择。 【AssetSelector】添加到对应的字段上即可 [AssetSelector]public Material AnyAllMaterials;[AssetSelector]public

Odin Inspector 系列教程 --- Asset List Attribute

Asset List Attribute特性:用于列表和数组以及Unity type的单个元素,并将默认列表Drop替换为具有指定过滤器的所有可能资产的列表。使用此选项可以过滤并在列表或数组中包含或排除资产,而无需导航项目窗口。 AssetList:创建一个指定类型的列表 [AssetList][PreviewField(70, ObjectFieldAli

Odin Inspector 系列教程 --- Value Dropdown Attribute

Value Dropdown Attribute特性用于任何属性,并使用可配置选项创建下拉列表。使用此选项可为用户提供一组特定的选项供您选择。 也就是创建一些特殊的下拉条 这个里面的属性就有点多了,达到了16个!!! 下面笔者逐个讲解 MemberName,也是唯一一个有参构造函数需要的属性,有两种形式的Drop下拉条,一种是直接数值的,另一种是Key-Value形式的

Odin Inspector 系列教程 --- Validate Input Attribute

Validate Input Attribute特性:用于任何属性,并允自定义检查器,灵活实现多种监测规则。使用此选项可强制执行正确的值(提供对应的返回值)。 常规写法,实参输入一个方法的名称,一个对应的消息 [ValidateInput("MustBeNull", "这个字段应该为空。")]public MyScripty Defau

Odin Inspector 系列教程 --- Type Info Box Attribute

TypeInfoBox特性:将信息框添加到Inspector中类型的最顶部。 使用此选项可将信息框添加到Inspector中类的顶部,而无需同时使用PropertyOrder和OnInspectorGUI属性。 完整示例代码 TypeInfoBoxExample using Sirenix.OdinInspector;using System;using Un

Odin Inspector 系列教程 --- Type Filter Attribute

Type Filter Attribute特性:对输入的value 进行自定义过滤,只显示需要的类型 完整示例代码 using Sirenix.OdinInspector;using Sirenix.Utilities;using System;using System.Collections.Generic;using System.Linq;using

Odin Inspector 系列教程 --- Title Attribute

Title Attribute特性:用于在属性上方生成粗体标题。 直接设置标题,或者添加标题和副标题 [Title("Static title")]public int C;public int D;[Title("Static title", "Static subtitle")]public int E;public int F;

Odin Inspector 系列教程 --- Enable If Attribute

Enable If Attribute:用于任何属性,并且可以在检查器中启用或禁用该属性。相关属性时,使用此选项可启用属性。 这个特性的效果主要是当指定条件满足时,启用对应的属性,默认传入的参数为对应属性的名称,如果为True或者不为null时,启用对应属性 [EnableIf("IsToggled")]public int EnableIfToggled;

Odin Inspector 系列教程 --- Disable In Play Mode Attribute

Disable In Play Mode Attribute:在play模式下灰态指定属性,editor模式下显示 using Sirenix.OdinInspector;using UnityEngine;public class DisableInPlayModeAttributeExample : MonoBehaviour{[Title("运行模式下禁用属

Odin Inspector 系列教程 --- Hide In Editor Mode Attribute

Hide In Editor Mode Attribute:用于在editor模式中隐藏指定属性,在play模式中显示 using Sirenix.OdinInspector;using UnityEngine;public class HideInEditorModeAttributeExample : MonoBehaviour{[Title("Hidden

Odin Inspector 系列教程 --- Show In Inline Editors Attribute

Show In Inline Editors Attribute:用于在Inline中显示对应的属性 using Sirenix.OdinInspector;using UnityEngine;public class ShowInInlineEditorsAttributeExample : MonoBehaviour{[InfoBox("单击属性值打开一个新的

Odin Inspector 系列教程 --- Hide If Group Attribute

Hide If Group Attribute允许根据条件显示或隐藏一组属性。该属性是组属性,因此可以与其他组属性组合,甚至可以用于显示或隐藏整个组 有组准定有层级,先说单层级,指定的名称既是组的名称,也是对应属性的名称,如果指定的属性的值为true或者不为null,则隐藏对应的组 public bool Toggle = true;[HideIfGroup

Odin Inspector 系列教程 --- Show If Group Attribute

ShowIfGroup允许根据条件显示或隐藏一组属性。该属性是组属性,因此可以与其他组属性组合,甚至可以用于显示或隐藏整个组。 有组准定有层级,先说单层级,指定的名称既是组的名称,也是对应属性的名称,如果指定的属性的值为true或者不为null,则显示对应的组 public bool Toggle = true;[ShowIfGroup("Toggle")]

Odin Inspector 系列教程 --- Hide If Attribute

Hide If Attribute 用于任何属性,并且可以在检查器中隐藏该属性。使用此选项可根据对象的当前状态隐藏不相关的属性。 传一个属性的名称,此属性的值如果为true或者部位null,则隐藏此属性 [HideIf("IsToggled")]public Vector3 HiddenWhenToggled;[HideIf("SomeObject")]pu

Odin Inspector 系列教程 --- Show If Attribute

Show If Attribute用于任何属性,并且可以在检查器中隐藏该属性。使用此选项可根据对象的当前状态隐藏不相关的属性。 这个特性的效果主要是当指定条件满足时,显示对应的属性,默认传入的参数为对应属性的名称,如果为True或者不为null时,显示属性 [ShowIf("IsToggled")]public Vector2 VisibleWhenTogg

Odin Inspector 系列教程 --- Table Column Width Attribute

TableColumnWidth属性用于进一步自定义使用“ TableListAttribute” 绘制的表中的列的宽度。 【Resizable】 控制是否自动调整大小 using Sirenix.OdinInspector;using Sirenix.Utilities.Editor;using System;using System.Collections

Odin Inspector 系列教程 --- List Drawer Settings Attribute

List Drawer Settings Attribute 自定义数组或者列表绘制方式 Odin已经重写对应的数组和列表的绘制 [Title("List Basics")][InfoBox("现在可以拖动列表元素来重新排序并逐个删除它们,并且列表具有分页功能(尝试添加大量元素!)您仍然可以从项目视图一次将许多资产拖到列表中—只需将它们拖到列表本身,并将它们

Odin Inspector 系列教程 --- SearchableAttribute

通过添加SearchableAttribute特性为其添加一个搜索框,可用于搜索对应的类或其子类的成员,但目前不可用于字典类型。 image using Sirenix.OdinInspector;using System;using System.Collections.Generic;using UnityEngine;public class SearchableEx

Odin Inspector 系列教程 --- On Collection Changed Attribute

OnCollectionChanged可以放在集合上,通过inspector更改集合提供事件回调。此外,它提供了CollectionChangeInfo结构,其中包含有关对集合所做的详细更改的信息。但更改其对应Value的内部值是不会进行对应回调的。 image using Sirenix.OdinInspector;using Sirenix.OdinInspector.Ed

Odin Inspector 系列教程 --- On State Update Attribute

StateUpdate可以使用在属性字段上,,属性的状态更新时,OnStateUpdate提供事件回调。回调频率每帧至少发生一次,即使属性不可见,也会调用回调。它相当于自定义一个更新回调函数,并且可以通过@+表达式的形式进行回调。 image using Sirenix.OdinInspector;using System.Collections.Generic;using

【Unity】QFramework通用背包系统优化:使用Odin优化编辑器

前言 在学习凉鞋老师的课程《QFramework系统设计:通用背包系统》第四章时,笔者使用了Odin插件,对Item和ItemDatabase的SO文件进行了一些优化,使物品页面更加紧凑、更易拓展。 核心逻辑和功能没有改动,整体代码量减少了,并且增加了一个复制ItemConfig的小功能。 需要注意: 在ItemConfigGroup的列表中中删除ItemConfig时,应该点红色的X按

敲诈者病毒Odin大面积来袭 360紧急拦截

日前,360互联网安全中心监测到敲诈者病毒Locky的一类新变种在网上大面积爆发。不法分子将该病毒挂马到众多网站的广告位中,用户浏览网页时便自动启动病毒程序,将电脑中的视频、图片、文档等重要数据加密为扩展名为.odin的文件,并进而向用户勒索2.5个比特币的高额赎金(约合人民币11000元)。目前,360安全卫士已经对这类挂马网站做了紧急拦截。   图:360安全卫士拦截Odin敲诈者病毒 作

Odin Inspector 系列教程 --- 常见问题解答(FAQ)

1. Odin多达约90种不同的特性,有可以快速预览每种特性的效果吗? 可以选择Tools/Odin Inspector/Attribute Overview进行快速预览,如果需要更详细的说明,可以查看主页革命性Unity 编辑器扩展工具 --- Odin Inspector 系列教程,配合示例工程服用效果更佳 2. 可以禁用指定的Odin绘制特性吗? Odin