• MentalEdge
    link
    fedilink
    16 days ago

    Isnt this a mostly solved problem? (Not in Godot, but so far as such a format existing)

    A lot of stuff works with USD.

  • poVoq
    link
    fedilink
    109 days ago

    There have been so many attempts of that over the years…

    • ZephyrXero
      link
      English
      9
      edit-2
      8 days ago

      Once upon a time there was Collada. But now it seems like USD is the open format gaining traction.

      Blender already has support, they just need to add USD support to Godot now. And someone’s already made a plugin so you can already import them today (in theory, I haven’t used it yet)

      • MarsOP
        link
        fedilink
        18 days ago

        From the proposal:

        USD is not ‘just a 3d format’. Its scope is far bigger and more comparable to an entire game-engine project rather than a single asset. It can make use of FBX files, and it could make use of this proposed format in the same way. USD does not replace FBX, or any other file format like that, and it’s very complex.

        I don’t want to bash on USD, but its use is mostly in the VFX world, which vastly differs from game-dev.

        Also, last month, I tried to get a model from Blender 4.2 to Unity 2022 in USD. It omitted the main armature. I quadruple checked all settings^^

        That Godot plugin you linked uses Blender to import USD files to convert them to glTF 2.0, which then will actually get imported in Godot.

        Collada has been deprecated in Blender.

        • @Adalast
          link
          16 days ago

          What you said is patently wrong.

          As someone who works with USD daily digging through the bowels of the code and working with the format at a root level, it is 100% something that gaming should (and is) adopting. The Godot team would be frankly stupid not to put full native USD support as a high priority. The ability to store rigs, transform animation, and easily encapsulated asset variations alone makes the format godly. It is also very clean in how it manages asset linking and scenegraphs which makes traversal a breeze to encode. Also, it makes an DCC agnostic format which allows game developers to engage with freelance artists and not care what they use. Houdini, Blender, Maya, C4D, and any future DCC are going to be able to export to it. Hell, Houdini (my preferred DCC) has an entire context dedicated exclusively to working with, rendering, and exporting USD format.

        • MentalEdge
          link
          fedilink
          1
          edit-2
          6 days ago

          Its scope is far bigger and more comparable to an entire game-engine project rather than a single asset.

          I would have thought that applied to ANY universal 3D format. For everything you might want to work, to work, the feature-set that must be implemented is truly mind-boggling.

          I can’t imagine a format only supporting a subset of what USD does, ever becoming universal.

  • @[email protected]
    link
    fedilink
    79 days ago

    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.

    • MarsOP
      link
      fedilink
      138 days 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.

      • @very_well_lost
        link
        English
        98 days ago

        This is the correct take. Game devs have been creating game-optimized models using the same tools as other 3d artists for decades.

    • @Kelly
      link
      English
      98 days ago

      I feel like the blender and Godot communities should have enough overlap to provide a steady stream of documentation and tutorials.

      I would love to see a tutorial showing a minimal game built from the ground up including modeling, texturing, and animating models in Blender then transferring them to Godot and building the game. Instead people seem to focus on one app or the other and hand wave away the details of the transfer.

  • @PetteriPano
    link
    48 days ago

    I haven’t been following the lay of the land for the last 20 years, but it was the same problem then. Some things don’t change.

    3d studio max was the big player. .3ds was proprietary, binary and undocumented. They had an ASCII export, but it was bugged. The guys at moppi had an improved ASCII export plugin that solved those issues.

    Collada was just around the corner, but seemed quite over-engineered.

  • flaeky pancako
    link
    fedilink
    28 days ago

    @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?

    • MarsOP
      link
      fedilink
      18 days 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.