首页 > 其他分享 >Odin Inspector教程 | (一)开始使用Odin Inspector

Odin Inspector教程 | (一)开始使用Odin Inspector

时间:2024-08-14 08:57:39浏览次数:15  
标签:教程 设置 Unity 模块 版本 Inspector Odin

在这里插入图片描述

【Odin Inspector and Serializer最新版 免费下载地址


前言

Odin Inspector and Serializer (以下简称Odin Inspector) 是一个功能丰富的 Unity 插件,它主要提供了更强大、更灵活的 Inspector 面板自定义和序列化解决方案。

安装Odin Inspector

  1. 导入包(Import the package)
    如果您通过编辑器内的 Asset Store 窗口导入,请确保您的 Unity 编辑器已正确登录到 Asset Store 帐户。否则,它将导入之前下载的 Odin 版本。

  2. 当API更新程序窗口弹出时,点击"I Made a Backup, Go Ahead!"。
    在这里插入图片描述

  3. 完成。请注意,如果您之前为我们的 DLL 文件设置了自定义程序集导入设置,则必须再次执行此操作。在大多数情况下,Odin 的导入设置是自动化的。

当Odin完成导入后,您将看到"Getting Started"弹出窗口。入门指南入口如下: Tools > Odin Inspector > Getting Started

更新 Odin Inspector

如需要更新 Odin,只需执行相同的过程,Odin 将在导入新版本后自行处理任何必要的升级步骤。

将 Odin 与源代码管理一起使用

Odin与常见的源代码控制系统完全兼容。但是,您可能希望忽略一些事情。

  1. 如果您正在使用 Odin 的序列化器并且正在构建到 AOT 平台,那么建议忽略 Plugins/Sirenix/Assemblies/AOT 文件夹的内容,因为这可能包含您不想在源代码控制系统中跟踪的 AOT 兼容性生成的.dll。当然,这主要是一个偏好问题。
  2. Odin 的所有演示都位于 unitypackages 中,因此用户可以随时解压缩它们并将它们本地放在他们的机器上。因此,也无需将解压缩的演示包含在您的存储库中。

如果您的 Unity 项目的根目录中有一个 .gitignore 文件,那么只需添加以下行以忽略上述文件,如果您已将 Odin 从其默认安装位置移出,请记住调整文件路径。

