1#pragma warning disable CS0105
5#if UNITY_2020_2_OR_NEWER
12 [ScriptedImporter(1,
new[] {
"ply",
"stl",
"3mf" })]
19 var assetLoaderOptions = AssetLoader.CreateDefaultLoaderOptions(
true);
20 if (userData !=
null && userData !=
"null")
22 EditorJsonUtility.FromJsonOverwrite(userData, assetLoaderOptions);
24 return assetLoaderOptions;
26 set => userData = EditorJsonUtility.ToJson(value);
29 public override void OnImportAsset(AssetImportContext assetImportContext)
32 var assetLoaderContext = AssetLoader.LoadModelFromFileNoThread(assetImportContext.assetPath, OnError,
null, assetLoaderOptions, assetImportContext);
33 if (assetLoaderContext.RootGameObject !=
null)
35 assetImportContext.AddObjectToAsset(
"Main", assetLoaderContext.RootGameObject);
36 assetImportContext.SetMainObject(assetLoaderContext.RootGameObject);
37 foreach (var allocation
in assetLoaderContext.Allocations)
39 if (
string.IsNullOrWhiteSpace(allocation.name))
41 allocation.name = allocation.GetType().Name;
43 assetImportContext.AddObjectToAsset(allocation.name, allocation);
48 private static void OnError(IContextualizedError contextualizedError)
50 var exception = contextualizedError.GetInnerException();
51 if (contextualizedError.GetContext() is IAssetLoaderContext assetLoaderContext)
53 var assetImportContext = (AssetImportContext)assetLoaderContext.Context.CustomData;
54 if (assetLoaderContext.Context.Options.ShowLoadingWarnings)
56 assetImportContext.LogImportError(exception.ToString());
60 Debug.LogError(exception.ToString());
TriLibCore.AssetLoaderOptions AssetLoaderOptions
override void OnImportAsset(AssetImportContext assetImportContext)