• jlow (he/him) ( jlow@beehaw.org ) 
    link
    fedilink
    arrow-up
    16
    ·
    2 years ago

    Ah, so it’s (mostly?) about animation? Because from my very limited unprofessional tinkering I was blown away how amazing just throwing a .blend file into Godot works (as opposed to eg in Unity)

    • Mars ( emperorofmars@pawb.social ) OP
      link
      fedilink
      arrow-up
      3
      ·
      2 years ago

      Behind the scenes, Godot uses Blender to export your ‘.blend’ file into glTF 2.0. It doesn’t support keyframe tangents, animating anything beyond transforms and blendshapes. Among many many other issues if you look at glTF in an interchange context. I’ve written that down in way more detail here: https://gist.github.com/emperorofmars/d8abf0f4b9bd5434f9543511b243a254

      In Blender, right now, you can’t export animations that target anything other than transforms. (I am aware of the two hacks to allow you to also export blendshape animations). Blender 4.4 will get a new animation system, which fixes that part. But you still can’t export your animations properly, it will force bake them.

      Way more than animations go into 3d assets, it’s just the most broken part right now. An extension system would be rather nice, or a material system that doesn’t hard define a small set of properties^^

      • jlow (he/him) ( jlow@beehaw.org ) 
        link
        fedilink
        arrow-up
        2
        ·
        2 years ago

        Ah, didn’t know it converted to gltf, interesting. Yeah, bit it looks like we could really use a file format that is designed to translate between 3d program s and game engines …

      • Can 3D substitution* animation be exported from Blender? This isn’t easy to search, though what I could find seems like importing animations in general needs more clicks than expected. Even better would be a workflow with greasepencil and geometry nodes (though searching w/Godot leads to a paid tool), especially if that can also be used for vertex colors.

        I have my doubts here as the first thing I tried (a custom shader with a 2nd vertex color map hooked up to glow) didn’t work. Though I’m not sure if that was an issue with gltf, Blender, Godot, how I exported it, or something else.

        *= Switching visibility to another model rather than using deformation or texturing. If this does not export easily, I guess it’d be easy enough to manually do with Godot’s animation player so long as there aren’t too many frames/animations/states.

  • I feel like the problem is Blender and Godot have different needs when it come to models. Godot is real time and blender is slow but far more capable in what it produces. It would be extremely difficult to make a new format that can handle both use cases. I think what we really need is a “best modeling practices guide” for godot/gamedev. My biggest issue when I never know what will work and what doesn’t. I don’t think we need a new format just more documentation and guides for modeling in blender for gamedev.

    • Mars ( emperorofmars@pawb.social ) OP
      link
      fedilink
      arrow-up
      9
      ·
      2 years ago

      You can’t create 3d models in Godot. (To be pedantic you can, but it’s not made for that)

      Blender can perfectly produce models intended for real time rendering. It also has the Eevee renderer^^ Whether a 3d file stores 10k or 10M vertices doesn’t matter. It’s on you, the asset creator, to know the requirements of your project/customer/employer. Blender, or any other tool, should not impose any artificial restriction on that.

      The model made in Blender should arrive in Godot without having lost any data that both tools do support perfectly. The thing that holds the model while it goes from one to the other, either looses half the work, or Blender itself refuses to put in big parts of your work, because they weren’t able to fully and correctly reverse engineer FBX.

      I’m not faulting Blender developers for the reverse engineering, I’m arguing for a format that does the basics right, isn’t proprietary, and hopefully extensible.

  • @emperorofmars to me the biggest problem with gltf is its extensibility cannot actually be easily used without heavy export/import work per extension.

    was reading about your stf endeavor … would it be possible to abuse the 3d format further by embedding extensions in the file itself?

    • Mars ( emperorofmars@pawb.social ) OP
      link
      fedilink
      arrow-up
      1
      ·
      2 years ago

      Yes, so much yes on the first part! Want to implement the simplest thing in UnityGLTF? You have to fork it, and force all your users to use your very special fork.

      I assume you mean my ‘nna’ project with the second part? That serializes data into the node-names of the model’s hierarchy. It is as stupid as it sounds, but it works reliably, and I don’t need to modify any exporter/importer. The data is part of the file itself.

      If you wanted to embed data into a format more legitimately, you would have to modify its exporter/importer, and the format would have to support extensions in the first place.