# Ignore the auto-generated AOT compatibility dll.
/Assets/Plugins/Sirenix/Assemblies/AOT/*

# Ignore all unpacked demos.
/Assets/Plugins/Sirenix/Demos/*

# But keep the demo packages themselves.
!/Assets/Plugins/Sirenix/Demos/*.unitypackage 

Editor Only模式

如果您只对 Odin 的编辑器功能感兴趣,并且不希望 Odin 序列化器成为您构建的一部分,那么您可以:下载我们预配置的Editor Only模式构建,或导航到 Tools > Odin Inspector > Preferences > Editor Only Mode ,然后从那里启用 Editor Only 模式。

启用Editor Only模式将阻止几乎所有的 Odin 包含在您的构建中。唯一将包含的 Odin 代码是小型 Sirenix.OdinInspector.Attributes 程序集,仅包含属性定义。如果您正在使用 IL2CPP, 在 Unity 的代码剥离步骤中,其中许多属性可能会被删除。

您仍然可以在编辑器中使用 Odin 的序列化系统。Editor Only模式仅确保 Odin 的序列化器不会包含在您的构建中。

在这里插入图片描述

将 Odin Inspector 安装为 Unity 包

如果需要,您可以将 Odin 作为 Unity 包安装在项目中。这样做的一些优点是您可以拥有 Odin 仅安装在您计算机上的一个位置,从而减少项目中的混乱。

您可以按照以下步骤通过包管理器成功安装 Odin:

从 GIT 仓库安装 Odin 目前不受官方支持,因为仓库将是只读的,因此程序集升级器不会运行,任何依赖于写入访问权限的 Odin 功能都会中断。

  1. 在 Assets 文件夹之外的任何地方创建一个文件夹,并在其中创建一个package.json文件:
{
   "name": "odininspector",
   "displayName": "OdinInspector",
   "version": "3.0.6",
   "unity": "2018.3",
   "keywords": [
   ],
   "category": "Unity"
}

(请记住将版本字段更新为您作为包安装的 Odin 的任何版本。)
2. 复制 Sirenix 文件夹并将其放入其中。
3. 打开包管理器,找到"Add Package From Disk"按钮。(包管理器窗口左上角的加号按钮。)
在这里插入图片描述

  1. 如果您未在Editor Only模式下运行 Odin,请在项目的 Assets 文件夹下创建一个名为 link.xml 的新文件,并将以下内容添加到该文件中:
<linker>
       <assembly fullname="Sirenix.OdinInspector.Attributes" preserve="all"/>
       <assembly fullname="Sirenix.Serialization.Config" preserve="all"/>
       <assembly fullname="Sirenix.Serialization" preserve="all"/>
       <assembly fullname="Sirenix.Utilities" preserve="all"/>
       <assembly fullname="Sirenix.Serialization.AOTGenerated" preserve="all" ignoreIfMissing="1"/>
</linker>

此步骤将确保 Odin 的程序集不会在 AOT 平台上被 Unity 剥离(剥离会破坏 Odin 的序列化器),这是必要的,因为 Unity 不支持包中的link.xml文件,因此默认情况下会忽略 Odin 包中包含的link.xml文件(请参阅 Unity 的文档)。

以这种方式安装 Odin 时,请记住,使用不同 Unity 版本的不同项目都需要单独的文件夹。
每个 Unity 版本在加载 Odin 包时都会运行程序集升级程序,因此,如果在不同的 Unity 版本之间共享包,这将导致问题。

Odin 模块

在 3.0 中添加到 Odin 的模块系统是一个非常简单、简约的包系统,旨在解决几个问题 Odin 自最初发布以来一直面临的长期挑战。

自发布以来,Odin已经支持了非常广泛的Unity版本,并且一直保持更新以始终支持 已发布的 Unity 最新版本。除此之外,Unity 向基于包的系统的过渡意味着 任何版本的 Odin 都必须与越来越广泛的可能的 Unity 项目设置和版本一起工作并适应它们, 提供不同的包和代码库。

到目前为止,使用某些版本中已有但其他版本中没有的 Unity 功能,或者使用其他版本中的 Unity 功能,需要付出很多努力, 这通常会导致大量使用硬编码反射,其中充斥着错误处理和日志记录。这是必要的 因为没有办法编写直接引用可能不存在的 Unity 功能的代码,也没有开箱即用的功能 有条件地激活或停用使用此类功能的“正常”非反射代码文件的方法。

Odin的核心仍然在这些限制下工作,但对于更大的、独立的系统和组件,我们现在有模块 系统,可以在 Tools > Odin Inspector > Preferences > Modules 下找到。

什么是模块?

模块是一小群文件,它知道它需要运行所需的依赖项,并且可以智能地 提示用户激活它 - 或者可以自动激活它,具体取决于用户的设置 - 当 检测到模块所需的依赖项存在。它还将提示用户停用模块 - 或者再次, 可以自动执行此操作 - 如果应在某个时候删除其依赖项。

因此,模块使我们能够更轻松地为各种 Unity 包或更大的版本依赖功能构建自定义支持 展望未来。作为用户,您对模块的主要体验应该是最小的,您注意到它们的程度取决于您如何注意到它们 配置全局模块设置。
在这里插入图片描述

全局模块设置

您可以调整一些全局设置,以确定模块系统在默认情况下的行为方式。

  • 模块切换: 此控件控制模块系统切换模块的默认行为。如果设置为 Ask,这是默认设置 设置,然后您将收到一个弹出窗口,询问如果模块可以激活但未激活,或者模块不应该激活该怎么办 已激活,但已激活。如果设置为自动(Automatic),则如果出现以下情况,模块将自动激活和停用,而不会提示 它们的依赖项出现或消失。如果设置为手动(Manual),系统既不会询问您有关切换模块的问题,也不会询问您如何切换模块 它自行切换它们 - 您必须进入每个模块的设置并手动激活或停用它。
  • 模块更新: 此控件控制模块系统更新模块的默认行为。如果设置为 Ask,这是默认设置 设置,然后您将收到一个弹出窗口,询问如果模块已激活但已过期该怎么办。如果设置为自动(Automatic),则 模块将自动更新,而不会提示是否有可用更新。如果设置为手动(Manual),则系统不会 询问您有关更新模块的信息,它也不会自行更新它们 - 您必须手动进入每个模块的设置。 决定更新它。

另请注意,每个模块都可以设置为通过更改其激活设置来单独覆盖这些全局设置 介于全局和手动之间。最后,标记为实验性或不稳定的模块永远不会要求自行激活 - 它们 始终选择加入,在所有情况下,您都必须手动激活它们。

Odin Static Inspector

Static Inspector(静态检查器) 允许您选择任何类型,并查看其所有静态成员。您可以检查属性、字段,甚至方法,并完整显示它们的所有参数。您甚至可以按成员类型和名称过滤 Static Inspector 的显示。
如果您是程序员或勇敢的设计师,那么您可能会发现 Static Inspector 在调试和测试期间非常有帮助,因为它将您项目、Unity 和.NET 的整个静态 API 置于您的指尖,无需编码。
在这里插入图片描述

相关视频教程

<iframe allowfullscreen="true" data-mediaembed="bilibili" frameborder="0" id="xMSfg4Je-1723396106537" src="https://player.bilibili.com/player.html?aid=250251863"></iframe>

【unity教程】世界第一宇宙最强编辑器插件Odin【中文字幕】

标签:教程,设置,Unity,模块,版本,Inspector,Odin
From: https://blog.csdn.net/UnityBoy/article/details/141109898

相关文章

  • 【Emacs】使用全教程
    Emacs入门:使用全教程启动Emacs要进入Emacs,只需输入其名称:$emacs:-:-C-z挂起EmacsC-xC-c永久退出Emacs全局描述:-:-C-<key>表示按住控件,然后按<key>M-<key>表示按Esc一次,然后按<key>移动返回向前要移动的实体C-bC-fHaract......
  • Vofa+使用教程
    只要你发送的格式符合要求的话就能把数据画出来,效果如下:当然,也不是随便发个数据就能画的,要遵循某些协议。简单写了两个函数,实现了傻瓜式使用,如下。 #include"vofa.h"//按printf格式写,最后必须加\r\nvoidVofa_FireWater(constchar*format,...){uint8_tt......
  • MySQL使用教程笔记(远程访问)
    远程连接MySQL数据库_mysql远程访问数据库-CSDN博客如何远程连接mysql数据库服务器_mysql如何连接远程数据库服务器_如何连接远程数据库mysql-腾讯云开发者社区-腾讯云(tencent.com)如何使用C#连接远程MySQL服务器?_webrtc_weixin_0010034-MySQL数据库(csdn.net)c#中mysq......
  • 基于springboot的美食推荐菜谱教程管理系统-开题免费【论文、源码】
      博主介绍:......
  • 【Python使用】嘿马python基础入门全体系教程第1篇:目标,计算机组成【附代码文档】
    本教程的知识点为:计算机组成什么是计算机?计算机是由什么组成的?1.硬件系统:2.软件系统:目标运算符的分类1.算数运算符2.赋值运算符3.复合赋值运算符判断语句和循环语句if嵌套1.if嵌套的格式2.if嵌套的应用if嵌套执行流程容器:字符串、列表、元组、字典字符串......
  • 【Unity精品插件】Odin Inspector and Serializer:提升开发效率的利器
    概述OdinInspectorandSerializer是UnityAssetStore上的一款备受好评的工具,专为Unity开发者设计,以提供更强大的属性检查器和序列化功能。自推出以来,它已经获得了超过11,000个五星级评价,并且被85,000多名客户所认可。功能特点1.轻松集成:Odin很容易操作,并且不会打......
  • 正弦和余弦位置编码 - Transformer教程
    正弦和余弦位置编码-Transformer教程在当今的自然语言处理领域,Transformer模型已成为主流。而在Transformer模型中,位置编码(PositionalEncoding)是一个至关重要的概念。本文将深入探讨正弦和余弦位置编码的原理及其在Transformer中的应用。1.位置编码的背景Transformer......
  • 洛谷美化教程
    洛谷那界面太丑了,给大家推荐美化教程edge用户下载篡改猴。Google自行摸索。。。下载UP给的扩展包密码CSDN私聊edge访问:thisgoogle访问:this注意:edge用户请打开拖拽下载的文件进入安装扩展edge和Google会提示安装篡改猴生效图片:背景颜色可打开篡改猴自行修改......
  • 案例分析:GPT系列 - Transformer教程
    大家好,今天我们来聊一聊目前大热的GPT系列模型,以及它背后的核心技术——Transformer。通过这个案例分析,希望能帮助大家更好地理解这一领域的前沿技术。首先,我们需要明白什么是GPT系列模型。GPT,全称为GenerativePre-trainedTransformer,是由OpenAI推出的一系列语言模型。这......
  • Python 栅格数据处理教程(一)
    本文将介绍通过ArcGISPro的Python模块(arcpy)对栅格数据定义投影及裁剪的方法。1数据来源及介绍降水量数据:国家青藏高原科学数据中心的中国1km分辨率逐月降水量数据集。行政区数据:天地图行政区划数据中的吉林省边界面数据,该数据为GeoJSON格式,可通过QGIS等软件将其转换......