资讯
展览资讯 大型展会 灯光节 大型盛典 赛事 中标捷报 产品快讯 热门话题 艺术节 活动 演出 新闻 数艺报道 俱乐部签约
观点
大咖专访 观点洞察 书籍推荐 吐槽 设计观点 企业访谈 问答 趋势创新 论文 职场方法 薪资报价 数艺专访
幕后
幕后故事 团队访谈 经验分享 解密 评测 数艺访谈
干货
设计方案 策划方案 素材资源 教程 文案资源 PPT下载 入门宝典 作品合集 产品手册 电子书 项目对接
  • 0
  • 0
  • 0

分享

5.2/5.3新功能User ToolBox

2023-12-07

学习用User ToolBox(UTB)插件轻松自定义编辑器

 

User ToolBox概览


User ToolBox是什么?


User ToolBox(用户工具箱)是一款插件,可以让用户创建包含不同命令的面板。借助User ToolBox,用户可以将常用命令放在一处,自定义虚幻引擎编辑器。


这款插件专门设计用于满足不同用户的特定需求,允许用户将散布在引擎各处的工具集中在一起。


显示UTB选项卡的方式有三种:

  • 在新建面板窗口中显示(窗口->用户工具箱->你的用户工具箱)

  • 在视口侧边栏菜单中显示(可使用控制台命令“UserToolbox.LevelViewportOverlay”刷新视口)

  • 在内容侧滑菜单中显示(可使用控制台命令“UserToolbox.RefreshDrawer”刷新内容侧滑菜单)


插件中已内置一部分实用命令,但用户也可以使用蓝图或C++创建自己的命令,自定义命令按钮的用户界面,以满足相应目的。


如何启用插件?


