54 lines
1.6 KiB
C#
Raw Normal View History

2025-01-09 12:07:19 +08:00
using System.Collections;
using System.Collections.Generic;
using System.IO;
using UnityEditor;
using UnityEngine;
public class SetReadWrite : Editor
{
[MenuItem("Assets/FBX ReadWrite Enable %&r")]
public static void EnableFBXReadWrite()
{
Object[] selectedObjects = Selection.GetFiltered<Object>(SelectionMode.DeepAssets);
foreach (Object obj in selectedObjects)
{
if (obj != null)
{
string path = AssetDatabase.GetAssetPath(obj);
if (Directory.Exists(path))
{
EnableFBXReadWriteInFolder(path);
}
else if (path.EndsWith(".fbx", System.StringComparison.OrdinalIgnoreCase))
{
EnableFBXReadWriteForFile(path);
}
}
}
}
2025-01-10 20:33:28 +08:00
2025-01-09 12:07:19 +08:00
public static void EnableFBXReadWriteInFolder(string folderPath)
{
string[] files = Directory.GetFiles(folderPath, "*.fbx", SearchOption.AllDirectories);
foreach (string file in files)
{
EnableFBXReadWriteForFile(file);
}
}
public static void EnableFBXReadWriteForFile(string filePath)
{
string relativePath = filePath;
ModelImporter importer = AssetImporter.GetAtPath(relativePath) as ModelImporter;
if (importer != null)
{
importer.isReadable = true;
AssetDatabase.ImportAsset(relativePath, ImportAssetOptions.ForceUpdate);
Debug.Log("Enabled Read/Write for: " + relativePath);
}
}
}