Unity编辑器功能Inspector快捷自动填充数据和可视化调试

Unity编辑器拓展 阅读详情

我们有时候可能需要在面板增加一些引用,可能添加脚本后要手动拖动,这样如果有大量的脚本拖动也是不小的工作量

实例

例如:我的脚本需要添加一个Bone的列表,一个个拖动很麻烦。
在这里插入图片描述

在这里插入图片描述

实现脚本

我们可以用这样的脚本来实现。

public class FingerDyBone : MonoBehaviour
{
    public DynamicBoneCollider[] boneArray = null;

#if UNITY_EDITOR
   
    [ContextMenu("加入所有碰撞体")]
    private void MenuAddBone()
    {
        boneArray = GetComponentsInChildren<DynamicBoneCollider>();
        UnityEditor.EditorUtility.SetDirty(this);
    }
    void OnValidate()
    {
        Debug.Log("OnValidate");
        if (boneArray == null) MenuAddBone();
    }
#endif
}

ContextMenu是菜单,添加这个可以手动调用函数。
在这里插入图片描述
如果手动麻烦还可以自动添加,那么可以借助OnValidate函数,在添加脚本或者改变属性的时候会自动执行。解决这个原理就可以在添加脚本的时候自动添加。

最终效果

在这里插入图片描述
那么这样就比较事半功倍了。

调试显示

我们还可以通过OnDrawGizmos显示一些常用的图形
例如:
在这里插入图片描述

通过OnDrawGizmos方法,使用Gizmos画各种图形

 void OnDrawGizmos()
{
    Transform[] bornPoint = GetComponentsInChildren<Transform>();
    for (int i = 0; i < bornPoint.Length; i++)
    {
        Gizmos.color = Color.yellow;
        Gizmos.DrawWireSphere(bornPoint[i].position, 0.15f);
        Gizmos.color = Color.white;
        Gizmos.DrawLine(bornPoint[i].position, bornPoint[i].position + Vector3.up);
        Gizmos.color = Color.blue;
        Gizmos.DrawLine(bornPoint[i].position, bornPoint[i].position + Quaternion.Euler(bornPoint[i].eulerAngles) * Vector3.forward * 0.5f);
    }
}
Unity编辑器扩展利器:Odin Inspector插件核心功能与实战应用指南 在Unity开发中,编辑器扩展是提升工作流效率的关键技术。通过属性绘制器(Property Drawer)和序列化系统,开发者可以定制Inspector界面,实现更直观的数据配置与可视化编辑。这项技术的核心价值在于将繁琐的UI代码编写转化为声明式的配置,显著降低开发者的心智负担,让团队能更专注于游戏逻辑本身。其应用场景广泛,尤其适合需要大量数据配置的游戏项目、工具开发以及需要与策划、美术紧密协作的生产管线。本文将以热门的Odin Inspector插件为例,深入解析如何通过其丰富的Attribute系统,快 阅读详情

相关推荐

Unity编辑器增强插件:提升开发效率的模块化工具包

在Unity开发中,编辑器扩展是提升工作流效率的关键技术。通过自定义编辑器脚本和工具,开发者可以优化界面交互、自动化重复任务,从而将精力聚焦于核心逻辑与创意实现。其技术价值在于系统性填补官方编辑器在长期使用中暴露的效率洼地,实现开发环境的个性化定制。这一理念广泛应用于游戏开发、资源管理、团队协作等场景,尤其适合需要处理批量操作、复杂资产依赖分析的项目。本文探讨的Editor Enhancers Bundle正是这一理念的实践,它通过模块化设计提供界面布局定制、批量处理工具等核心功能,帮助开发者构建更顺手、高

weixin_30301449的博客 755

【Unity】Editor常用

持续更新中。。 预制 新预制系统说明 Scene Mode Prefab Mode Hierarchy 里操作的对象本质 Prefab Instance 实例 Assets里的UnityEngine.Object文件 Apply 保存过程 从Instance写入到Asset里的Prefab文件 直接操作Assets里的Prefab文件 SetDirty 脚本修改Prefab上的对象 EditorUtil..

PA_的博客 4273

Unity编辑器定制与插件开发实战指南

编辑器扩展是游戏开发中提升效率的关键技术,通过自定义Unity编辑器界面和功能,开发者可以构建专属工具链。其核心原理是利用EditorWindow、CustomEditor等API对开发环境进行深度定制,实现自动化流程和可视化调试。这种技术能显著减少重复劳动,在角色动画配置等场景中可将操作时间从2小时缩短至15分钟。典型的应用包括批量重命名工具、增强型Inspector界面以及场景视图交互插件。掌握编辑器开发技巧,配合ScriptableObject数据持久化和异步处理等进阶方案,能够为大型游戏项目带来指数