User Toolbox5.2版本开始在虚幻引擎中发布,分两个插件:

  • UserToolboxBasicCommand(用户工具箱基础命令:包含默认命令)

  • UserToolboxCode(用户工具箱代码:包含框架



工作原理


安装并激活插件后,用户需要右键单击内容浏览器,创建新的“选项卡”。


新建的选项卡将显示在“窗口(Windows)/用户工具箱(UserToolbox)”菜单中:


现在,双击内容浏览器中的选项卡资产可打开选项卡编辑器。若选项卡已打开,可以点击选项卡右上角的钥匙图标。


选项卡编辑器


选项卡编辑器包含用于构建自定义工具箱的所有内容。简单来说,其中包含选项卡的所有属性以及设置命令的分段。


选项卡细节

  • 名称(Name):选项卡名称

  • 活动(Active):显示在“窗口/用户工具箱”中的活动选项卡

  • 列数(Column Count):用于自定义选项卡UI的属性

  • 选项卡UI(Tab UI):可用自定义选项卡UI列表。默认情况下包含1个原始UI和4个基于编辑器工具栏的其他UI

  • 默认命令UI覆盖(Default Command UI Override):这一属性可用于改变当前选项卡中显示的每个命令的默认UI。注:如果一个命令UI是在命令细节中指定的,它将覆盖本参数中设置的UI

选项卡分段


此面板用于管理选项卡的分段,用户可以创建、删除和重命名分段。

“隐藏(Hidden)”分段较为特殊,可以在其中设置在选项卡中不可见,但可供其他命令使用的命令(例如复合和切换命令)。

命令列表


此面板用于显示所有可用命令。命令可以用蓝图或C++代码创建。如果启用“UserToolboxBasicCommand”插件,将会显示一系列命令。


当前分段面板


这是当前分段中的命令列表。它们拥有自己的属性值(可在命令细节面板中设置这些属性)

要在分段中添加新的命令,可将命令从命令列表面板拖到当前分段面板中。 

右键单击此面板中的命令可将该命令复制到另一选项卡/分段中。

命令细节


选中分段中的命令后,用户可通过设置参数等,自定义该命令实例。

有些命令属性是所有命令都有的,比如:
  • 名称(Name):显示的命令名称

  • 图标路径(Icon Path):此命令附带的图标,只有通过图标跟踪器注册的图标才可用

  • 工具提示(Tooltip):命令的工具提示

  • 显示参数(Show Parameters):如勾选,用户可以通过选项卡,在执行命令前修改命令属性

  • 格式(Format):对UI的提

  • 键盘快捷键(Keyboard shortcut):用户可以为命令设置快捷键

  • UI覆盖(UI Override):用户可以利用这个属性改变UI


其他属性取决于命令类型,例如,控制台命令有一个属性包含要执行的控制台命令。

注:“显示参数”选项非常有用,因为它允许用户在执行命令时修改命令属性。以按大小选择Actor的命令为例。不需要为各种尺寸创建对应的命令,只需要勾选“显示参数”,每次点击命令时,系统就会提示你设置期望的大小。和内置的“按筛选条件选择Actor(Select Actor By Filter)”命令一起使用还可以发挥更大的作用,这个命令允许你结合不同筛选条件来选择Actor。

创建新命令


自定义命令可通过以下两种方式实现:

使用蓝图

右键单击内容浏览器,在“用户工具箱(UserToolbox)”菜单中创建命令蓝图:

在蓝图编辑器中:
  • 编辑类默认值,设置命令名称等

  • 通过实现命令事件来实现自定义命令


使用C++


要使用C++创建新命令,需要将类“/script/usertoolboxcore.UUTBBaseCommand”设为子类。要实现命令,需要覆盖函数“UUTBBaseCommand::Execute()”

这是实现新命令和在命令列表中显示该命令要做的全部工作。

如果想在勾选“显示参数”的情况下,在命令执行时自定义提示,还可以覆盖函数“UUTBBaseCommand::DisplayParameters”。


如何添加图标


为了轻松添加新的命令图标,我们提供了一种新资产叫做“图标跟踪器(IconTracker)”,右键单击内容浏览器就可以创建这种资产。

在这个资产中,你可以添加图标文件夹的路径,指定该文件夹中图标的大小。该文件夹中的每个图标将根据文件名创建一个图标ID。为避免ID重复,你可以为每个文件夹或每个图标跟踪器资产添加前缀,从而给图标名称添加前缀以生成ID。

对于每个图标跟踪器来说,Usertoolbox子系统会扫描文件夹,确保图标可以在命令细节面板中获取。如果想在UMG中使用图标(例如,使用命令自定义UI),可以使用图标笔刷:

如何自定义命令UI


要想自定义命令UI,首先要创建一个UMG控件,再将它设为UTBCommandUMGUI.Reparenting的子项。该控件允许你使用“获取命令(Get Command)”和“执行命令(Execute Command)节点”。 

要想限制自定义UI的使用范围,仅限特定命令使用,可以覆盖函数“Does support Class”,过滤命令类。

如何自定义选项卡


要想自定义选项卡UI,需要将类“UUTBDefaultUITemplate”设为子类,实现以下函数:


TSharedPtr BuildTabUI(UUserToolBoxBaseTab* Tab);


TSharedPtr BuildCommandUI(UUTBBaseCommand* Command,IUTBUICommand* ui);

 
以下为四种默认实现。

 

部分内置命令


复合命令


目前有两种复合命令,分别是“复合命令(Composite Command)”和“切换命令(Toggle Command)”。复合命令的特殊之处在于,它们在属性中使用了其他命令。因此,使用的命令也应该属于选项卡,最好将它们放在“隐藏分段”。


复合命令可以在一次执行中依次执行多个命令。


切换命令可以在每次执行函数时执行一组命令或一次执行一个命令。

这两个命令都有一个“内联”版本,允许你将嵌入命令直接定义到函数的参数中。


将复合命令与切换命令相结合可以创建更复杂的命令。


控制台指令


这是最基础的命令,但功能非常强大。它允许你在User Toolbox中执行控制台命令,因此能用控制台命令完成的操作都可以用User Toolbox完成。


执行Python脚本


顾名思义,此命令可以用于执行Python脚本。


选项卡生成器


如有可能,此命令可用于从编辑器生成特定选项卡。


按筛选条件选择Actor


此命令只存在于User Toolbox中,可用于叠加筛选条件(用户可在蓝图中创建自定义筛选条件),创建强大的选择工具。



阅读原文

* 文章为作者独立观点,不代表数艺网立场转载须知

本文内容由数艺网收录采集自微信公众号虚幻引擎 ,并经数艺网进行了排版优化。转载此文章请在文章开头和结尾标注“作者”、“来源:数艺网” 并附上本页链接: 如您不希望被数艺网所收录,感觉到侵犯到了您的权益,请及时告知数艺网,我们表示诚挚的歉意,并及时处理或删除。

数字媒体艺术 新媒体艺术 科技艺术

7762 举报
  0
登录| 注册 后参与评论