Preliminary support for plugins. Load all plugins in plugin folder.

This commit is contained in:
Bálint Hodossy
2024-02-18 14:45:54 +00:00
parent ab209c41be
commit c65410a92d
4 changed files with 24 additions and 0 deletions
@@ -50,6 +50,7 @@ public class MjImporterWithAssets : MjcfImporter {
// mjcfString.
var name = Path.GetFileNameWithoutExtension(filePath) + $"{UnityEngine.Random.Range(0,999)}";
string newPath = Path.Combine(Application.temporaryCachePath, $"{name}.xml");
MjEngineTool.LoadPlugins();
_mjModel = MjEngineTool.LoadModelFromFile(filePath);
MjEngineTool.SaveModelToFile(newPath, _mjModel);
Debug.Log($"Imported MJCF loaded, saved to {newPath}");
+5
View File
@@ -284,6 +284,11 @@ public class MjcfImporter {
CreateGameObjectWithCamera(parentObject, child);
break;
}
case "plugin": {
Debug.Log($"Plugin elements are only partially supported.");
break;
}
default: {
Debug.Log($"The importer does not yet support tags <{child.Name}>.");
break;
+8
View File
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 1135ed488170c0444b32c18cc61fb9ef
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
+10
View File
@@ -368,6 +368,16 @@ public static class MjEngineTool {
}
}
}
public static void LoadPlugins() {
if(!Directory.Exists("Packages/org.mujoco/Runtime/Plugins/")) return;
foreach (string pluginPath in Directory.GetFiles("Packages/org.mujoco/Runtime/Plugins/")) {
MujocoLib.mj_loadPluginLibrary(pluginPath);
}
}
}
public static class MjSceneImportSettings {