weixin_29022115的博客 252

2024-02-12 Unity 编辑器开发之编辑器拓展3 —— EditorGUI

​ EditorGUI 类似 GUI,是用于绘制编辑器拓展 UI 的工具类,提供 GUI 中没有的 API(主要是编辑器功能中会用到的一些特殊控件)。​ EditorGUILayout 类似于 GUILayout,是带有自动布局功能的 EditorGUI 绘制工具类。通常,会将 EditorGUI 和 GUI 混合使用来制作编辑器拓展功能。但由于用到自动布局功能,因此接下来着重介绍 EditorGUILayout 中的功能。EditorGUI 和它的区别仅仅是需要自己设置位置而已。

zheliku的博客 3756

Unity编辑模式与播放模式调试全解析:从原理到实战技巧

在游戏开发中,调试是定位和修复问题的核心环节,其本质是通过观察程序运行状态、分析数据流和控制逻辑来诊断错误。Unity引擎作为主流开发工具,其调试体系基于两种核心模式构建:编辑模式与播放模式。理解这两种模式的底层运行机制差异,是高效调试的技术基础。编辑模式作为静态的“装配车间”,允许开发者直接修改和验证项目资产与配置,适合进行数据验证、编辑器脚本调试和场景设计;而播放模式则模拟了动态的“测试跑道”,创建了独立的运行时实例,用于测试游戏逻辑、交互和性能。掌握这两种模式的调试技巧,能帮助开发者精准定位问题阶段,

djai0102的博客 342

Unity特效轨迹可视化:基于DOTween与贝塞尔曲线的编辑器内路径编辑系统

在游戏开发中,特效轨迹的实现通常涉及复杂的数学参数调整与程序协作。贝塞尔曲线作为计算机图形学中描述平滑曲线的核心工具,通过少量控制点即可定义丰富形态,是构建子弹轨迹、魔法飞弹路径等动态效果的理想选择。其原理在于通过锚点与控制点的插值计算,生成连续的路径点序列。在Unity引擎中,结合DOTween这一高性能补间动画插件,开发者可以将计算出的路径点序列转化为流畅的路径动画,实现所见即所得的编辑体验。这种技术方案的核心价值在于将抽象的曲线参数转化为可视化的编辑器资产,极大地提升了特效迭代效率与团队协作流畅度。本

weixin_33895657的博客 344

Unity Editor编辑器扩展之创建脚本

既然你看到这篇文章了,你是否也有需要使用代码创建脚本的需求?使用编辑器扩展工具根据不同的表格或者新增的内容去创建你想要的脚本。如果不使用工具,那么你只能不断去修改某个脚本,这项工作既繁琐也浪费时间。这个时候作为程序员的我们就要自己写一个工具节省时间了,那么恰好unity editor可以帮助我们实现这个工具,接下来往下看👇。

ThreePointsHeat的博客 1478

Unity数据可视化实战:三步掌握XCharts图表插件

数据可视化是现代软件开发中的核心需求,它通过图形化手段将抽象数据转化为直观的视觉信息,帮助用户快速理解数据模式和趋势。其原理在于将数据映射到视觉元素(如位置、长度、颜色),并利用人眼对图形的高效感知能力传递信息。这项技术在游戏开发、工业监控、商业智能等领域具有重要价值,能够显著提升数据分析效率和决策质量。在Unity引擎中,原生UI系统处理复杂动态图表时存在局限,而XCharts作为一款专业的UGUI图表插件,提供了从折线图、柱状图到饼图等丰富类型,支持高度自定义和实时数据更新。通过其清晰的Series与C

weixin_34347651的博客 317

unity编辑器&&c#脚本

1.编辑器窗口再介绍 1.1添加对象 1.2文件夹的管理 1.3参数的设置 1.4对象的移动方式 2.对于外形和材质的修改 2.1对于外形的修改 2.2对于材质的修改 3.添加有趣的组件 3.1如何添加组件 3.2添加刚体组件 3.3碰撞器的介绍 3.4添加c#组件 3.5c#脚本代码的说明

大学成长道路上的探索经历与点滴思考,与君共勉,共筑成长。 2564

Unity编辑器效率革命:QHierarchy插件深度配置与实战指南

