5.使用说明
一、ArtEase字段
之前为了方便动态去改规则的内容,所以把一些可配置的东西放在Artease上
- data_key。规则名。只有规则名和分类匹配了,才会打开规则,默认规则关闭。
- desc。规则描述,不影响规则生效。
- condition。一些条件,需要在规则内自行实现这部分逻辑。
- dir。需要检查的文件夹,默认则全部都会检查,最好以/结尾。
- except_dir。跳过的文件夹,以/结尾。例如我想跳过这个文件夹的检查,只需要填上 /Game/ThirdPersonCPP/即可。如果有多个文件夹想跳过,需要以&为分割。例如。 /Game/folder1/&/Game/folder2/
- exception。跳过的文件,需要完整的文件名,例如/Game/ThirdPersonCPP/NewMaterial,多个资源以&分割。
二、本地调试
改完配置文件以后,很容易误上传或者在项目规则库上调试影响其他同学的情况,以下是本地调试的方案。
新增一个方案
避免跟公共规则影响。
修改配置文件
在上图位置可以快速本地修改配置,且不影响插件的文件。
三、界面介绍
配置文件里提到的一个网站跟邮箱,会在通知界面用上。
点击查看规则可以跳转到目标网站。
点击POPO求助可以跳转到相应的同学POPO聊天窗口。
四、检查结果保存
所有的检查规则都会保存在本地Saved文件夹内。
后续上传的时候,可以去读相应的json文件,例如SVN Commit,可以hook pre commit。
如果有FailedLog,则认为是检查不通过,无法上传。
同时保存了文件的引用跟依赖,用于引用缺失的检查。
五、全量检查
Windows端全量检查
首先准备好项目环境,打开插件根目录下的check_all_assets.py,修改ENGINE_PATH和PROJEC_PATH为本地对应路径,然后直接python check_all_assets.py即可在本地运行全量检查
检查完成之后,检查结果保存在项目目录下的Saved/EditorResCheckJsonFile.json
Linux端全量检查
如果项目需要在Linux端上运行全量检查,首先要确保Linux服务器有足够的空间,下面介绍该
1. 编译引擎
首先将项目引擎拉取到Linux服务器,在引擎根目录执行
./Setup.sh
之后运行引擎根目录的GenerateProjectFiles.sh生成项目文件
./GenerateProjectFiles.sh
生成结束后,同样在引擎根目录运行make编译引擎
make
编译成功后,在Engine/Binaries/Linux下会生成二进制文件,这时候就可以在Linux系统上运行引擎了
2. 放入项目文件
有两种方式:
- 直接将项目文件夹上传到Linux服务器,该方式可能会导致需要适配/重新编译的插件过多
- 在本机创建一个默认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根目录下
修改EditorResCheck根目录下的check_all_assets.py
最后直接运行即可
python check_all_assets.py
检查完成之后,检查结果保存在项目目录下的Saved/EditorResCheckJsonFile.json