在 Xamarin Android 项目上使用 glTF C# 加载器

Using the glTF C# loader on a Xamarin Android project

我尝试将 NuGet 包 "glTF loader" 用于我的 Xamarin Android C# 项目,但每次我尝试加载模型时:

Gltf model = Interface.LoadModel(mystream);

...我的应用程序崩溃并显示 System.NotSupportedException。

这个loader是win32的吗?有没有其他方法可以导入 3d 模型而无需完全从头开始编写解析器?

我最近在一个项目中使用 SharpGLTF (https://github.com/vpenades/SharpGLTF) 来支持优化管道套件中的 gltf2 文件,该套件在 Android 中包含一个测试应用程序(用 Xamarin.Android 和它工作正常,就目前支持的内容而言)。

即SharpGLTF 确实支持一些扩展,不像 glTF 加载器是一个参考加载器,因此不支持任何扩展),但不支持像 Google Draco 这样的东西,因为它是原生 C++(假设它可以通过 NDK 构建)但是这个应用程序的 glTF无论如何优化管道都没有使用 Draco 模型。

var model = ModelRoot.Load(Path.Combine(playgroundDir, modelName));
// optimize model...
model.SaveGLB(Path.Combine(CacheDir.CanonicalPath, "model.glb"));