BelieveXiaoShuai / PluginHub

PluginHub是一款Unity3D编辑器插件开发框架,并包含了一些已开发完成的插件模块。 每个模块实现一个方面的功能。旨在为您提供各式各样的功能,以加速开发效率。 PluginHub is a Unity3D editor plugin development framework, and contains some developed plugin modules.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

项目介绍

PluginHub是一款用IMGUI编写的Unity3D编辑器插件开发框架,并包含了一些已开发完成的插件模块。您可以使用这些开发完成的插件模块提高您的工作效率,也可以自己开发插件模块。

每个模块实现一个方面的功能。旨在为您提供各式各样的功能,以加速开发效率。感谢您点击右上角的Star以支持我的工作。

PluginHub is a Unity3D editor plugin development framework and contains some developed plugin modules.

Each module implements a functional aspect. The purpose is to provide you with various functions to accelerate development efficiency. Thank you for clicking the Star in the upper right corner to support my work.

PluginHubUnity3D中以PluginHub窗口的形式呈现,您可以在窗口中查看和使用所有模块的功能,也可以在PluginHub配置文件中启用或禁用模块。

PluginHub is presented in the form of a PluginHub window in Unity3D. You can view and use the functions of all modules in the window, and you can also enable or disable modules in the PluginHub configuration file.

中文视频教程:https://www.bilibili.com/video/BV1H94y1a79d/

若您发现PluginHub中的任何问题,欢迎提交IssuePull Request

PluginHub主窗口

模块配置页面

名词

  • PluginHubWindow:一个Unity3D编辑器窗口,所有插件模块UI都在这个窗口中呈现(见PluginHubWindow类)。打开PluginHubWindow的快捷键是Ctrl+Alt+R
  • 插件模块:对应PluginHubWindow中的每个下拉卷展栏,实现一个方面的功能。也称作Module,基类为PluginHubModuleBase
  • ModuleConfigSO:一个ScriptableObject配置文件,用于配置您需要启用的模块,启用的模块会在PluginHubWindow中显示。见ModuleConfigSO

特点

  • 模块之间分类清晰,简单易用。可以通过每个模块的卷展栏按钮折叠和展开模块。
  • 提供多种方便的模块功能,您也可以开发自己的模块,只需继承PluginHubModuleBase类即可。
  • 可以通过ScriptableObject配置文件启用或禁用模块,以定制您干净整洁的PluginHubWindow
  • 包含完整源代码,您可以自由扩展和修改功能模块。

安装与使用

已经过测试的Unity3D版本:2021.3.x 以上。更老的版本可能也可以使用,但是未经测试,可能会有API不兼容的情况。

  1. 将存储库克隆到本地
  2. Unity3D中打开Package Manager窗口
  3. 点击+按钮,选择Add package from disk...
  4. 选择PluginHub文件夹中的package.json文件
  5. 等待Unity3D导入完成
  6. 导航到Window->PluginHub 或者 Ctrl+Alt+R打开PluginHubWindow窗口
  7. PluginHubWindow窗口中展开模块的下拉卷展栏
  8. 开始使用
  9. 如果想要定制您的PluginHubWindow,请导航到PluginHub\Resources\PH_ModuleConfigSO.asset,在检视面板中启用或禁用模块

已完成开发的模块

这里只介绍一些常用且成熟稳定的模块,更多模块请自行查看源码。

CommonComponentModule

将场景中经常使用的、重要的GameObject统一到一个窗口中,方便您随时选择他们。也能根据场景相机的位置自动为您选择最近的GameObject

BuildModule

为用户提供一键打包功能,支持多平台。

构建项目:与PlayerSettings中的构建按钮功能相同。

构建当前场景:与构建项目类似,区别是exe执行文件和打包目录使用当前场景名称命名。

仅构建当前场景:程序会先在构建设置中取消勾选其他场景,只保留当前场景,以仅将当前场景打进包中,并且exe执行文件和打包目录使用当前场景名称命名。(也可指定其他名称)

SceneModule

可以查看项目中的所有场景资产,并可以进行过滤筛选。例如您可以输入Main来查找所有文件名中包含Main的场景。 方便用户快速定位到场景资产。

SelectionModule

功能围绕选中的Object展开。

例如:如果选中的是场景中的Mesh对象,模块会在场景视图中展示长宽高的数据。

ShaderDebuggerModule

可以用该模块吸取场景中的颜色值,颜色值能够以0-1的浮点数和0-255的整数两种形式显示。便于Shader调试。

ReferenceFinderModule

引用查找和替换。

一个使用场景是,您制作了一个新材质,想要将项目中所有使用旧材质的物体替换为新材质。

另一个使用场景,您想要查找项目中所有使用了某个Shader的物体。或者您想要知道自己是否可以安全的删除某个Shader

AlignModule

想要将场景中的物体对齐到某个物体上?这个模块可以帮助您。

例如将灯模型对齐天花板,将桌子模型对齐到地面。

也可以以指定的距离和方向移动物体。

TextureProcessModule

在URP或HDRP中,通常材质要求使用一张纹理的多个通道来提供不同的信息。例如:HDRP中金属度和光滑度使用同一张纹理的不同通道来提供。

这时候您可以使用该模块将两张纹理中指定的通道合并为一张纹理。

又例如您下载到的是Roughness纹理,但是Unity通常需要的是Smoothness纹理,这时候您可以使用该模块将Roughness纹理转换为Smoothness纹理。(Roughness=1-Smoothness)

LightProbePlacementModule

程序化控制LightProbe的放置,节约您的时间。

MaterialOptimizationModule

快速提取嵌入式材质

以名称相同、主纹理相同、名称相似的条件搜索场景中类似的材质,为您减少DrawCall的后续操作提供参考。

将场景中所有对旧材质的引用替换为新材质。

MaterialReplaceModule

使用给定材质替换场景中所有材质。不会破坏场景,可以随时还原。

MeshToHeightModule

模块会用竖直向下投射射线的方式,将任意Mesh转换为HeightMap,可用于生成地形图等场景。

About

PluginHub是一款Unity3D编辑器插件开发框架,并包含了一些已开发完成的插件模块。 每个模块实现一个方面的功能。旨在为您提供各式各样的功能,以加速开发效率。 PluginHub is a Unity3D editor plugin development framework, and contains some developed plugin modules.

License:MIT License


Languages

Language:C# 100.0%