用途:面向 Unity 项目的资源与场景优化,帮助缩减包体、批量压缩资源、分析场景面数与材质用量。
主要能力:优化类
- optimize_textures:设置贴图 maxSize 与压缩,默认 maxTextureSize=2048、enableCrunch=true、compressionQuality=50,可传 filter。
- optimize_mesh_compression:设置模型网格压缩级别,compressionLevel 取 Off/Low/Medium/High,默认 Medium。
- optimize_audio_compression:批量设置音频压缩,compressionFormat 取 PCM/Vorbis/ADPCM(默认 Vorbis),loadType 取 DecompressOnLoad/CompressedInMemory/Streaming(默认 CompressedInMemory),quality 默认 0.5。
- optimize_set_static_flags:为 GameObject 设置静态标记,flags 以逗号分隔,可选 ContributeGI、OccluderStatic、OccludeeStatic、BatchingStatic、ReflectionProbeStatic,以及已弃用的 NavigationStatic 与 OffMeshLinkGeneration;另支持别名 Everything(为五个非弃用项按位或,数值 87)与 Nothing。任一名称无法解析则整次调用失败,携带枚举外位数的原始数字也会被拒绝。可 includeChildren 递归应用到子物体。
- optimize_set_lod_group:添加或配置 LOD Group,lodDistances 为逗号分隔的屏幕相对高度,默认 '0.6,0.3,0.1'。
分析类(只读):optimize_analyze_scene 分析场景性能瓶颈(polyThreshold 默认 10000,materialThreshold 默认 5);optimize_find_large_assets 按阈值(thresholdKB 默认 1024,可指定 assetType、limit)查找大资源;optimize_get_static_flags 读取静态标记;optimize_find_duplicate_materials 查找着色器与属性相同的重复材质;optimize_analyze_overdraw 分析可能造成 overdraw 的透明物体。
使用方式:调用具体技能前应先阅读模块说明或通过 GET /skills/recommend?includeSchema=true 获取参数定义,避免凭名称猜测参数;拿到 schema 后可直接 dryRun。操作模式上,只读分析类技能(标 SkillMode.SemiAuto)直接执行;写型技能(optimize_textures、optimize_mesh_compression、optimize_audio_compression、optimize_set_static_flags、optimize_set_lod_group,默认 SkillMode.FullAuto)需用户 grant,grant 后一步执行并返回结果。
适用场景:缩减包体、批量压缩贴图/网格/音频、排查高面数与材质过多、清理重复材质与透明 overdraw、配置静态批处理标记与 LOD。
限制:模块不含 Delete、PlayMode、Reload 或 RiskLevel=high 类技能;写型技能修改 Importer 与组件设置并会重新导入资源,但不触发 Domain Reload,也不会被 IsForbiddenInSemi 拦截。批量操作前务必检查筛选范围(filter/assetType),改完没有 dry-run 回滚机制。以下名称不存在,勿调用:optimize_scene、optimization_run、optimize_compress、optimize_compress_textures、optimize_compress_meshes、optimize_compress_audio、optimize_set_lod、optimize_setup_lod。profiler 指标应使用 profiler 模块,性能评审指导应加载 performance advisory 模块。确切名称、参数、默认值与返回结果以 GET /skills/schema 或 unity_skills.get_skill_schema() 为准。