mirror of
https://github.com/vrm-c/UniVRM.git
synced 2026-08-22 02:24:57 -05:00
meta, expressionAvatar, expression の extract を復旧
This commit is contained in:
@@ -85,124 +85,5 @@ namespace UniVRM10
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
// public void ExtractMeta()
|
||||
// {
|
||||
// this.ExtractAssets<UniVRM10.VRM10MetaObject>(MetaDirName, ".asset");
|
||||
// var metaObject = this.GetExternalUnityObjects<UniVRM10.VRM10MetaObject>().FirstOrDefault();
|
||||
// var metaObjectPath = AssetDatabase.GetAssetPath(metaObject.Value);
|
||||
// if (!string.IsNullOrEmpty(metaObjectPath))
|
||||
// {
|
||||
// EditorUtility.SetDirty(metaObject.Value);
|
||||
// AssetDatabase.WriteImportSettingsIfDirty(metaObjectPath);
|
||||
// }
|
||||
// AssetDatabase.ImportAsset(assetPath, ImportAssetOptions.ForceUpdate);
|
||||
// }
|
||||
|
||||
// public void ExtractExpressions()
|
||||
// {
|
||||
// this.ExtractAssets<UniVRM10.VRM10ExpressionAvatar>(ExpressionDirName, ".asset");
|
||||
// this.ExtractAssets<UniVRM10.VRM10Expression>(ExpressionDirName, ".asset");
|
||||
|
||||
// var expressionAvatar = this.GetExternalUnityObjects<UniVRM10.VRM10ExpressionAvatar>().FirstOrDefault();
|
||||
// var expressions = this.GetExternalUnityObjects<UniVRM10.VRM10Expression>();
|
||||
|
||||
// expressionAvatar.Value.Clips = expressions.Select(x => x.Value).ToList();
|
||||
// var avatarPath = AssetDatabase.GetAssetPath(expressionAvatar.Value);
|
||||
// if (!string.IsNullOrEmpty(avatarPath))
|
||||
// {
|
||||
// EditorUtility.SetDirty(expressionAvatar.Value);
|
||||
// AssetDatabase.WriteImportSettingsIfDirty(avatarPath);
|
||||
// }
|
||||
|
||||
// AssetDatabase.ImportAsset(assetPath, ImportAssetOptions.ForceUpdate);
|
||||
// }
|
||||
|
||||
// public Dictionary<string, T> GetExternalUnityObjects<T>() where T : UnityEngine.Object
|
||||
// {
|
||||
// return this.GetExternalObjectMap().Where(x => x.Key.type == typeof(T)).ToDictionary(x => x.Key.name, x => (T)x.Value);
|
||||
// }
|
||||
|
||||
// public void SetExternalUnityObject<T>(UnityEditor.AssetImporter.SourceAssetIdentifier sourceAssetIdentifier, T obj) where T : UnityEngine.Object
|
||||
// {
|
||||
// this.AddRemap(sourceAssetIdentifier, obj);
|
||||
// AssetDatabase.WriteImportSettingsIfDirty(this.assetPath);
|
||||
// AssetDatabase.ImportAsset(this.assetPath, ImportAssetOptions.ForceUpdate);
|
||||
// }
|
||||
|
||||
// public static void ClearExternalObjects<T>(this ScriptedImporter importer) where T : UnityEngine.Object
|
||||
// {
|
||||
// foreach (var extarnalObject in importer.GetExternalObjectMap().Where(x => x.Key.type == typeof(T)))
|
||||
// {
|
||||
// importer.RemoveRemap(extarnalObject.Key);
|
||||
// }
|
||||
|
||||
// AssetDatabase.WriteImportSettingsIfDirty(importer.assetPath);
|
||||
// AssetDatabase.ImportAsset(importer.assetPath, ImportAssetOptions.ForceUpdate);
|
||||
// }
|
||||
|
||||
// public static void ClearExtarnalObjects(this ScriptedImporter importer)
|
||||
// {
|
||||
// foreach (var extarnalObject in importer.GetExternalObjectMap())
|
||||
// {
|
||||
// importer.RemoveRemap(extarnalObject.Key);
|
||||
// }
|
||||
|
||||
// AssetDatabase.WriteImportSettingsIfDirty(importer.assetPath);
|
||||
// AssetDatabase.ImportAsset(importer.assetPath, ImportAssetOptions.ForceUpdate);
|
||||
// }
|
||||
|
||||
// private static T GetSubAsset<T>(this ScriptedImporter importer, string assetPath) where T : UnityEngine.Object
|
||||
// {
|
||||
// return importer.GetSubAssets<T>(assetPath)
|
||||
// .FirstOrDefault();
|
||||
// }
|
||||
|
||||
// public static IEnumerable<T> GetSubAssets<T>(this ScriptedImporter importer, string assetPath) where T : UnityEngine.Object
|
||||
// {
|
||||
// return AssetDatabase
|
||||
// .LoadAllAssetsAtPath(assetPath)
|
||||
// .Where(x => AssetDatabase.IsSubAsset(x))
|
||||
// .Where(x => x is T)
|
||||
// .Select(x => x as T);
|
||||
// }
|
||||
|
||||
// private static void ExtractFromAsset(UnityEngine.Object subAsset, string destinationPath, bool isForceUpdate)
|
||||
// {
|
||||
// string assetPath = AssetDatabase.GetAssetPath(subAsset);
|
||||
|
||||
// var clone = UnityEngine.Object.Instantiate(subAsset);
|
||||
// AssetDatabase.CreateAsset(clone, destinationPath);
|
||||
|
||||
// var assetImporter = AssetImporter.GetAtPath(assetPath);
|
||||
// assetImporter.AddRemap(new AssetImporter.SourceAssetIdentifier(subAsset), clone);
|
||||
|
||||
// if (isForceUpdate)
|
||||
// {
|
||||
// AssetDatabase.WriteImportSettingsIfDirty(assetPath);
|
||||
// AssetDatabase.ImportAsset(assetPath, ImportAssetOptions.ForceUpdate);
|
||||
// }
|
||||
// }
|
||||
|
||||
// public static void ExtractAssets<T>(this ScriptedImporter importer, string dirName, string extension) where T : UnityEngine.Object
|
||||
// {
|
||||
// if (string.IsNullOrEmpty(importer.assetPath))
|
||||
// return;
|
||||
|
||||
// var subAssets = importer.GetSubAssets<T>(importer.assetPath);
|
||||
|
||||
// var path = string.Format("{0}/{1}.{2}",
|
||||
// Path.GetDirectoryName(importer.assetPath),
|
||||
// Path.GetFileNameWithoutExtension(importer.assetPath),
|
||||
// dirName
|
||||
// );
|
||||
|
||||
// var info = importer.SafeCreateDirectory(path);
|
||||
|
||||
// foreach (var asset in subAssets)
|
||||
// {
|
||||
// ExtractFromAsset(asset, string.Format("{0}/{1}{2}", path, asset.name, extension), false);
|
||||
// }
|
||||
// }
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user