private void ReportModel(StringBuilder sb, ModelImporter importer) { sb.Append("{"); AssetsReporterUtils.AddJsonObject(sb, "path", importer.assetPath).Append(","); if (this.isPreviewImage) { var obj = AssetDatabase.LoadAssetAtPath <GameObject>(importer.assetPath); string preview = AssetsReporterUtils.GetAssetPreview(importer, obj, true); AssetsReporterUtils.AddJsonObject(sb, "preview", preview).Append(","); AssetsReporterUtils.AddJsonObject(sb, "vertexNum", AssetsReporterUtils.GetPolygonNum(obj)).Append(","); } AssetsReporterUtils.AddJsonObject(sb, "isReadable", importer.isReadable).Append(","); AssetsReporterUtils.AddJsonObject(sb, "scaleFactor", importer.globalScale).Append(","); AssetsReporterUtils.AddJsonObject(sb, "meshCompression", importer.meshCompression.ToString()).Append(","); AssetsReporterUtils.AddJsonObject(sb, "generateCollider", importer.addCollider).Append(","); #if UNITY_2020_2_OR_NEWER AssetsReporterUtils.AddJsonObject(sb, "materialImportMode", importer.materialImportMode.ToString()).Append(","); AssetsReporterUtils.AddJsonObject(sb, "optimizeMeshPolygons", importer.optimizeMeshPolygons).Append(","); AssetsReporterUtils.AddJsonObject(sb, "optimizeMeshVertices", importer.optimizeMeshVertices).Append(","); // 互換性 AssetsReporterUtils.AddJsonObject(sb, "optimizeMesh", importer.optimizeMeshVertices | importer.optimizeMeshPolygons).Append(","); #else AssetsReporterUtils.AddJsonObject(sb, "importMaterials", importer.importMaterials).Append(","); AssetsReporterUtils.AddJsonObject(sb, "optimizeMesh", importer.optimizeMesh).Append(","); #endif #if UNITY_5_4_OR_NEWER AssetsReporterUtils.AddJsonObject(sb, "normalMode", importer.importNormals.ToString()).Append(","); AssetsReporterUtils.AddJsonObject(sb, "tangentMode", importer.importTangents.ToString()).Append(","); #else AssetsReporterUtils.AddJsonObject(sb, "normalMode", importer.normalImportMode.ToString()).Append(","); AssetsReporterUtils.AddJsonObject(sb, "tangentMode", importer.tangentImportMode.ToString()).Append(","); #endif AssetsReporterUtils.AddJsonObject(sb, "importBlendShapes", importer.importBlendShapes).Append(","); AssetsReporterUtils.AddJsonObject(sb, "objectNum", importer.transformPaths.Length).Append(","); // rig AssetsReporterUtils.AddJsonObject(sb, "animationType", importer.animationType.ToString()).Append(","); AssetsReporterUtils.AddJsonObject(sb, "generateAnimations", importer.generateAnimations.ToString()).Append(","); string srcAvatar = GetAvatarName(importer.animationType, importer.sourceAvatar); AssetsReporterUtils.AddJsonObject(sb, "sourceAvatar", srcAvatar).Append(","); // animation AssetsReporterUtils.AddJsonObject(sb, "importAnimation", importer.importAnimation).Append(","); AssetsReporterUtils.AddJsonObject(sb, "animationCompression", importer.animationCompression.ToString()).Append(","); if (importer.clipAnimations != null && importer.clipAnimations.Length > 0) { ReportModelAnimationClips(sb, importer.clipAnimations); } else { ReportModelAnimationClips(sb, importer.defaultClipAnimations); } // AssetsReporterUtils.AddCountDictionary(rigSet, importer.animationType); AssetsReporterUtils.AddCountDictionary(scaleSet, importer.globalScale); if (!string.IsNullOrEmpty(srcAvatar)) { AssetsReporterUtils.AddCountDictionary(sourceAvatarSet, srcAvatar); } sb.Append("}"); }