void OnPreprocessTexture() { TextureImporter importer = assetImporter as TextureImporter; settingsAsset = AssetDatabase.LoadAssetAtPath <AssetsPreProcessor>(path); if (settingsAsset == null || settingsAsset.importActions.Count == 0) { return; } if (File.Exists(importer.assetPath + ".meta")) { //Debug.Log (textureImporter.assetPath + ".meta" + " already exists"); } else { List <int> actionsToApply = FilterActionsToApply(importer.assetPath); if (importer != null) { foreach (int element in actionsToApply) { if (settingsAsset.importActions[element].newImportSettings.overrideTextures) { importer.textureType = settingsAsset.importActions[element].newImportSettings.textureSettings.type; importer.textureShape = settingsAsset.importActions[element].newImportSettings.textureSettings.shape; importer.sRGBTexture = settingsAsset.importActions[element].newImportSettings.textureSettings.sRgb; importer.alphaSource = settingsAsset.importActions[element].newImportSettings.textureSettings.alphaSource; importer.alphaIsTransparency = settingsAsset.importActions[element].newImportSettings.textureSettings.alphaIsTransparency; importer.isReadable = settingsAsset.importActions[element].newImportSettings.textureSettings.readWrite; importer.mipmapEnabled = settingsAsset.importActions[element].newImportSettings.textureSettings.generateMipMaps; importer.mipmapFilter = settingsAsset.importActions[element].newImportSettings.textureSettings.mipMapFilter; importer.mipMapsPreserveCoverage = settingsAsset.importActions[element].newImportSettings.textureSettings.mipMapsPreserveCoverage; importer.fadeout = settingsAsset.importActions[element].newImportSettings.textureSettings.fadeoutMipMaps; importer.wrapMode = settingsAsset.importActions[element].newImportSettings.textureSettings.wrapMode; importer.filterMode = settingsAsset.importActions[element].newImportSettings.textureSettings.filterMode; importer.anisoLevel = settingsAsset.importActions[element].newImportSettings.textureSettings.anisoLevel; importer.maxTextureSize = (int)settingsAsset.importActions[element].newImportSettings.textureSettings.maxSize; // ? textureImporter.resizeAlgorithm = settingsAsset.actions[element].settings.textures.resizeAlgorithm; //textureImporter.textureFormat = settingsAsset.actions[element].settings.textures.quality; importer.textureCompression = settingsAsset.importActions[element].newImportSettings.textureSettings.format; importer.crunchedCompression = settingsAsset.importActions[element].newImportSettings.textureSettings.useCrunchCompression; importer.compressionQuality = settingsAsset.importActions[element].newImportSettings.textureSettings.compressorQuality; } } } } }
void OnPreprocessAudio() { AudioImporter importer = assetImporter as AudioImporter; settingsAsset = AssetDatabase.LoadAssetAtPath <AssetsPreProcessor>(path); if (settingsAsset == null || settingsAsset.importActions.Count == 0) { return; } if (File.Exists(importer.assetPath + ".meta")) { //Debug.Log (audioImporter.assetPath + ".meta" + " already exists"); } else { List <int> actionsToApply = FilterActionsToApply(importer.assetPath); if (importer != null) { foreach (int element in actionsToApply) { if (settingsAsset.importActions[element].newImportSettings.overrideAudios) { AudioImporterSampleSettings sampleSettings = new AudioImporterSampleSettings(); sampleSettings.loadType = settingsAsset.importActions[element].newImportSettings.audioSettings.loadType; sampleSettings.compressionFormat = settingsAsset.importActions[element].newImportSettings.audioSettings.compressionFormat; sampleSettings.quality = ((float)settingsAsset.importActions[element].newImportSettings.audioSettings.quality * 0.01f); sampleSettings.sampleRateSetting = settingsAsset.importActions[element].newImportSettings.audioSettings.sampleRateSetting; sampleSettings.sampleRateOverride = (uint)settingsAsset.importActions[element].newImportSettings.audioSettings.sampleRate; importer.forceToMono = settingsAsset.importActions[element].newImportSettings.audioSettings.forceToMono; importer.loadInBackground = settingsAsset.importActions[element].newImportSettings.audioSettings.loadInBackground; importer.ambisonic = settingsAsset.importActions[element].newImportSettings.audioSettings.ambisonic; importer.preloadAudioData = settingsAsset.importActions[element].newImportSettings.audioSettings.preloadAudioData; // ? audioImporter.normalize = settingsAsset.actions[element].settings.audios.normalize; importer.defaultSampleSettings = sampleSettings; } } } } }
public static AssetsPreProcessor Create_AssetsPreProcessor_Settings() { AssetsPreProcessor asset; if (File.Exists(path)) { asset = AssetDatabase.LoadAssetAtPath <AssetsPreProcessor>(path); } else { asset = ScriptableObject.CreateInstance <AssetsPreProcessor> (); AssetDatabase.CreateAsset(asset, path); AssetDatabase.SaveAssets(); } EditorGUIUtility.PingObject(asset); Selection.activeObject = asset; return(asset); }
void OnPreprocessModel() { ModelImporter importer = assetImporter as ModelImporter; settingsAsset = AssetDatabase.LoadAssetAtPath <AssetsPreProcessor>(path); if (settingsAsset == null || settingsAsset.importActions.Count == 0) { return; } if (File.Exists(importer.assetPath + ".meta")) { //Debug.Log(modelImporter.assetPath + ".meta" + " already exists"); } else { List <int> actionsToApply = FilterActionsToApply(importer.assetPath); if (importer != null) { foreach (int element in actionsToApply) { bool useImportSettings = true; if (settingsAsset.importActions[element].newImportSettings.overrideModels) { // MESHES //if (settingsAsset.importActions[element].newImportSettings.modelSettings.useMeshesCustom) { importer.globalScale = settingsAsset.importActions[element].newImportSettings.modelSettings.scaleFactor; importer.useFileUnits = settingsAsset.importActions[element].newImportSettings.modelSettings.useFileScale; //modelImporter.fileScale = settingsAsset.actions[element].settings.models.fileScale; importer.meshCompression = settingsAsset.importActions[element].newImportSettings.modelSettings.meshCompression; importer.isReadable = settingsAsset.importActions[element].newImportSettings.modelSettings.readWriteEnabled; importer.optimizeMesh = settingsAsset.importActions[element].newImportSettings.modelSettings.optimizeMesh; importer.importBlendShapes = settingsAsset.importActions[element].newImportSettings.modelSettings.importBlendShapes; importer.addCollider = settingsAsset.importActions[element].newImportSettings.modelSettings.generateColliders; importer.keepQuads = settingsAsset.importActions[element].newImportSettings.modelSettings.keepQuads; importer.weldVertices = settingsAsset.importActions[element].newImportSettings.modelSettings.weldVertices; importer.swapUVChannels = settingsAsset.importActions[element].newImportSettings.modelSettings.swapUvs; importer.generateSecondaryUV = settingsAsset.importActions[element].newImportSettings.modelSettings.generateLightmapUvs; //} // NORMALS & TANGENTS //if (settingsAsset.importActions[element].newImportSettings.modelSettings.useNormalsCustom) { importer.importNormals = settingsAsset.importActions[element].newImportSettings.modelSettings.normals; importer.normalSmoothingAngle = settingsAsset.importActions[element].newImportSettings.modelSettings.smoothingAngle; importer.importTangents = settingsAsset.importActions[element].newImportSettings.modelSettings.tangents; //} // MATERIALS //if (settingsAsset.importActions[element].newImportSettings.modelSettings.useMaterialsCustom) { importer.importMaterials = settingsAsset.importActions[element].newImportSettings.modelSettings.importMaterials; //} // RIG //if (settingsAsset.importActions[element].newImportSettings.modelSettings.useRigCustom) { importer.animationType = settingsAsset.importActions[element].newImportSettings.modelSettings.animationType; //} // ANIMATIONS //if (settingsAsset.importActions[element].newImportSettings.modelSettings.useAnimationsCustom) { importer.importAnimation = settingsAsset.importActions[element].newImportSettings.modelSettings.importAnimation; //} } } } } }
void OnEnable() { asset = AssetDatabase.LoadAssetAtPath <AssetsPreProcessor>(path); }