Bootstrap Chameleon Logo

Configs设置

知己知彼,百战不殆

File Structure中,我们介绍了插件的文件目录结构,这里我们将介绍插件Config目录中的配置文件

TIP
如果发现修改后配置异常,可以在<Your_Project>\Plugins\TAPython\Resources\DefaultPythonSource\TA\TAPython\Config目录中找到默认的Config.ini 文件

Configs

config.ini

UE5 TA\TAPython\Config\config.ini

[Settings]
MenuConfigFilePath=/TA/TAPython/UI/MenuConfig.json
ChameleonDataFolder=/Game/TA/ChameleonTools
PythonContentFolder=/TA/TAPython/Python

[Advanced]
MainbarExtensionHookName=Play
MenusOnToolbarEnabled=True
SketchToolsEnabled=True
MainMenuExtensionHookName=Instrumentation
LogCreateWidget=False
SButtonHorizontalPadding=0
LogOnTickWarnings=False
MaterialEditorMenuExtensionHookName=Instrumentation
LogNumberLimit=10240

CAUTION
注意UE4和UE5的配置并不通用,原因是UE5 修改了界面上的ExtensionHookName,例如:UE4中的HookName: Game在UE5中变为了Play。直接将UE4中的配置项拷贝到UE5中会导致相应的菜单项在界面中无法显示的问题

显示ExtensionHookName

在EditorSetting中,勾选Display UI Extension Point

Displaying UI Extension option in Unreal Editor settings

重启编辑器,即可看到下图中绿色的ExtensionHookName。下图中,TAPython 的菜单项在Instrumentation 之后

A snapshot of 'UI Extension Points' activated

HookName UE4 UE 5
MainbarExtensionHookName Game Play
MainMenuExtensionHookName WindowLayout Instrumentation
MaterialEditorMenuExtensionHookName WindowLayout Instrumentation

具体参数含义如下:

名称 用途
MenuConfigFilePath 工具配置文件的总入口
ChameleonDataFolder 废弃了
PythonContentFolder Python资源的根目录
MainbarExtensionHookName 主工具栏图标位置
MainMenuExtensionHookName 主菜单项创建的位置
MenusOnToolbarEnabled 是否显示主工具栏上的菜单项
SketchToolsEnabled 是否启用Sketch工具,谁会想要关掉这么好的功能呢?Doge
LogCreateWidget=False 是否在Output窗口中输出CreateWidget的信息
SButtonHorizontalPadding UE5中控制整体按钮水平Padding的值,用于避免按钮过小时,按钮文字被空白Padding遮挡
LogOnTickWarnings=False 是否在Output窗口中输出OnTick的警告信息
MaterialEditorMenuExtensionHookName 材质编辑器中菜单创建的位置
LogNumberLimit PythonTestLib中Log缓冲区中Log的数量

LogOnTickWarnings

ChameleonTools has a hidden keyword that has not been mentioned: "OnTick". The python code in it is executed during Slate updates。当前插件中最大的Tick频率是60hz。如果你需要使用OnTick,可以将LogOnTickWarnings设置为False,这样就不会在Output窗口中输出OnTick的警告信息了。注意,请一定只在十分必要的情况下才考虑使用OnTick,并且OnTick中的代码尽量简单,并避免在其中使用logprint,这会导致大量重复信息刷屏。

CAUTION
在95%的情况下Chameleon 工具是用不到OnTick的,这也是这个Warning选项存在的原因。单个Chameleon工具严禁使用超过1个的OnTick,这对Python逻辑是没有意义的

TIP
在后续的TAPython中会以可设置Tick频率的Timer替代OnTick

Plugin_Config.ini

UE5 \Plugins\TAPython\Config\Plugin_Config.ini

[Advanced]
CopyInitialResource=True
名称 用途
CopyInitialResource 是否将初始内容包拷贝到工程目录

当插件启动时,如果在工程目录中找不到"TA"目录,就会将<Your_UE_Project>\Plugins\TAPython\Resources\DefaultPythonSource 目录中的初始资源拷贝到工程目录下,以确保插件能够有基本的功能和正常运行

小结

在本节中,我们介绍了插件的配置文件,如果需要修改菜单项的位置,可以修个各个ExtensionHookName,其他的选项,使用TAPython插件提供的默认值是较为稳妥的选择。