public void ExportAsset(AssetContext asset) { if (!File.Exists(asset.FullPath)) { Debug.LogError("File " + asset.FullPath + " not found"); return; } var texture = AssetDatabase.LoadAssetAtPath <Texture>(asset.AssetPath); _assets.AddTexturePath(texture, asset.UrhoAssetName); var fullCopy = false; foreach (var reference in _textureMetadata.ResolveReferences(texture)) { switch (reference.Semantic) { case TextureSemantic.PBRMetallicGlossiness: { TransformMetallicGlossiness(asset, texture, reference); break; } case TextureSemantic.PBRSpecularGlossiness: { TransformSpecularGlossiness(asset, texture, reference); break; } case TextureSemantic.PBRDiffuse: { TransformDiffuse(asset, texture, reference); break; } default: { if (!fullCopy) { asset.DestinationFolder.CopyFile(asset.FullPath, asset.UrhoAssetName); fullCopy = true; } break; } } } }
public void ExportAsset(AssetContext asset) { var texture = AssetDatabase.LoadAssetAtPath <Texture>(asset.AssetPath); _assets.AddTexturePath(texture, asset.UrhoAssetName); if (asset.UrhoFileName == null) { return; } if (File.Exists(asset.UrhoFileName)) { return; } if (!File.Exists(asset.FullPath)) { Debug.LogError("File " + asset.FullPath + " not found"); return; } Directory.CreateDirectory(Path.GetDirectoryName(asset.UrhoFileName)); File.Copy(asset.FullPath, asset.UrhoFileName); }