在Unity游戏开发中,场景管理是项目组织和迭代效率的核心环节。Hierarchy面板作为场景结构的可视化载体,其原生功能在对象数量激增时往往显得力不从心,导致开发者在查找、识别和批量操作对象时效率低下。通过引入编辑器扩展插件,可以深度增强Hierarchy的信息密度与交互能力,将隐藏的组件类型、对象状态和层级关系进行可视化编码,从而显著降低开发者的认知负荷。这类工具的核心技术价值在于不侵入运行时逻辑,纯粹在编辑器层面实现生产力倍增,尤其适用于UI密集型、3D大场景或团队协作项目。QHierarchy作为此

weixin_34198762的博客 438

别再为CAD和GIS数据对不上而头疼了!一份完整的ArcGIS for AutoCAD坐标系定义与数据套合指南

本文详细介绍了如何通过ArcGIS for AutoCAD插件解决CAD与GIS数据坐标系不匹配的问题,实现数据的精准套合。文章从坐标系冲突分析、插件核心功能解析到五步标准化工作流,提供了完整的解决方案,帮助工程师和设计师提升跨平台协作效率。

weixin_42531886的博客 217

Unity MCP:用AI助手控制Unity编辑器的终极指南

你是否曾想过,如果能用自然语言告诉AI助手"创建一个3D场景,添加角色控制器,再设置一些灯光效果",然后AI就能自动帮你完成这些Unity开发任务?现在,这一切已经成为现实!Unity MCP(模型上下文协议)正是这样一个革命性工具,它让AI助手能够像人类开发者一样直接操作Unity编辑器,为你带来前所未有的开发效率提升。 ## 为什么选择Unity MCP?🚀 Unity MCP的核心价值

gitblog_00333的博客 999

SAP 接口测试操作-业务顾问

业务顾问测试接口操作

weixin_43657667的博客 5163

Unity编辑器界面与核心概念详解:从Scene视图到Prefab预制体

在游戏开发与交互式内容创作中,理解编辑器界面与核心概念是构建项目的基础。编辑器作为数字内容创作的核心工具,其界面布局遵循模块化设计原则,通过视图分离(如Scene视图用于场景编辑、Game视图用于运行预览)实现高效的工作流。这种设计背后的技术价值在于提升开发效率、降低认知负荷,使开发者能够专注于逻辑与创意实现。在实际应用场景中,无论是开发独立游戏、建筑可视化还是工业仿真,掌握编辑器核心组件如Hierarchy层级管理、Inspector属性调试及Project资源管理都至关重要。本文聚焦Unity引擎,深入

a359798678的博客 400

YOLOv5轻量化实战:从Ghost模块到工业级部署的完整指南

本文详细介绍了YOLOv5轻量化实战,重点解析了Ghost模块在工业检测中的应用及其优化策略。通过Ghost卷积技术,模型参数量和GFLOPs显著降低,同时保持高精度,适用于实时性要求严格的工业场景。文章还提供了从模型优化到TensorRT加速的完整部署指南,助力开发者实现高效工业级应用。

weixin_28223453的博客 489

活用QueryWrapper与@Select注解,构建MybatisPlus动态多表查询方案

本文深入探讨了如何结合MybatisPlus的QueryWrapper与@Select注解,构建高效灵活的动态多表关联查询方案。通过解析${ew.customSqlSegment}占位符机制,并设计通用的Service层封装,解决了复杂条件下多表查询的SQL拼接难题,显著提升了后台管理系统列表查询的开发效率与可维护性。

weixin_29291069的博客 271

Unity Attribute特性全解析:从序列化控制到自定义编辑器扩展

在C#编程中,Attribute(特性)是一种为代码元素添加声明性元数据的机制,它通过反射机制在运行时提供附加信息。这一特性在Unity引擎中得到了深度集成和扩展,成为连接代码逻辑与编辑器工作流的关键桥梁。其技术价值在于能够统一数据验证、序列化规则和运行时行为,显著提升开发效率和代码可维护性。在Unity开发的应用场景中,Attribute广泛应用于Inspector面板美化、组件依赖管理、代码执行控制以及编辑器扩展开发。通过掌握序列化控制类如[SerializeField]和[Range],以及依赖管理类

weixin_33841503的博客 389

Linux内核vmlinuz文件:了解和编程

vmlinuz文件是Linux操作系统中的内核镜像文件。它包含了Linux内核的压缩版本,用于引导和启动操作系统。vmlinuz文件通常是一个zImage格式的压缩内核镜像,其中包含了操作系统所需的核心功能和驱动程序。vmlinuz文件的名称可能会因Linux发行版和版本而有所不同,但它们的作用是相同的。在某些发行版中,vmlinuz文件可能被重命名为vmlinux或bzImage。

