You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

NNModelImporter.cs 923B

1234567891011121314151617181920212223242526272829
  1. using System.IO;
  2. using UnityEditor;
  3. using UnityEngine;
  4. using UnityEditor.Experimental.AssetImporters;
  5. using MLAgents.InferenceBrain;
  6. namespace MLAgents
  7. {
  8. /// <summary>
  9. /// Asset Importer of barracuda models.
  10. /// </summary>
  11. [ScriptedImporter(1, new[] {"nn"})]
  12. public class NNModelImporter : ScriptedImporter {
  13. private const string IconPath = "Assets/ML-Agents/Resources/NNModelIcon.png";
  14. public override void OnImportAsset(AssetImportContext ctx)
  15. {
  16. var model = File.ReadAllBytes(ctx.assetPath);
  17. var asset = ScriptableObject.CreateInstance<NNModel>();
  18. asset.Value = model;
  19. Texture2D texture = (Texture2D)
  20. AssetDatabase.LoadAssetAtPath(IconPath, typeof(Texture2D));
  21. ctx.AddObjectToAsset(ctx.assetPath, asset, texture);
  22. ctx.SetMainObject(asset);
  23. }
  24. }
  25. }