
Unity 自制工具
文章平均质量分 72
查看此专栏可以学习编辑器扩展小技巧,可自制小工具解决在开发中遇到令人头疼繁琐的操作
唐沢
解决各种Unity疑难杂症,可定制Unity工具
展开
-
Unity映射计算器:使用平面投影
MappingCalculate_Plane组件为Unity开发者提供了一种高效可靠的3D到2D坐标转换解决方案。通过清晰的数学实现和丰富的可视化工具,它大大简化了空间映射相关的开发工作。无论是游戏开发、交互设计还是数据可视化,这个组件都能发挥重要作用。相比之前介绍的线性映射组件,这个平面映射版本提供了更全面的空间转换能力,适合需要处理更复杂空间关系的项目。开发者可以根据实际需求选择使用,或者将两者结合实现更高级的空间映射系统。原创 2025-03-27 14:15:17 · 784 阅读 · 0 评论 -
Unity 读Excel,读取xlsx文件解决方案
Unity可以解析Json,但是读取Excel需要插件的帮助,那就把这个功能分离开,读表插件就只管读表转Json,Unity就只管Json解析,中间需要一个存储空间,使用ScriptableObject数据类是个不错的选择。缺点也很明显,我们只能在Unity编辑器模式下使用这个工具,也就是无法在打包后读取Excel,不过我们再也不用担心读表插件出问题了,因为打包后根本用不到读表插件。实现步骤:- 步骤一:Excel数据转换成Json数据- 步骤二:将数据存储到ScriptableObject持久原创 2024-12-26 15:04:40 · 1933 阅读 · 0 评论 -
Unity做一个剪辑声音的工具 在编辑器模式实时剪辑声音
加载音频片段:用户可以通过工具界面选择并加载音频文件。波形显示:工具会生成音频的波形图,以帮助用户可视化音频数据。剪辑操作:用户可以通过滑动条调整音频的起始和结束时间,以便进行剪辑。音量控制:提供音量滑块,用户可以调整音频播放的音量。预览播放:用户可以播放剪辑后的音频片段进行预览。保存剪辑结果:工具支持将剪辑后的音频片段保存为新的音频文件。用户友好:工具通过图形化界面,使得音频剪辑操作直观易用,即使对非程序员用户也非常友好。原创 2024-06-21 11:29:59 · 1406 阅读 · 2 评论 -
Unity 自定义房间布局系统 设计与实现一个灵活的房间放置系统 ——物体占用的区域及放置点自动化
- 自定义物体占用区域的大小- 一键调整占用区域- 调整旋转度数,分四个挡位: - NoRotation:该物体不能调整旋转。 - MaximumAngle:每次转动90°。 - NormalAngle:每次转动45°,效果最好。 - MinimumAngle:每次转动22.5°,很细的调整,如果想要转动到某一个想要的角度比较花时间,但也不是不行。- 禁止垂直旋转(比如花盆,只能进行水平旋转,放置在地上时不能倒立在地上对吧~)- 当物体放置到区域内可自动调整吸附点(六个方位使用的吸附点不同,原创 2024-06-05 10:51:31 · 2247 阅读 · 1 评论 -
Unity 自定义房间布局系统 设计与实现一个灵活的房间放置系统 ——自定义房间区域功能
- 能够自定义房间的大小- 一键生成放置区域- 可控的放置网格点- 当物体放置到区域内可自动吸附- 物体是否可放置,放置时如果与其他物体交叉则不可放置(纯算法计算)- 管理房间内的物体,能够添加或删除房间内的物体- 直观可调整的视觉效果原创 2024-05-30 16:26:19 · 2251 阅读 · 2 评论 -
Unity 游戏开发者必备,如何实现适用于Windows与移动平台双端的轮盘交互式提示菜单?轮盘菜单技术揭秘
在当今游戏开发领域,用户体验已经成为吸引玩家并保持他们的关键因素之一。交互式提示菜单作为游戏界面设计的一部分,正日益受到开发者们的重视。本文将探索交互式提示菜单在游戏界面设计中的创新应用和重要性,以及如何通过它们提升游戏的用户体验。我们将深入了解交互式提示菜单的设计原理、技术实现和最佳实践,并探讨它们对游戏体验的影响。无论您是游戏开发者、界面设计师还是对游戏用户体验感兴趣的读者,本文都将为您揭示交互式提示菜单的奥秘,帮助您打造出色的游戏界面设计。原创 2024-03-19 15:24:01 · 1560 阅读 · 2 评论 -
Unity 3D GridLayoutGroup3D 让子物体对齐,调整子物体间距
脚本是一个用于在 Unity 3D 编辑器中创建 3D 网格布局的实用工具。主要用于在 Unity 编辑器中提供一种可视化的方式来设置和调整子物体的位置,同时支持删除脚本时将物体恢复原位。原创 2024-01-05 16:26:32 · 1932 阅读 · 0 评论 -
Unity汉化一个插件 制作插件汉化工具
在Unity中编写插件一般会用到编辑器扩展 在编辑器扩展中想在Inspector显示自己想要的属性名或者别的什么,就需要用到编辑器扩展的API 把这些固定的API存到一个字典里,例如“EditorGUILayout.PropertyField”,“LabelField”... 我可以尝试先读取我们想要汉化插件的Editor文件夹下的每一个代码的每一行 把每一行的每个字符与字典做一个对比 对比成功就说明此行代码可以被汉化,收集可以被汉化的代码行,然后把可以被汉化的代码行替换成我们想要的代码原创 2023-09-05 20:03:37 · 2849 阅读 · 0 评论 -
Unity 仪表盘制作 自定义表盘的开始结束点 自动匹配指针位置
- 需要定义开始位置与结束位置的值,输入区间值,得到输入值在区间的百分比- 做三个指针,分别代表开始位置,结束位置,输入位置- 把得到的百分比值映射到指针上- 由于有时表盘上表示的密度不同(可能会越来越密集)需要添加一个额外的参数调节- 做好行为约束,指针位置(包括开始结束位置)不能超越范围原创 2022-08-24 11:36:34 · 2686 阅读 · 2 评论 -
Unity截图生成图片 图片生成器 一键生成图片
Unity截图生成图片 图片生成器 一键生成图片。原创 2023-09-22 18:05:22 · 869 阅读 · 1 评论 -
Unity 模拟手电筒光源探测器,AI攻击范围检测区域,视锥内检测物体,扇形区域检测,圆形区域检测,圆锥区域检测
FOV_Angle与FOV_Range分别对应聚光灯的SpotAngle与Range,也会对应调节射线的角度范围。DetectionTags: 只有这个标签的物体可以被检测,而且目标在范围内才会触发射线检测。SpotLight:自动拾取自身的聚光灯组件,调整自身参数也会相应的调整聚光灯的参数。resolution:越密集检测的越精细,发射的射线就越多,消耗性能就越大。文章写的非常的详细,不过根据需求不同,只能检测扇形区域肯定是不够的。Mode:根据需求不同,使用不同的检测模式。原创 2022-06-21 15:07:18 · 2356 阅读 · 1 评论 -
Unity 一键修改场景中的字体,修改部分字体
测试编辑器扩展时顺便做了个小工具,挺有意思选中场景中的物体后就可以一键修改这个物体下所有字体如果什么都不选,就是修改这个场景中的全部字体。原创 2023-05-29 16:07:32 · 1093 阅读 · 2 评论 -
Unity 旋转跟随 任意一个轴看向目标 一个物体始终指向另一个物体
主要用于在编辑器中可视化对象的朝向,同时提供了选择不同轴向的功能。在运行时,物体将根据所选择的轴向朝向目标,并在 Scene 视图中绘制一个带箭头的圆环。原创 2023-12-26 17:59:47 · 1506 阅读 · 0 评论 -
Unity映射计算器:使用直线投影
MappingCalculate_Line是一个功能强大且灵活的Unity组件,它通过简洁的数学计算实现了点与线段的映射关系。组件设计考虑到了易用性和可视化,包含了完整的编辑器扩展,使得开发者可以直观地在场景中调整参数。无论是游戏开发还是交互设计,这个组件都能提供很大的便利。如果你需要在项目中实现基于位置的参数控制,不妨试试这个组件,或者基于它的代码进行扩展,实现更复杂的功能!原创 2023-06-07 11:47:33 · 574 阅读 · 0 评论 -
Unity 制作旋转门 推拉门 柜门 抽屉 点击自动开门效果 开关门自动播放音效 (附带编辑器扩展代码)
对于一个新手来说,这个工具是最好的选择 优点- 挂载就能使用- 控制面板一看就懂(全是中文)- 简单的调试就能获得自己想要的效果- 易懂且易修改的代码 参数- 锁:勾选后不能对门进行操作- 声音:激活时自动播放- 激活:测试开关门- 查看结果位置:按住查看结果,松开返回旋转门的使用不做介绍 推拉门(推拉抽屉):- 起始位置:门的初始位置- 结束位置:门要移动的位置- 得到位置按钮:当你在场景中调整门的...原创 2022-07-01 10:35:37 · 3867 阅读 · 5 评论 -
Unity 3D 制作开关门动画,旋转门制作,推拉门制作,门把手动画制作
开关门,旋转门,推拉门1.开门需要门把手先动,门再动2.关门需要门先动,门把手再动3.中途播放过程中不可以再次进行操作如果这个门可以直接打开的话,就不需要放置"门把手"如果门把手还有钥匙需要旋转,那就可以把钥匙放在门把手的"门把手",理论上是可以无限套娃的可调整参数有:角度,反向,轴向,速度运行时点击Test进行测试上代码Unity 自动移动动画移动途中不可进行操作可调整参数有:距离,反向,方向,速度,单次循环搞!不会真的有人想要Demo吧......原创 2022-06-14 17:07:32 · 7209 阅读 · 1 评论 -
Unity 贴图自动匹配材质工具 贴图自动添加到材质球工具 材质球匹配贴图工具 Substance Painter制作的贴图自动匹配材质球工具
有的同学可能会问:模型制作好,在模型设置里先解压贴图,再解压材质不就行了?当然可以,不过现在解决的是模型没有贴图,贴图都是在SP里做的,导出来都是单独的贴图,不会直接和模型绑定总之,你自己一个一个往材质球上贴也没啥问题,我是觉得贴的太痛苦了,来一个模型我得拿来贴贴贴…贴个der.编辑器扩展就能解决很多手动的问题.贴图名称必须是:模型名称_材质球名称_贴图类型文件 - 导出贴图 - 配置里需要这样命名属性这里可以修改默认后缀这里设置名称规则:objName + “_” + mat.name + m_原创 2022-07-05 10:06:30 · 4788 阅读 · 8 评论 -
Unity 3D 游戏通用系统设置页面,自定义按键设置,背景虚化,图像设置,亮度对比度饱和度音量调节,分辨率窗口化,帧率垂直同步,抗锯齿,阴影质量,纹理质量设置
本文章包含所有代码及UI结构整个页面的父物体SettingPanel上挂载管理代码,用于获取设置页面中所有的功能按钮,拖动条,下拉框等,做一个单例以便其他Panel获取.有三个按钮有二级页面,所以还需要分别写三个Panel管理代码管理不同的页面,他们都有一个相同点,打开关闭(渐变)激活状态等,所以把这些功能写道一个代码里作为他们的父物体,先抛开需求如何实现,这些数据必须是要保存的,不能打开游戏又需要重新设置一遍,需要创建一个数据保存类,其功能就是,保存数据(保存到本地),读取数据,默认数据等…,可以在关闭页原创 2022-08-03 17:07:16 · 4946 阅读 · 2 评论 -
Unity UI自适应 Image自适应宽高 Text自适应宽高
自适应Image与Text为什么要写这个因为Unity自带的自适应功能限制性太大,想自己对UI做一些事情,挂上Unity自带的自适应基本上啥都干不了.自己写的只会在调用时进行自适应自适应之前自适应之后上代码加载出来的图片可能与Image的宽高不符,用这个代码可以解决 /// <summary> /// 自适应Image,不考虑高度,如果图片比父物体要宽,图片将会自适应 /// </summary> //原创 2021-06-25 10:29:52 · 3221 阅读 · 3 评论 -
Unity 窗口制作 调整窗口大小 动态调整UI大小 窗口拖拽 UI拖拽
Unity 简易窗口:首先咱们看一下是不是自己想要的效果组件可调整参数:下面是同比例缩放的调整效果,如果只是缩放这个窗口里面的内容,这个是个不错的选择资源链接: 下载地址.原创 2021-12-23 16:25:45 · 3888 阅读 · 3 评论 -
Unity 3D 制作贴纸,模型任意形状贴画制作,简易贴花工具,撞击模型凹凸效果
首先这个工具必须是运行状态才能进行,因为原理就是用的Rigidbody撞击物体位移改变顶点可以看出来如果模型的顶点太,多生成的碰撞点也会变多,每个碰撞点都有Rigidbody和碰撞器,肯定会造成卡顿.我们暂且不考虑这个问题,因为我们最终要的是变形后的模型.我们用这个方法来更新当前模型顶点的状态.但是每帧都进行更新肯定会造成卡顿,因为每帧都会把碰撞点位置信息赋值给顶点,这样肯定不行,我们选择在碰撞时进行更新,而且每个碰撞点也就只能调用一次.好的,到此为止我们要的效果已经出来了,可以贴到任何模型上了!原创 2022-06-11 15:02:05 · 2348 阅读 · 0 评论 -
Unity 模拟系统提示功能,制作提示框定时消失,不同类型的提示效果
- 这里用到了对象池,时间一到便要回收提示框,再次使用要置顶显示内容- 每个提示框都可以修改颜色,内容,存在的时间等信息- Scroll View能够根据内容的多少进行自适应高度原创 2022-12-29 14:21:47 · 1780 阅读 · 2 评论 -
Unity 3D 观察物体 旋转查看物体 世界坐标与局部坐标旋转转换 旋转物体问题
之前得到一个需求,需要查看物体的破损状况与标牌的过期情况.也就是需要360°查看物体,还需要有一个聚焦功能查看标牌.移动好限制,可以控制具体的位置信息.详情可查看我之前写的位置限制功能 => Unity简单的摄像机控制代码,第三人称,第一人称,场景漫游旋转可不像位置一样有具体的位置信息,旋转过了360就会重0继续增加,还有万向锁的问题,关于万向锁我这里不过多解释,网上有很多解析所以我自己做了一个控制物体旋转的小工具(包含聚焦功能).为了避免穿模,聚焦与查看整个物体模式有不同的限制.可以根据自身情原创 2022-06-08 17:08:27 · 1811 阅读 · 6 评论 -
Unity UGUI制作字幕滚动效果,长字幕左右来回滚动
当文字长度小于边框时保持在边框的中间,长度大于边框时来回滚动。代码是根据RectTransform的宽高或位置进行自适应。代码使用了动态添加组件,确保组件能正常使用。原创 2023-04-03 17:05:50 · 2253 阅读 · 2 评论 -
Unity简单的摄像机控制代码,第三人称,第一人称,场景漫游
Unity简单的摄像机控制代码,第三人称,第一人称,场景漫游第一人称与第三人称场景漫游第一人称与第三人称是我最常用的代码,挂到摄像机上面直接可以用,记得放入目标点Targetusing UnityEngine;public class CameraControls : MonoBehaviour{ const string INPUT_MOUSE_SCROLLWHEEL = "Mouse ScrollWheel"; const string INPUT_MOUSE_X = "Mo原创 2021-06-23 17:00:17 · 7989 阅读 · 9 评论