PixelDyno的博客 1352

Unity初学者肯定能用得上的50个小技巧

《Unity初学者肯定能用得上的50个小技巧》本博客基于Unity2018.4.36版本+Visual Studio2017版本,总结了本人在工作学习中使用Unity和写脚本的50个超实用小技巧。对于Unity新手来说掌握这些技巧一般也能熟练使用Unity编辑器了;对于Unity初级开发者来说,掌握这些脚本开发技巧,对于提升开发效率是有一定的事半功倍的效果的。......

他在试图用代码书写这个世界,字里行间温柔尽显。勿忘初心,努力做有价值的技术文章。 5224

3D扩散模型的构建与优化:多模态融合在三维物体生成中的作用【附核心代码实例】

随着技术的发展,基于扩散模型的3D内容生成已经成为一个激动人心的领域。通过不断优化扩散模型的结构和算法,结合多模态信息、视角控制和高效网络架构,未来的3D生成技术将不仅能够生成逼真的物体,还能满足虚拟现实、游戏设计、电影制作等行业对高质量、实时生成的需求。

一键难忘的博客 2864

YOLOv26与其他目标检测算法的对比分析

本文对YOLOv26与其他主流目标检测算法进行了全面对比分析。YOLOv26在COCO数据集上达到96.0% mAP@0.5和79.0% mAP@0.5:0.95,显著优于其他YOLO系列算法,同时保持85FPS的推理速度和35MB的轻量级模型。相比两阶段算法(如Faster R-CNN),YOLOv26在速度、模型大小和内存占用方面优势明显;相比Anchor-free算法(如CenterNet),YOLOv26在速度和模型压缩方面更优。其核心创新包括动态锚框分配、自注意力机制和轻量级设计,使其成为适用于复

一键难忘的博客 997

SanAndreasUnity编辑器工具:10个提升GTA式开放世界开发效率的核心技巧

在游戏开发领域,编辑器工具是提升项目效率的关键基础设施,其核心原理在于通过自动化、可视化手段将重复性劳动转化为高效的工作流。对于开放世界这类资产密集、系统复杂的项目,专用编辑器工具的技术价值尤为突出,它能将数据配置、场景搭建、任务设计等环节系统化,大幅降低开发门槛。SanAndreasUnity(SAU)作为Unity社区中针对《圣安地列斯》风格项目的工具集,其编辑器工具正是这一理念的实践,通过预制体变体管理、数据驱动配置、批量笔刷涂抹等核心功能,为开发者提供了从资产导入到场景填充、从数据配置到任务编辑的完

weixin_34413802的博客 527

第8章 - 异构系统的协同控制及最优控制 --> 最优控制

异构系统的协同控制及最优控制 --> 协同控制

赵继超的笔记 2260

Unity编辑器界面解析与高效开发技巧

Unity编辑器作为游戏开发的核心工具,其模块化界面设计遵循可视化开发逻辑。Scene视图、Hierarchy面板等核心区域构成三维开发环境,组件化架构则实现功能模块的自由组合。通过掌握快捷键操作与布局优化策略,开发者能显著提升工作效率。针对新手常见的界面卡顿问题,合理配置色彩空间与资源管线设置可确保流畅开发体验。本文深入解析Unity编辑器布局原理,并分享Hierarchy面板层级优化、Project窗口资源分类等实战技巧,帮助开发者快速构建标准化工作流。

weixin_30737899的博客 334

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Unity Meta XR SDK快捷配置工具:Building Block与Quick Action实战指南

在XR(扩展现实)开发中,高效配置交互环境是提升生产力的关键。其核心原理在于通过模块化封装,将复杂的底层API调用和对象关联转化为直观的配置参数。这种做法的技术价值在于大幅降低开发门槛,减少重复劳动和配置错误,使开发者能聚焦于创意逻辑而非基础搭建。典型的应用场景包括快速原型验证、小型项目开发以及新手入门学习。本文聚焦于Unity平台下Meta XR SDK的高效开发实践,深入解析了如何利用Building Block(积木式组件)实现即插即用的物体交互,以及通过Quick Action(快速动作)一键完成场

weixin_30455023的博客 347

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

02_Unity小窍门100条(中)

Unity使用过程中的一些小窍门总结

dagongrenxiaoqi的博客 517
上一篇: Unity将4个纹理图拼接成1个纹理
下一篇: Unity Timeline学习笔记(1) - 创建TL和添加动画片段
Thinbug
博客等级 码龄22年 2万+粉丝 187原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Thinbug

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值