Search Unity

  1. Looking for a job or to hire someone for a project? Check out the re-opened job forums.
    Dismiss Notice
  2. Unity 2020 LTS & Unity 2021.1 have been released.
    Dismiss Notice
  3. Good news ✨ We have more Unite Now videos available for you to watch on-demand! Come check them out and ask our experts any questions!
    Dismiss Notice

GLTFUtility - A simple glTF plugin

Discussion in 'Assets and Asset Store' started by Siccity, Apr 1, 2019.

  1. Siccity

    Siccity

    Joined:
    Dec 7, 2013
    Posts:
    245
    Ideally should support all render pipelines. But I don't test other than the default, so you will have to test and report potential issues.
     
  2. Umresh

    Umresh

    Joined:
    Oct 14, 2013
    Posts:
    55
    Hey, have you added support for draco compression?
     
  3. hawken

    hawken

    Joined:
    Aug 22, 2013
    Posts:
    574
    got URL loading working with the following code:

    Code (CSharp):
    1. using System.Collections;
    2. using System.Collections.Generic;
    3. using UnityEngine;
    4. using Siccity.GLTFUtility;
    5. using UnityEngine.Networking;
    6. public class ModelLoader : MonoBehaviour
    7. {
    8.     string objectUrl = "http://yourwebsite.com/Duck.gltf";
    9.     string objectName = "duck_from_url.gltf";
    10.     public void OnLoadTest()
    11.     {
    12.         StartCoroutine(ImportObjectFromURL());
    13.     }
    14.     IEnumerator ImportObjectFromURL()
    15.     {
    16.         WWW www = new WWW(objectUrl);
    17.         yield return www;
    18.         string writePath = Application.dataPath + "/gltf_files/" + objectName;
    19.         System.IO.File.WriteAllBytes(writePath, www.bytes);
    20.         yield return new WaitForSeconds(1);
    21.         ImportGLTFAsync(writePath);
    22.     }
    23.     void ImportGLTFAsync(string filepath) {
    24.         Importer.ImportGLTFAsync(filepath, new ImportSettings(), OnFinishAsync);
    25.     }
    26.     void OnFinishAsync(GameObject result, GLTFAnimation.ImportResult[] air) {
    27.         Debug.Log("Finished importing " + result.name);
    28.     }
    29. }
     
    marck_ozz and polytropoi like this.
  4. hawken

    hawken

    Joined:
    Aug 22, 2013
    Posts:
    574
    Siccity likes this.
  5. Siccity

    Siccity

    Joined:
    Dec 7, 2013
    Posts:
    245
    I took a look at both models. I'm not sure why the grass model doesn't import correctly. As far as I can see, everything in the .gltf file is supported already.

    The mccree model comes in all black because the model uses 'KHR_materials_unlit', which is not supported yet. I also noticed that the meshes themselves load in correctly, but the transforms in the hierarchy are very weirdly set up, and this might confuse GLTFUtility.

    Both of these models need to be supported and support for KHR_materials_unlit needs to be added.
     
  6. hawken

    hawken

    Joined:
    Aug 22, 2013
    Posts:
    574
    I am now testing with a simple cube.
    http://hawkenking.com/client/modelloader/test_cube.gltf

    I'm not entirely sure why it comes in distorted either, when dragging the model into an online viewer, it works ok here:
    https://gltf-viewer.donmccurdy.com/

    and validates fine here:
    https://github.khronos.org/glTF-Validator/

    but I get a distorted result here, the same as in GLTFUtility:
    https://pissang.github.io/clay-viewer/editor/

    I tried exporting a simple cube from blender and it works fine.
    http://hawkenking.com/client/modelloader/blender_cube.gltf
     
    Last edited: Apr 2, 2020
  7. jhocking

    jhocking

    Joined:
    Nov 21, 2009
    Posts:
    792
    This sounds very useful for working gltf, so I can't wait to try it out. Just one clarification: does this support export or only import? The feature list on github has export with unchecked boxes, so I'm assuming that means it's on your roadmap but isn't implemented yet.
     
  8. DJNicky

    DJNicky

    Joined:
    Jul 17, 2017
    Posts:
    1
    It looks like all C4D exported models get distorted. The same models being exported to .gltf by other programs do seem to work
     
  9. hawken

    hawken

    Joined:
    Aug 22, 2013
    Posts:
    574
    I'm trying to reach out to them to support vertex colors so maybe it's something they can look at, the output qualifies as standard compliant... maybe it's the order of the output?
     
  10. Fangh

    Fangh

    Joined:
    Apr 19, 2013
    Posts:
    98
    EDIT : I FOUND THE ANSWER HERE

    Hello.
    I do this on PC and it's working :
    2020-05-28 18_32_34-Zukurri (Debugging) - Microsoft Visual Studio.png

    But when launch the app on my iPad, I got this error (value cannot be null (shader)) :
    upload_2020-5-28_18-33-39.png

    It may have something to do with this
    upload_2020-5-28_18-40-50.png
     
    Last edited: May 28, 2020
    Siccity likes this.
  11. Siccity

    Siccity

    Joined:
    Dec 7, 2013
    Posts:
    245
    Fangh likes this.
  12. arronbbo

    arronbbo

    Joined:
    Jan 14, 2017
    Posts:
    4
    Hi Siccity, I have a question about GLTFUtilities and shadows and maybe you could clarify. I'm having an issue with gltfutilities selecting the Standard Transparency (Metallic/Specular) shader variants for materials that don't need it and would be better off with the Standard non-transparent variants, and this is an issue particularly regarding shadow culling.

    upload_2020-6-10_19-4-23.png

    This is an example of shadow culling on the GLTFUtlities Standard shader variants

    upload_2020-6-10_19-5-36.png

    This is an example of a basic cube that was assigned the Standard Transparent (Metallic) shader. This issue being the assigning of the transparent shader leaves us very little options regarding lighting and shadow culling for an otherwise opaque object.

    I believe this might stem from how GLTFUtilities determines what shader to assign, and it appears to assign a shader depending on the alphaMode determined in as part of the import task results. I can't see what logic it uses to determine the alphaModa of an imported material.

    upload_2020-6-10_19-12-13.png
    Here is a target obj we tried to load.

    upload_2020-6-10_19-12-37.png
    Here is the target object as it was loaded in-scene, you can see we have a bit of an issue with the obj being assigned the Transparent (Metallic) shader. I'm guessing it because parts of the imported combined mesh are in-fact supposed to be transparent so it assigns the Transparent shader Mesh to the entire material?

    upload_2020-6-10_19-15-31.png
    Here's an example with the Standard shader applied, also fixing our issues with shadow culling early.

    Anyways it would help greatly if we could figure out a way around this issue, so let me your thoughts if I'm missing something, or if there/s something that can be fixed your side regarding the assigning of shader or the culling of shadows on the transparent shaders, I would really appreciate it, thanks!

    And keep up the good work!
     
  13. Siccity

    Siccity

    Joined:
    Dec 7, 2013
    Posts:
    245
    GLTFUtility loads the transparent shader if the GLTF file says it requires it. Otherwise, the opaque shader is loaded. It surely looks like materials that should have been exported with opaque materials though. Can you send me the test file so I can see what's in it?
     
  14. arronbbo

    arronbbo

    Joined:
    Jan 14, 2017
    Posts:
    4
  15. Siccity

    Siccity

    Joined:
    Dec 7, 2013
    Posts:
    245
    Looking in the .gltf file exported by sketchfab, i can see that the body (Boden) material has alphaMode set to BLEND. This makes GLTFUtility use a transparency shader.
    upload_2020-6-11_16-50-12.png
     
  16. arronbbo

    arronbbo

    Joined:
    Jan 14, 2017
    Posts:
    4
    Okay, so these issues would have to be addressed on the artists side, and I now understand utilities reads straight from the file, thanks!
     
  17. arronbbo

    arronbbo

    Joined:
    Jan 14, 2017
    Posts:
    4
    Would it be possible to do something with the transparent shaders to prevent shadow culling?
     
  18. jonaslindberg

    jonaslindberg

    Joined:
    Nov 28, 2017
    Posts:
    5
    I'm running into issues loading any GLTF file from disk during runtime when textures needs to be loaded.

    Code I'm running:
    GameObject model = Importer.LoadFromFile(aPathInMyAssetFolderOrElsewhereOnMyDisk);


    Console says:
    Invalid AssetDatabase path: /Users/me/Library/Application Support/DefaultCompany/ProjectName/Files/GLTF_Models/Model/texture.jpg. Use path relative to the project folder.


    It doesn't matter if the gltf is within our outside the project folder.

    As well as:
    GLTFImage.cs ToTexture2D() ERROR: Cannot connect to destination host UnityEngine.Debug:LogError(Object) Siccity.GLTFUtility.<CreateTextureAsync>d__3:MoveNext() (at Assets/Plugins/GLTFUtility-master/Scripts/Spec/GLTFImage.cs:65) Siccity.GLTFUtility.<GetTextureCached>d__3:MoveNext() (at Assets/Plugins/GLTFUtility-master/Scripts/Spec/GLTFTexture.cs:29) Siccity.GLTFUtility.<CreateMaterial>d__5:MoveNext() (at Assets/Plugins/GLTFUtility-master/Scripts/Spec/GLTFMaterial.cs:166) Siccity.GLTFUtility.<CreateMaterial>d__14:MoveNext() (at Assets/Plugins/GLTFUtility-master/Scripts/Spec/GLTFMaterial.cs:42) Siccity.GLTFUtility.<OnCoroutine>d__4:MoveNext() (at Assets/Plugins/GLTFUtility-master/Scripts/Spec/GLTFMaterial.cs:318) Siccity.GLTFUtility.ImportTask1:RunSynchronously() (at Assets/Plugins/GLTFUtility-master/Scripts/Importer.cs:161) Siccity.GLTFUtility.Importer:LoadInternal(GLTFObject, String, Byte[], Int64, ImportSettings, AnimationClip[]&) (at Assets/Plugins/GLTFUtility-master/Scripts/Importer.cs:205) Siccity.GLTFUtility.Importer:ImportGLTF(String, ImportSettings, AnimationClip[]&) (at Assets/Plugins/GLTFUtility-master/Scripts/Importer.cs:141) Siccity.GLTFUtility.Importer:LoadFromFile(String, ImportSettings, AnimationClip[]&, Format) (at Assets/Plugins/GLTFUtility-master/Scripts/Importer.cs:32) Siccity.GLTFUtility.Importer:LoadFromFile(String, Format) (at Assets/Plugins/GLTFUtility-master/Scripts/Importer.cs:16) FirebaseGLTFLoader:LoadModel(String) (at Assets/FirebaseGLTFLoader.cs:77) FirebaseGLTFLoader:DebugMethod() (at Assets/FirebaseGLTFLoader.cs:26)


    I realise that this might be down to user error but if so I'd be happy to be corrected on how to use this tool correctly!

    I can't understand how to run Importer.LoadFromFile with a local path that perhaps would make
    UnityEditor.AssetDatabase.LoadAssetAtPath()
    happy...

    Example of a file that I have this issue with (I have not found any that works): https://github.com/KhronosGroup/glTF-Sample-Models/tree/master/2.0/TextureCoordinateTest/glTF

    Also posted as an issue here: https://github.com/Siccity/GLTFUtility/issues/79 but realised I might have better luck getting an answer here.
     
  19. Siccity

    Siccity

    Joined:
    Dec 7, 2013
    Posts:
    245
    in the import settings you should be able to override which shaders GLTFUtility uses. If doing runtime, there should be an import method override that takes some options that can do the same.
     
  20. Siccity

    Siccity

    Joined:
    Dec 7, 2013
    Posts:
    245
    Sorry for the late response. This sounds like a bug in the runtime import process which needs to be fixed.
     
  21. DerrickBarra

    DerrickBarra

    Joined:
    Nov 19, 2013
    Posts:
    188
    @Siccity Hey Siccity! I've been working with a company called DGG that has a tool called RapidCompact, they let us optimize our GLTF files with both Draco and KTX2 textures.

    I have the opportunity to create GLTF files with both of those two optimizations, so I figured I would ask their team to take some un-optimized models from Sketchfab and convert them over so you can use them when researching or working on adding support.



    This sketchfab model has like 50+ textures, and after optimization, we create a single 4k atlas color map. And the Rapid Compact tool is generating a GLTF with both Draco and KTX2, which you can download here.

    Now I haven't actually found a GLTF Viewer or tool that can actually import this file, if you know of one feel free to let me know!

    If you can think of anything you'd like to me to throw through this optimizer tool let me know.

    FUTURE EDIT: For anyone wondering, integrate KTXUnity & DracoUnity from atteneder with GLTFUtility to add support for these enhancements
     
    Last edited: Feb 19, 2021
  22. TheJavierD

    TheJavierD

    Joined:
    Jan 6, 2017
    Posts:
    42
    Hi!, and thanks for your work!. I do use your importer, I like it.

    I just updated the code from a very old version that I had running, and I found that the latest code on github ends up in an infinite loop when trying to load a model Synchronously


    private static GameObject LoadInternal() is where the infinite loop happens, specifically in:


    GLTFMaterial.ImportTask materialTask = new GLTFMaterial.ImportTask(gltfObject.materials, textureTask, importSettings);
    materialTask.RunSynchronously();

    Gets stuck on an infinite loop in while (en.MoveNext()) { }; not sure why, but I thought i'd let you know.

    The model i used for testing is

    but I doubt that matters

    Async works well though!
     
    Last edited: Jun 25, 2020
    Siccity likes this.
  23. TheJavierD

    TheJavierD

    Joined:
    Jan 6, 2017
    Posts:
    42
    Hey so for some strange reason, the shaders that are built in show most of this model in black:



    If i change them to standard shader they show color, what could it be?

    **** UPDATE *****

    this issue is related to tangents, if i comment out where tangents are assigned in
    GLTFMesh.ToMesh() it works properly, it also works properly if i do mesh.RecalculateTangents();
     
    Last edited: Jul 1, 2020
  24. DerrickBarra

    DerrickBarra

    Joined:
    Nov 19, 2013
    Posts:
    188
    @TheJavierD In my experience, it could be that your scene is missing a skybox cubemap that the metallic shader uses for lighting calculations. Set a cubemap to Window->Rendering->Lighting Settings->Environment Reflections for your scene. You can find free cubemaps available on the Asset Store.
     
  25. TheJavierD

    TheJavierD

    Joined:
    Jan 6, 2017
    Posts:
    42
    No that's not really the case, I have a skybox

    This other model also loads completely black, but changing to standard shader doesn't really help in this case. If i were to switch to a basic unlit shader it'd show the textures

     
  26. TheJavierD

    TheJavierD

    Joined:
    Jan 6, 2017
    Posts:
    42
    So I also have a ton of issues with models that use the transparent shader.

    This model for example:


    Is supposed to look like this:




    In general most models with transparency have issues
     
  27. Siccity

    Siccity

    Joined:
    Dec 7, 2013
    Posts:
    245
    This is because of the way Unity draws transparency. Something to do with not writing to camera depth buffer. Not much I can do about that.
     
  28. TheJavierD

    TheJavierD

    Joined:
    Jan 6, 2017
    Posts:
    42
    Thanks Siccity, do you have any idea what could be happening with the "Game Pirate adventure map" model?.

    Also, not sure you saw but I posted an update to the issues with the "Medieval fantasy book", the problem there are tangents. What could I do to fix this?

    Thanks again!
     
  29. Siccity

    Siccity

    Joined:
    Dec 7, 2013
    Posts:
    245
    Not sure. Haven't had the time to look into it. My best bet is load the gltf into unity and check its tangents with this tool https://gist.github.com/Siccity/5cbfd8dd931f03cd088df491ae24d0a8 , and compare results with another, more polished gltf importer. If they don't match, there's something wrong with my import process.
     
  30. TheJavierD

    TheJavierD

    Joined:
    Jan 6, 2017
    Posts:
    42
    Hi so I think that the tangents were probably wrong, but the thing is that it does not use a normal map so it shouldn't even try to make use of them.

    I noticed that the shaders are not paying attention to the EnableKeywords IE:
    mat.EnableKeyword("_NORMALMAP")

    So i added this
    #pragma shader_feature_local _NORMALMAP

    wrapped normal mapping in an #if _NORMALMAP and the issue with the Book is fixed.

    The issue with the pirate map remains a mystery to me.
     
    Last edited: Jul 6, 2020
  31. DerrickBarra

    DerrickBarra

    Joined:
    Nov 19, 2013
    Posts:
    188
    @Siccity : Hey Siccity, have you ever thought about being able to read a .GLTF model from a compressed .zip archive directly? I'm looking into supporting WebGL, and this is an important feature for that platform as it has limited access to the normal File IO classes.

    I noticed the Piglett .gltf plugin was able to get this working, would you be able to do the same for GLTFUtility? Piglett doesn't support animations as it's built directly on top of the main GLTF Unity plugin, so it's limited to what they've got working. Obviously GLTFUtility is quite a bit ahead so I would like to continue using it on WebGL to maintain animation support.
     
  32. TheJavierD

    TheJavierD

    Joined:
    Jan 6, 2017
    Posts:
    42
    So an update on the black models.
    The cause is that the original model is HUUUGEEE, so i have to scale it down by 3.45e-06 to make it usable.
    So it seems like this is a known unity issue, if you scale down an object too much, it will stop showing textures.

    The only possible solution as far as i know, is to rescale the models at the vertex level, I tried and it does work but when I start messing with it, skinned renderers just break.

    It would be nice if you could give me some pointers on how I could rescale them, or a potential feature you could add is to have a scale factor that we can pass in when we load a GLTF.
     
    DerrickBarra likes this.
  33. berry4u

    berry4u

    Joined:
    Dec 27, 2017
    Posts:
    30
    Hi siccity
    congrats for this very interesting library.
    I noticed a function named LoadFromBytes(..).
    Is that intended to load models from a generic byte array in order to use it for example by model streaming?

    While here, just another question. Importing meshes I notice a weird rendering of simple surfaces i.e. walls near mesh edges appearing bumped. I think it is due to some issue in calculation of normals. could you investigate about it?
    (I attach a sample .glb file of a little house. It is correctly imported in other gltf tools but walls but appears bumped here).

    Thank you
     

    Attached Files:

    Last edited: Jul 18, 2020
  34. berry4u

    berry4u

    Joined:
    Dec 27, 2017
    Posts:
    30
    Just updated on GitHub with some progress..
     
  35. DirtyFred

    DirtyFred

    Joined:
    May 17, 2014
    Posts:
    8
    Hi,

    Thank you for the hard work and support.

    I would like to use this GLTF importer, but it doesnt seem to work for me, here is my code:

    Code (CSharp):
    1. using System.Collections;
    2. using System.Collections.Generic;
    3. using UnityEngine;
    4. using Siccity.GLTFUtility;
    5.  
    6. public class MyImporter : MonoBehaviour
    7. {
    8.     public string path;
    9.  
    10.     [ContextMenu("ImportTest")]
    11.     private void ImportTest()
    12.     {
    13.         ImportGLTF(path);
    14.     }
    15.  
    16.  
    17.     [ContextMenu("AsyncImportTest")]
    18.     private void AsyncImportTest()
    19.     {
    20.         ImportGLTFAsync(path);
    21.     }
    22.  
    23.  
    24.     void ImportGLTF(string filepath)
    25.     {
    26.         GameObject result = Importer.LoadFromFile(filepath);
    27.     }
    28.  
    29.     void ImportGLTFAsync(string filepath)
    30.     {
    31.         Importer.ImportGLTFAsync(filepath, new ImportSettings(), OnFinishAsync);
    32.     }
    33.  
    34.     void OnFinishAsync(GameObject result, AnimationClip[] animationClip)
    35.     {
    36.         Debug.Log("Finished importing " + result.name);
    37.     }
    38. }
    39.  
    And i get these error messages:
    JsonReaderException: Additional text encountered after finished reading JSON content: �. Path '', line 26440, position 1.

    JsonReaderException: Unexpected character encountered while parsing value: g. Path '', line 0, position 0.

    Can you tell me what i am doing wrong? Thank you
     
  36. Thimo_

    Thimo_

    Joined:
    Aug 26, 2019
    Posts:
    39
    @Siccity ,

    I'm wondering what the differences are currently between UnityGLTF and GLTFUtility. UnityGLTF didn't have a new release for over a year now. What features does GLTFUtility have that UnityGLTF has not and what features is GLTFUtility currently missing that UnityGLTF does have?
     
  37. TheJavierD

    TheJavierD

    Joined:
    Jan 6, 2017
    Posts:
    42
    Sadly it appears like this project might be getting abandoned. It is pretty cool, I hope i'm wrong.
     
  38. Thimo_

    Thimo_

    Joined:
    Aug 26, 2019
    Posts:
    39
    I hope not. That would mean that there is no GLTF project in active development for Unity...
     
  39. TheJavierD

    TheJavierD

    Joined:
    Jan 6, 2017
    Posts:
    42
    In my opinion this library needs 3 things

    1) Fix the animations, linear interpolation is broken
    2) allow us to specify a scale factor when loading a model, so giant models don't appear black when scaled down.
    3) Improve load times.
     
    Last edited: Aug 14, 2020
    Thimo_ likes this.
  40. DerrickBarra

    DerrickBarra

    Joined:
    Nov 19, 2013
    Posts:
    188
    @Siccity Hi Siccity, I'm working on getting GLTFUtility to play nice with high stripping level settings with IL2CPP scripting backend. I'm specifically targeting WebGL but this finding might impact iOS and Android publishing targets as well.

    So anyway, at least on WebGL when IL2CPP has stripping level set to 'Medium' or 'High', models load in but with incorrect rotation. This doesn't occur when stripping is off or set to 'Low'.

    I'm debugging to try to figure out what is being removed from the build, and I've already set all of GLTFUtility to be preserved using the [Preserve] attribute and link.xml files. But the issue remains. So I'm guessing the problem might be in the JsonDotNet dependency.

    Have you seen anything like this?
     
  41. TheJavierD

    TheJavierD

    Joined:
    Jan 6, 2017
    Posts:
    42
    I've run into wrong rotations before, but i'm not exactly sure it's the same issue.

    This model loads wrong for me
     
  42. karadjordje

    karadjordje

    Joined:
    Dec 19, 2016
    Posts:
    1
    Hi,
    I'm not sure if this was asked before, but after loading, instantiating and destroying objects, I observed memory, and it seems that there is memory leak related to this. The problem is that I need dozens of models in my app and when memory reaches critical point it just crashes app. The same goes for iOS and Android (less memory is used here, though).
    When I updated to latest version, problem remained.
    Please help!
     
  43. MidnightCoffeeInc

    MidnightCoffeeInc

    Joined:
    Feb 28, 2017
    Posts:
    107
    Was planning on using this for my project. Really was hoping for Scriptable Render Pipeline (URP/HDRP) support. Looks like it was abandoned :(
     
  44. Siccity

    Siccity

    Joined:
    Dec 7, 2013
    Posts:
    245
    Having to support not one but four different rendering pipelines is an absolute chore to be honest... You can thank Unity for making them incompatible.

    As for the project being abandoned, I've just been very busy this summer. I still manage pull requests and minor changes, but I can't say for sure when I'll be back for good.
     
  45. Siccity

    Siccity

    Joined:
    Dec 7, 2013
    Posts:
    245
    I added a first draft to URP support. Not sure if the shaders are right. If something's wrong with them please correct and send me a PR.
     
  46. jhocking

    jhocking

    Joined:
    Nov 21, 2009
    Posts:
    792
    I for one am very grateful for you making this package, since GLTF is already the main file format on Sketchfab.
     
  47. jhocking-bundlar

    jhocking-bundlar

    Joined:
    Nov 12, 2019
    Posts:
    24
    (same person as the previous post; this is my work account)

    I just encountered a problem involving the shaders in GLTFUtility. I'm still investigating more so I can't rule out yet that I'm simply doing something wrong, but I have a bunch of glb models that have a distinct purple tinge and I'm wondering if you have any idea why?

    The color looks like the magenta when a shader is broken, only they aren't a flat magenta but rather it looks like the material has a magenta tinge in addition to the texture (which is still showing) and shading.

    Incidentally, this issue is only happening when I load the model at runtime with Siccity.GLTFUtility.Importer.LoadFromFile. The magenta color isn't there when I import the model in the editor.
     
    Last edited: Sep 14, 2020
  48. Siccity

    Siccity

    Joined:
    Dec 7, 2013
    Posts:
    245
    Not sure. Perhaps one of the textures are loading incorrectly?
     
  49. Perridot

    Perridot

    Joined:
    Jan 15, 2018
    Posts:
    4
    Hey, I'm getting the same issue with my project for multiple models. Was a solution to this found?
     
  50. jhocking-bundlar

    jhocking-bundlar

    Joined:
    Nov 12, 2019
    Posts:
    24
    I just encountered a model that isn't loading correctly in GLTFUtility, even though it does load correctly in other places.

    Here's discovery_space_shuttle.glb, a model of the space shuttle Discovery (I'll probably delete this link eventually, but in like a month)
    https://drive.google.com/file/d/12EvRKvS_qPQ4JCzpaHcjES3Bshth1k_l/view?usp=sharing

    That looks correct in both a website with three.js, and with this GLTF viewer:
    https://gltf-viewer.donmccurdy.com/

    but in Unity using GLTFUtility it's just a blob of random polygons, halp!

    Incidentally, this issue just kinda randomly went away in the intervening time period (I had to set aside that project for a while and just got back to it) so ¯\_(ツ)_/¯


    EDIT: I don't know if you specifically fixed my bugged model or if that just happened to get fixed alongside other work you were doing, but I just happened to test again and now that model loads correctly. Thanks!

    This is the one commit between now and my original post, so I assume the problem was that the model had lightmap UVs which the loader was choking on:
    https://github.com/Siccity/GLTFUtility/commit/695ab4d350fc1865d88ade168ed02c8b899334ad
     
    Last edited: Nov 12, 2020
unityunity