Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit d94fa54

Browse files
sharky98ds5678
andauthored
Reintegrate try/catch removed in de7233b (AssetRipper#1865)
* Reintegrate try/catch removed in de7233b * correcting whitespace issue * Update GlbModelExporter.cs --------- Co-authored-by: Jeremy Pritts <[email protected]>
1 parent b452608 commit d94fa54

File tree

1 file changed

+13
-4
lines changed

1 file changed

+13
-4
lines changed

Source/AssetRipper.Export.PrimaryContent/Models/GlbModelExporter.cs

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using AssetRipper.Assets;
22
using AssetRipper.Export.Modules.Models;
3+
using AssetRipper.Import.Logging;
34
using AssetRipper.Processing.Prefabs;
45
using SharpGLTF.Scenes;
56
using SharpGLTF.Schema2;
@@ -31,9 +32,17 @@ public bool Export(IEnumerable<IUnityObjectBase> assets, string path, FileSystem
3132

3233
public static bool ExportModel(IEnumerable<IUnityObjectBase> assets, string path, bool isScene, FileSystem fileSystem)
3334
{
34-
SceneBuilder sceneBuilder = GlbLevelBuilder.Build(assets, isScene);
35-
using Stream fileStream = fileSystem.File.Create(path);
36-
sceneBuilder.ToGltf2().WriteGLB(fileStream, new WriteSettings() { MergeBuffers = false });
37-
return true;
35+
try
36+
{
37+
SceneBuilder sceneBuilder = GlbLevelBuilder.Build(assets, isScene);
38+
using Stream fileStream = fileSystem.File.Create(path);
39+
sceneBuilder.ToGltf2().WriteGLB(fileStream, new WriteSettings() { MergeBuffers = false });
40+
return true;
41+
}
42+
catch (InvalidOperationException ex) when (ex.Message == "Can't merge a buffer larger than 2Gb")
43+
{
44+
Logger.Error(LogCategory.Export, $"Model was too large to export as GLB.");
45+
return false;
46+
}
3847
}
3948
}

0 commit comments

Comments
 (0)