Skip to content

5.使用说明

一、ArtEase字段

之前为了方便动态去改规则的内容,所以把一些可配置的东西放在Artease上

  1. data_key。规则名。只有规则名和分类匹配了,才会打开规则,默认规则关闭。
  2. desc。规则描述,不影响规则生效。
  3. condition。一些条件,需要在规则内自行实现这部分逻辑。
  4. dir。需要检查的文件夹,默认则全部都会检查,最好以/结尾。
  5. except_dir。跳过的文件夹,以/结尾。例如image-20220512140858172我想跳过这个文件夹的检查,只需要填上 /Game/ThirdPersonCPP/即可。如果有多个文件夹想跳过,需要以&为分割。例如。 /Game/folder1/&/Game/folder2/
  6. exception。跳过的文件,需要完整的文件名,例如/Game/ThirdPersonCPP/NewMaterial,多个资源以&分割。

二、本地调试

改完配置文件以后,很容易误上传或者在项目规则库上调试影响其他同学的情况,以下是本地调试的方案。

新增一个方案

image-20220512141019458

避免跟公共规则影响。

修改配置文件

image-20220512141106481

在上图位置可以快速本地修改配置,且不影响插件的文件。

三、界面介绍

配置文件里提到的一个网站跟邮箱,会在通知界面用上。

image-20220512141205070

点击查看规则可以跳转到目标网站。

点击POPO求助可以跳转到相应的同学POPO聊天窗口。

四、检查结果保存

所有的检查规则都会保存在本地Saved文件夹内。

后续上传的时候,可以去读相应的json文件,例如SVN Commit,可以hook pre commit。

如果有FailedLog,则认为是检查不通过,无法上传。

同时保存了文件的引用跟依赖,用于引用缺失的检查。

image-20220512141301411

五、全量检查

Windows端全量检查

首先准备好项目环境,打开插件根目录下的check_all_assets.py,修改ENGINE_PATH和PROJEC_PATH为本地对应路径,然后直接python check_all_assets.py即可在本地运行全量检查20230105095237

检查完成之后,检查结果保存在项目目录下的Saved/EditorResCheckJsonFile.json

Linux端全量检查

如果项目需要在Linux端上运行全量检查,首先要确保Linux服务器有足够的空间,下面介绍该

1. 编译引擎

首先将项目引擎拉取到Linux服务器,在引擎根目录执行

./Setup.sh

之后运行引擎根目录的GenerateProjectFiles.sh生成项目文件

./GenerateProjectFiles.sh

生成结束后,同样在引擎根目录运行make编译引擎

make

编译成功后,在Engine/Binaries/Linux下会生成二进制文件,这时候就可以在Linux系统上运行引擎了

2. 放入项目文件

有两种方式:

  1. 直接将项目文件夹上传到Linux服务器,该方式可能会导致需要适配/重新编译的插件过多
  2. 在本机创建一个默认C++项目,替换Content文件夹为需要检查的项目Content文件夹,并将EditorResCheck放到Plugins文件夹下,如果需要运行Python规则,需要同时放入依赖的Python插件(如Nepy),将该项目上传到Linux服务器

在Linux服务器上编译一下插件

/home/zhouxiebo/UnrealEngine/Engine/Build/Batchfiles/RunUAT.sh BuildPlugin -plugin="/home/zhouxiebo/LinuxTest/Plugins/EditorResCheck/EditorResCheck.uplugin" -package="/home/zhouxiebo/Temp/EditorResCheck"

将package目录下的Binaries和Intermediate文件夹复制到项目的EditorResCheck根目录下

20230105114151392

修改EditorResCheck根目录下的check_all_assets.py

20230105114241737

最后直接运行即可

python check_all_assets.py

检查完成之后,检查结果保存在项目目录下的Saved/EditorResCheckJsonFile.json